These files should at most get locked once, and only at
startup, and the first GC should flush them...  Are you
really seeing repeated locks on these files?  Could
you show your web.xml?

-- Adam



On 6/29/07, Fleischer Peter <[EMAIL PROTECTED]> wrote:


Hi Adam,

yesterday Matthias sent me a 1.0.2-SNAPSHOT (tanks again!). I did some
further testing with Tomcat and having the antiJarLocking option set to true
in the the context.xml. With these settings I think I was able to track down
the problem to a list of filenames as follows:


java    12738 tomcat   65r  VREG         85,40    26783  270804
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/adf/styles/cache/fmg-desktop-1745436599-ie-6-cmp.css
java    12738 tomcat   66r  VREG         85,40     2961 2719345
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/CharSets.js
java    12738 tomcat   67r  VREG         85,40    18937 2719361
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/CoreFormat.js
java    12738 tomcat   68r  VREG         85,40     3292 2719346
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/DateField.js
java    12738 tomcat   69r  VREG         85,40      365 2719356
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/DateFieldFormat.js
java    12738 tomcat   70r  VREG         85,40    12361 2719350
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/DateFormat.js
java    12738 tomcat   71r  VREG         85,40    10945 2719358
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Locale.js
java    12738 tomcat   72r  VREG         85,40    44505 2719364
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Core.js
java    12738 tomcat   73r  VREG         85,40     4944 2719342
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Window.js
java    12738 tomcat   74r  VREG         85,40     3267 2719355
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/TableProxy.js
java    12738 tomcat   75r  VREG         85,40     1021 2719259
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Poll.js
java    12738 tomcat   76r  VREG         85,40     2918 2719348
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/ColorField.js
java    12738 tomcat   77r  VREG         85,40      391 2719357
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/ColorFieldFormat.js
java    12738 tomcat   78r  VREG         85,40     5857 2719351
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/ColorFormat.js
java    12738 tomcat   79r  VREG         85,40    18382 2719353
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Shuttle.js
java    12738 tomcat   80r  VREG         85,40     4648 2719363
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Page.js
java    12738 tomcat   81r  VREG         85,40      639 2719362
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/StatusIndicator.js
java    12738 tomcat   82r  VREG         85,40    10520 2791503
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/xhr/RequestQueue.js
java    12738 tomcat   83r  VREG         85,40     2041 2791500
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/xhr/XMLRequest.js
java    12738 tomcat   84r  VREG         85,40     1630 2791501
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/xhr/XMLRequestEvent.js
java    12738 tomcat   85r  VREG         85,40     1594 2791502
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/xhr/IFrameXMLRequestEvent.js
java    12738 tomcat   86r  VREG         85,40       86 2653467
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/images/t.gif
java    12738 tomcat   87r  VREG         85,40       86 2653467
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/images/t.gif
java    12738 tomcat   88r  VREG         85,40       86 2653467
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/images/t.gif
java    12738 tomcat   90r  VREG         85,40    26783  270804
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/adf/styles/cache/fmg-desktop-1745436599-ie-6-cmp.css
java    12738 tomcat   91r  VREG         85,40    26783  270804
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/adf/styles/cache/fmg-desktop-1745436599-ie-6-cmp.css
java    12738 tomcat   92r  VREG         85,40     2961 2719345
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/CharSets.js
java    12738 tomcat   93r  VREG         85,40    18937 2719361
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/CoreFormat.js
java    12738 tomcat   94r  VREG         85,40     3292 2719346
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/DateField.js
java    12738 tomcat   95r  VREG         85,40      365 2719356
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/DateFieldFormat.js
java    12738 tomcat   96r  VREG         85,40    12361 2719350
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/DateFormat.js
java    12738 tomcat   97r  VREG         85,40    10945 2719358
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Locale.js
java    12738 tomcat   98r  VREG         85,40    44505 2719364
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Core.js
java    12738 tomcat   99r  VREG         85,40     4944 2719342
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Window.js
java    12738 tomcat  100r  VREG         85,40     3267 2719355
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/TableProxy.js
java    12738 tomcat  101r  VREG         85,40     1021 2719259
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Poll.js
java    12738 tomcat  102r  VREG         85,40     2918 2719348
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/ColorField.js
java    12738 tomcat  103r  VREG         85,40      391 2719357
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/ColorFieldFormat.js
java    12738 tomcat  104r  VREG         85,40     5857 2719351
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/ColorFormat.js
java    12738 tomcat  105r  VREG         85,40    18382 2719353
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Shuttle.js
java    12738 tomcat  106r  VREG         85,40     4648 2719363
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Page.js
java    12738 tomcat  107r  VREG         85,40      639 2719362
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/StatusIndicator.js
java    12738 tomcat  108r  VREG         85,40    10520 2791503
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/xhr/RequestQueue.js
java    12738 tomcat  109r  VREG         85,40     2041 2791500
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/xhr/XMLRequest.js
java    12738 tomcat  110r  VREG         85,40     1630 2791501
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/xhr/XMLRequestEvent.js
java    12738 tomcat  111r  VREG         85,40     1594 2791502
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/xhr/IFrameXMLRequestEvent.js
java    12738 tomcat  112r  VREG         85,40     2961 2719345
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/CharSets.js
java    12738 tomcat  113r  VREG         85,40    18937 2719361
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/CoreFormat.js
java    12738 tomcat  114r  VREG         85,40     3292 2719346
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/DateField.js
java    12738 tomcat  115r  VREG         85,40      365 2719356
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/DateFieldFormat.js
java    12738 tomcat  116r  VREG         85,40    12361 2719350
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/DateFormat.js
java    12738 tomcat  117r  VREG         85,40    10945 2719358
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Locale.js
java    12738 tomcat  118r  VREG         85,40    44505 2719364
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Core.js
java    12738 tomcat  119r  VREG         85,40     4944 2719342
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Window.js
java    12738 tomcat  120r  VREG         85,40     3267 2719355
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/TableProxy.js
java    12738 tomcat  121r  VREG         85,40     1021 2719259
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Poll.js
java    12738 tomcat  122r  VREG         85,40     2918 2719348
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/ColorField.js
java    12738 tomcat  123r  VREG         85,40      391 2719357
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/ColorFieldFormat.js
java    12738 tomcat  124r  VREG         85,40     5857 2719351
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/ColorFormat.js
java    12738 tomcat  125r  VREG         85,40    18382 2719353
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Shuttle.js
java    12738 tomcat  126r  VREG         85,40     4648 2719363
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/Page.js
java    12738 tomcat  127r  VREG         85,40      639 2719362
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/StatusIndicator.js
java    12738 tomcat  128r  VREG         85,40    10520 2791503
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/xhr/RequestQueue.js
java    12738 tomcat  129r  VREG         85,40     2041 2791500
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/xhr/XMLRequest.js
java    12738 tomcat  130r  VREG         85,40     1630 2791501
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/xhr/XMLRequestEvent.js
java    12738 tomcat  131r  VREG         85,40     1594 2791502
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/jsLibs/xhr/IFrameXMLRequestEvent.js
java    12738 tomcat  133r  VREG         85,40      286 2653419
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/images/list-bullet.gif
java    12738 tomcat  134r  VREG         85,40      417 2653475
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/images/siready.gif
java    12738 tomcat  135r  VREG         85,40      781 2653474
/home/tomcat/CATALINA_BASE/work/Catalina/localhost/weasel/loader/META-INF/adf/images/sibusy.gif


This was tested with clearing the browser cache in before doing any requests
to my application and navigating around a little bit. Repeating this test
with a second browser (also clean cache) duplicated the count of open files.

For now we manually do a GC in our application every 5 minutes to alleviate
the problem but this is certainly only a quick&dirty solution.

Peter


-----Ursprüngliche Nachricht-----
Von: Adam Winer [mailto:[EMAIL PROTECTED]
Gesendet: Donnerstag, 21. Juni 2007 23:29

An: MyFaces Discussion
Betreff: Re: [Trinidad] Causing Too many open files error?


On 6/21/07, Simon Lessard <[EMAIL PROTECTED]> wrote:
> Hmmm, I assume this is used mainly to detect skin files' version?



It's used in a bunch of places to detect modification - skin
files, ResourceServlet, jsp modifications, etc.
I've checked in a fix that should resolve this,
but I'm not 100% sure.  I've mostly been looking at
the calls to FileInputStream.finalize() - there were a
lot coming in that had still-open FileDescriptors.
I'd appreciate further testing.


It'd be worthwhile to look at optimizing further to block
any attempt to call getLastModified() on a JAR, but
for now I'm hoping it'll be enough to close up all URLConnections.
In a bit of googling, it'd seem that this has bitten a lot
of developers.


-- Adam








> Maybe we could create a kind of ResourceDescriptor file that would include
two URLs, the real one and the container file's (the .jar URL for instance,
but would be the same as the real URL most of the time). The getLastModified
method of the ResourceDescriptor could then use that second URL for purpose
of modification checks, theorically preventing the JVM from opening the JAR
file.
>
>
> Regards,
>
> ~ Simon
>
>
>
> On 6/21/07, Adam Winer < [EMAIL PROTECTED]> wrote:
> > I think I've found the problem - Trinidad calls
> > URLConnection.getLastModified() in a number
> > of places.  If that's pointing at an URL from
> > inside a JAR, this will implicitly open the
> > JAR file, and not release the file until GC.
> > Looking at solutions now.
> >
> >
> > -- Adam
> >
> >
> >
> >
> > On 6/21/07, Fleischer Peter
<[EMAIL PROTECTED]> wrote:
> > >
> > >
> > > The problem is reproducable. After restarting tomcat and some requests
to my application the jar file will again be opened multiple times. Every
(initial?) request to a page increases the number. Eventually after some
time the files are garbage collected.
> > >
> > > Peter
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Scott O'Bryan [mailto:[EMAIL PROTECTED]
> > > Gesendet: Donnerstag, 21. Juni 2007 00:29
> > > An: MyFaces Discussion
> > > Betreff: Re: [Trinidad] Causing Too many open files error?
> > >
> > >
> > > I saw this as well using Oracle JDeveloper so I agree that I don't
think this is a Tomcat issue.  I'm not sure what might be causing this
though because I shut down my webserver and restarted it and everything has
been working fine since.
> > >
> > > What happens when you restart tomcat?
> > >
> > > Scott
> > >
> > >
> > > On 6/20/07, Fleischer Peter
<[EMAIL PROTECTED] > wrote:
> > > > Hello,
> > > >
> > > > we are developing a quite simple application based on MyFaces,
Trinidad and Facelets. After deploying this application to a Tomcat 5.5.23
and using the application for a while we are facing connection errors in
Tomcat caused by too many open files.
> > > >
> > > > Checking the running Tomcat process with lsof (list open files) we
discovered, that  <application>/WEB-INF/lib/trinidad-
impl-1.0.1-incubating-SNAPSHOT.jar was open for about 300
times. The number rises with every request. At some time eventually a
garbage collection closes all these files.
> > > >
> > > > I don't think this is a Tomcat error, because this jar is the only
jar file opened so many times. Perhaps some Trinidad code fails to close a
file? Is this a known issue?
> > > >
> > > > Many thanks in advance.
> > > >
> > > > Peter Fleischer
> > > >
> > > >
_____________________________________________________________
> > > >
> > > > Munich Airport International
> > > > Flughafen München GmbH
> > > > Peter Fleischer
> > > > ITED Competence Center Application Development
> > > > Support Division Information Technology
> > > > P. O. Box  23 17 55
> > > > 85326 München
> > > > Phone: +49 89 975-3 24 30
> > > > Fax: +49 89 975-3 24 06
> > > > <mailto:[EMAIL PROTECTED] .de >
> > > >
> > > > Vorsitzender des Aufsichtsrats: - Chairman of the Supervisory Board:
> > > > Staatsminister Prof. Dr. Kurt Faltlhauser
> > > > Geschäftsführung: - Executive Board:
> > > > Dr. Michael Kerkloh, Walter Vill und Peter Trautmann
> > > > Handelsregister: - Commercial Register: RG München, HR-Nr. B 5448
> > > > Sitz der Gesellschaft: - Registered Office: München
> > > >
_____________________________________________________________
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Reply via email to