myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Winer" <awi...@gmail.com>
Subject Re: [Trinidad] Causing Too many open files error?
Date Tue, 03 Jul 2007 23:03:49 GMT
I'm not reproducing a problem.  At the very
minimum, in FileInputStream.finalize(), fd.handle always
seems to be -1 now, whereas it used to be still set
a lot before.  Admittedly I'm not using Tomcat,
antiJarLocking or no antiJarLocking.

Is it possible that Matthias gave you a snapshot before
the fix landed?

-- Adam



On 7/2/07, Adam Winer <awiner@gmail.com> wrote:
> Thanks - everything in web.xml seems as it should be.
> Back to the code for me...
>
> -- Adam
>
>
>
> On 7/1/07, Fleischer Peter <peter.fleischer@munich-airport.de> wrote:
> > Hi Adam,
> >
> > there are a lot of open files just after deployment of the application. That's right.
And also these files are closed by first GC. But the files listed in my last post are really
opened repeatedly and I see more and more of them with every open browser session. The .js
files seem to be cached in the browser so the open files are not duplicated every time. But
by doing a browser refresh I can increase the number of open files by about 30.
> >
> > This is using Tomcat 5.5.23 running with Sun's Java VM 1.5.0_08. This is my web.xml:
> >
> > -------------- SNIP --------------------
> > <?xml version="1.0" encoding="ISO-8859-1"?>
> > <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
> >
> >     <description>Webapplication for Sequence Planning</description>
> >     <display-name>Weasel</display-name>
> >
> >     <context-param>
> >         <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
> >         <param-value>true</param-value>
> >     </context-param>
> >
> >     <context-param>
> >         <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
> >         <param-value>true</param-value>
> >     </context-param>
> >
> >     <context-param>
> >         <description>
> >             Use client-side state saving. In Trinidad, it is an
> >             optimized, token-based mechanism that is almost always a
> >             better choice than the standard JSF server-side state saving.
> >         </description>
> >         <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
> >         <param-value>client</param-value>
> >     </context-param>
> >
> >     <context-param>
> >         <description>
> >             Konfiguration faces-config.xml in mehrere Dateien aufgeteilt.
> >         </description>
> >         <param-name>javax.faces.CONFIG_FILES</param-name>
> >         <param-value>/WEB-INF/beans.xml,/WEB-INF/navigation.xml</param-value>
> >     </context-param>
> >
> >     <context-param>
> >         <description>
> >             ADF Faces also supports an optimized strategy for caching some
> >             view state at an application level, which significantly improves
> >             scalability.  However, it makes it harder to develop (updates to
> >             pages will not be noticed until the server is restarted), and in
> >             some rare cases cannot be used for some pages (see ADF Faces
> >             documentation for more information).
> >         </description>
> >         <param-name>org.apache.myfaces.trinidad.USE_APPLICATION_VIEW_CACHE</param-name>
> >         <param-value>true</param-value>
> >     </context-param>
> >
> >     <context-param>
> >         <description>
> >             If this parameter is enabled, ADF Faces will automatically
> >             check the modification date of your JSPs, and discard saved
> >             state when they change;  this makes development easier,
> >             but adds overhead that should be avoided when your application
> >             is deployed.
> >         </description>
> >         <param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION</param-name>
> >         <param-value>false</param-value>
> >     </context-param>
> >
> >     <context-param>
> >         <description>
> >             Enables Change Persistence at a session scope.  By default,
> >             Change Persistence is entirely disabled. The ChangeManager is
> >             an API, which can persist component modifications (like,
> >             is a showDetail or tree expanded or collapsed). For providing
> >             a custom Change Persistence implementation inherit from the
> >             ADF Faces API's ChangeManager class. As the value you have
> >             to use the fullqualified class name.
> >         </description>
> >         <param-name>org.apache.myfaces.trinidad.CHANGE_PERSISTENCE</param-name>
> >         <param-value>session</param-value>
> >     </context-param>
> >
> >     <context-param>
> >         <description>
> >             Über den AlternateViewHandler wird Facelets als ViewHandler in die
> >             Verkettung der ViewHandler mit aufgenommen.
> >         </description>
> >         <param-name>org.apache.myfaces.trinidad.ALTERNATE_VIEW_HANDLER</param-name>
> >         <param-value>com.sun.facelets.FaceletViewHandler</param-value>
> >     </context-param>
> >
> >     <context-param>
> >         <description>
> >             Use Documents Saved as *.xhtml.
> >         </description>
> >         <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
> >         <param-value>.xhtml</param-value>
> >     </context-param>
> >
> >     <context-param>
> >         <description>
> >             Special Facelets Debug Output for Development.
> >         </description>
> >         <param-name>facelets.DEVELOPMENT</param-name>
> >         <param-value>false</param-value>
> >     </context-param>
> >
> >
> >     <context-param>
> >         <param-name>automaticDataPoller.timeoutSeconds</param-name>
> >         <param-value>60</param-value>
> >     </context-param>
> >     <filter>
> >         <filter-name>trinidad</filter-name>
> >         <filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter</filter-class>
> >     </filter>
> >
> >     <filter-mapping>
> >         <filter-name>trinidad</filter-name>
> >         <servlet-name>faces</servlet-name>
> >         <dispatcher>REQUEST</dispatcher>
> >         <dispatcher>ERROR</dispatcher>
> >     </filter-mapping>
> >
> >     <!-- Faces Servlet -->
> >     <listener>
> >         <description>Regelmäßige DB-Selects.</description>
> >         <listener-class>fmg.lf14.weasel.AutomaticDataPoller</listener-class>
> >     </listener>
> >     <servlet>
> >         <description>Faces Servlet</description>
> >         <servlet-name>faces</servlet-name>
> >         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
> >     </servlet>
> >
> >     <!-- resource loader servlet -->
> >     <servlet>
> >         <description>Resource Loader servlet für Trinidad.</description>
> >         <servlet-name>resources</servlet-name>
> >         <servlet-class>org.apache.myfaces.trinidad.webapp.ResourceServlet</servlet-class>
> >     </servlet>
> >
> >     <servlet>
> >         <description>Resource Loader servlet für FMG Ressourcen.</description>
> >         <servlet-name>FMGResources</servlet-name>
> >         <servlet-class>fmg.lz06.jsfUtil.resource.ResourceServlet</servlet-class>
> >     </servlet>
> >
> >     <servlet>
> >         <servlet-name>PrintTable</servlet-name>
> >         <servlet-class>fmg.lf14.weasel.PrintTable</servlet-class>
> >     </servlet>
> >
> >     <!-- Faces Servlet Mappings -->
> >     <servlet-mapping>
> >         <servlet-name>faces</servlet-name>
> >         <url-pattern>/faces/*</url-pattern>
> >     </servlet-mapping>
> >
> >     <servlet-mapping>
> >         <servlet-name>resources</servlet-name>
> >         <url-pattern>/adf/*</url-pattern>
> >     </servlet-mapping>
> >
> >     <servlet-mapping>
> >         <servlet-name>PrintTable</servlet-name>
> >         <url-pattern>/PrintTable</url-pattern>
> >     </servlet-mapping>
> >
> >     <error-page>
> >         <error-code>403</error-code>
> >         <location>/faces/error403.xhtml</location>
> >     </error-page>
> >
> >     <error-page>
> >         <error-code>404</error-code>
> >         <location>/faces/error404.xhtml</location>
> >     </error-page>
> >
> >     <error-page>
> >         <error-code>500</error-code>
> >         <location>/error500.jsp</location>
> >     </error-page>
> >
> >     <error-page>
> >         <exception-type>java.lang.Throwable</exception-type>
> >         <location>/error500.jsp</location>
> >     </error-page>
> >
> >     <error-page>
> >         <exception-type>java.lang.RuntimeException</exception-type>
> >         <location>/faces/exception.xhtml</location>
> >     </error-page>
> >
> >     <!-- Container soll nach 30 Minuten für Timeout der Session sorgen. Dies
> >          ist nur ein zusätzliches Feature zum automatischen Refresh aus der
> >          layout.xhtml. -->
> >     <session-config>
> >         <session-timeout>30</session-timeout>
> >     </session-config>
> >
> >     <welcome-file-list>
> >         <welcome-file>index.html</welcome-file>
> >     </welcome-file-list>
> >
> >     <security-constraint>
> >         <display-name>Weasel Gesamt</display-name>
> >         <web-resource-collection>
> >             <web-resource-name>secureWeasel</web-resource-name>
> >             <description/>
> >             <url-pattern>/faces/pages/*</url-pattern>
> >         </web-resource-collection>
> >         <auth-constraint>
> >             <description/>
> >             <role-name>weasel</role-name>
> >         </auth-constraint>
> >     </security-constraint>
> >
> >     <security-constraint>
> >         <display-name>Weasel Detailansicht</display-name>
> >         <web-resource-collection>
> >             <web-resource-name>secureWeaselDetail</web-resource-name>
> >             <description/>
> >             <url-pattern>/faces/pages/tableSequenceDetail.xhtml</url-pattern>
> >         </web-resource-collection>
> >         <auth-constraint>
> >             <description/>
> >             <role-name>weasel-detail</role-name>
> >         </auth-constraint>
> >     </security-constraint>
> >
> >     <login-config>
> >         <auth-method>FORM</auth-method>
> >         <realm-name/>
> >         <form-login-config>
> >             <form-login-page>/faces/login.xhtml</form-login-page>
> >             <form-error-page>/faces/login.xhtml</form-error-page>
> >         </form-login-config>
> >     </login-config>
> >
> >     <security-role>
> >         <description>Rolle für prinzipiellen Zugriff auf Weasel.</description>
> >         <role-name>weasel</role-name>
> >     </security-role>
> >
> >     <security-role>
> >         <description>Rolle für Zugriff auf Detail-Sequenz.</description>
> >         <role-name>weasel-detail</role-name>
> >     </security-role>
> >
> >     <resource-ref>
> >         <res-ref-name>jdbc/myoracle</res-ref-name>
> >         <res-type>javax.sql.DataSource</res-type>
> >         <res-auth>Container</res-auth>
> >         <res-sharing-scope>Shareable</res-sharing-scope>
> >     </resource-ref>
> >
> > </web-app>
> > ---------------- SNIP -----------------
> >
> > Please let me know, if you need to see any other files.
> >
> > Peter
> >
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Adam Winer [mailto:awiner@gmail.com]
> > Gesendet: Freitag, 29. Juni 2007 18:03
> > An: MyFaces Discussion
> > Betreff: Re: [Trinidad] Causing Too many open files error?
> >
> >
> > 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 <peter.fleischer@munich-airport.de> 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:awiner@gmail.com]
> > > 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 <simon.lessard.3@gmail.com> 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 < awiner@gmail.com> 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
> > > <peter.fleischer@munich-airport.de> 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:darkarena@gmail.com]
> > > > > > 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
> > > <peter.fleischer@munich-airport.de > 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:peter.fleischer@munich-airport .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
> > > > > > >
> > > _____________________________________________________________
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
>

Mime
View raw message