Every since I updated Openfire from 3.7.1 to 3.8.2 a couple weeks, I have had an issue with Openfire leaking file descriptors over time. I have to restart the service every 3-4 days it seems or it stops functioning as it hits the 1024 file limit on open file descriptors. This is on an Ubuntu 8.10 server with the following install of Java:
java version "1.6.0_14"
Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16, mixed mode)
Running lsof against the running process for Openfire reveals many lines like the following:
java | 9292 openfire 1013u IPv6 | 26142468 | TCP example.com:5369 (LISTEN) |
java | 9292 openfire 1014u IPv6 | 25781341 | UDP example.com:5358 |
java | 9292 openfire 1016u IPv6 | 25787324 | UDP example.com:5359 |
java | 9292 openfire 1017u IPv6 | 26206580 | TCP example.com:5372 (LISTEN) |
java | 9292 openfire 1019u IPv6 | 25811610 | UDP example.com:5361 |
java | 9292 openfire 1021u IPv6 | 25864846 | TCP example.com:5364 (LISTEN) |
java | 9292 openfire 1022u IPv6 | 25858168 | UDP example.com:5363 |
At that point, everything starts failing until Openfire is restarted.