Hi Adam,
I've since tried the 1.0.2-SNAPSHOT version and the problem is still there. In the mean time I'm running garbage collection periodically to mop up the unwanted file descriptors

"Check modification" is false and I'm pretty sure we don't have any debug flags on. The application is running on Tomcat 5.5 on Linux. I'm not sure whether it's relevant but the trinidad jars are in Tomcat's shared directory (shared/lib).

I've recently moved a skin (including images) to a shared jar file which is also producing open file descriptors. The images are accessed through the Trinidad's ResourceServlet. Could it be the ResourceServlet that's causing the problem?

Let me know if there's anything else I can do.

Thanks,

Steve

Adam Winer wrote:
Yeah, it was before 1.0.2.  The big problem was calls
to java.net.URLConnection.lastModified() that didn't
close the input stream.  (Bizarrely, an input stream
gets opened on the File just to retrieve lastModified
when you go through java.net.URL, at least for
a typical JAR URLConnection implementation.)

I'm not aware of a second cause for file descriptors
to be created on the impl JAR - or if, perhaps, some
servers have problematic URLConnection implementations
that lead to file descriptor leaks.  So, I could use (a lot of)
help tracking down why there's still a problem here.

BTW, do you have any debug or "check modification"
flags set in web.xml or trinidad-config.xml?

-- Adam


On 9/11/07, Matthias Wessendorf <[EMAIL PROTECTED]> wrote:
the commit by Adam, was before we released 1.0.2, as far as I know.

Greetings,
Matthias

On 9/11/07, Steve <[EMAIL PROTECTED]> wrote:
Hi,
Yes I'm using the 1.0.2 release. I've just had a look at the thread you
mentioned:

http://www.mail-archive.com/[email protected]/msg39055.html

So is this fixed in the latest SNAPSHOT?

Cheers,

Steve

Matthias Wessendorf wrote:
Hi,

we had something, mentioned with a SNAPSHOT of 1.0.2.
Adam fixed something related to this. My guess is, you are using the
release, isn't it ?

Peter, is this still an issue for you guys ?

Thanks!
Matthias

On 9/11/07, Steve <[EMAIL PROTECTED]> wrote:

I've been getting the following exception:

java.net.SocketException: Too many open files

on a Tomcat server running on Linux. I ran lsof - p <tomcat_pid> to see
what was going on and it seems that the trinidad jar file is being
opened far too many times:

.....
java    3693 tomcat 1004r   REG        3,5  3646899 5359580 
/usr/local/tomcat/shared/lib/trinidad-impl-1.0.2.jar
java    3693 tomcat 1005r   REG        3,5  3646899 5359580 
/usr/local/tomcat/shared/lib/trinidad-impl-1.0.2.jar
java    3693 tomcat 1006r   REG        3,5  3646899 5359580 
/usr/local/tomcat/shared/lib/trinidad-impl-1.0.2.jar
java    3693 tomcat 1007r   REG        3,5  3646899 5359580 
/usr/local/tomcat/shared/lib/trinidad-impl-1.0.2.jar
java    3693 tomcat 1008r   REG        3,5  3646899 5359580 
/usr/local/tomcat/shared/lib/trinidad-impl-1.0.2.jar
java    3693 tomcat 1009r   REG        3,5  3646899 5359580 
/usr/local/tomcat/shared/lib/trinidad-impl-1.0.2.jar



There seem to be around a 1000 file descriptors open for the trinidad
jar before the exception gets thrown. It's referenced much earlier in
the list along with other jars:

...
java    3693 tomcat  mem    REG        3,5    24432 5360898 
/usr/local/tomcat/shared/lib/el-api-1.0.jar
java    3693 tomcat  mem    REG        3,5  3646899 5359580 
/usr/local/tomcat/shared/lib/trinidad-impl-1.0.2.jar
java    3693 tomcat  mem    REG        3,5  1279296 5360913 
/usr/local/tomcat/shared/lib/tomahawk-1.1.3.jar
...



Does anyone know why the trinidad jar would be opened so many times?

Thanks,

Steve



--
Matthias Wessendorf

further stuff:
blog: http://matthiaswessendorf.wordpress.com/
mail: matzew-at-apache-dot-org


Reply via email to