[Bug 63983] New: Jasper builds-up open files until garbage collection, hitting Linux default limit of 4096.

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bug 63983] New: Jasper builds-up open files until garbage collection, hitting Linux default limit of 4096.

Bugzilla from bugzilla@apache.org
https://bz.apache.org/bugzilla/show_bug.cgi?id=63983

            Bug ID: 63983
           Summary: Jasper builds-up open files until garbage collection,
                    hitting Linux default limit of 4096.
           Product: Tomcat 9
           Version: 9.0.29
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: critical
          Priority: P2
         Component: Jasper
          Assignee: [hidden email]
          Reporter: [hidden email]
  Target Milestone: -----

Starting with Tomcat 9.0.29 (but not 9.0.27, and fixed by reverting), the Java
process builds-up open files until hitting the Linux default limit of 4096.

lsof shows that the files are all those that would be checked when determining
if a JSP file needs to be recompiled (the JSP file, its includes, and all
related *.tld files).

With "development=true" (the default), the files build-up in proportion to the
request load.  With "development=false", the files build-up more consistently
(around 100 files every 10 seconds in our case).

When a garbage collection occurs, the open file count drops back to around 100.

With our heap-space of 1024 MB, combined with some include-heavy JSP pages, we
run out of file handles before garbage collection, and requests fail with
errors.

We increased the limits in /etc/security/limits.conf as a workaround, but the
fix was to downgrade to Tomcat 9.0.27.

--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Bug 63983] Jasper builds-up open files until garbage collection, hitting Linux default limit of 4096.

Bugzilla from bugzilla@apache.org
https://bz.apache.org/bugzilla/show_bug.cgi?id=63983

--- Comment #1 from Mark Thomas <[hidden email]> ---
Thanks for the report. This is another regression in the fix for the race
condition in JSP compilation that meant Jasper would see a modified JSP but
then process stale content for that file from the static resource cache.

I think I can address this with my favourite kind of fix (deleting some code)
but I want to run a few more tests before I commit the fix.

--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[Bug 63983] Jasper builds-up open files until garbage collection, hitting Linux default limit of 4096.

Bugzilla from bugzilla@apache.org
In reply to this post by Bugzilla from bugzilla@apache.org
https://bz.apache.org/bugzilla/show_bug.cgi?id=63983

Mark Thomas <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #2 from Mark Thomas <[hidden email]> ---
Fixed in:
- master for 9.0.30 onwards
- 8.5.x for 8.5.50 onwards

--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]