Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

System.err is wrapped as SystemLogHandler multiple times #15

Open
glassfishrobot opened this issue Jul 26, 2012 · 4 comments
Open

System.err is wrapped as SystemLogHandler multiple times #15

glassfishrobot opened this issue Jul 26, 2012 · 4 comments

Comments

@glassfishrobot
Copy link

Whenever a new JspRuntimeContext is created, it (re)wraps System.err as a SystemLogHandler (see JspRuntimeContext line 165). This can lead to a long chain and inefficient System.err output. Here's a fragment of an example thread dump:

"Thread-7542" prio=6 tid=0x0000000006df8000 nid=0xc98 waiting for monitor entry
[0x00000000144fe000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.io.PrintStream.write(Unknown Source)

  • waiting to lock <0x00000000aab5e508> (a java.io.PrintStream)
    at java.io.PrintStream.print(Unknown Source)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at org.apache.jasper.util.SystemLogHandler.print(SystemLogHandler.java:214)
    at java.lang.ThreadGroup.uncaughtException(Unknown Source)
    at java.lang.ThreadGroup.uncaughtException(Unknown Source)
    at java.lang.Thread.dispatchUncaughtException(Unknown Source)

It seems that JspRuntimeContexts are created in the JspServlet.init method. In a server with a number of different web applications deployed, there will be 1 JspServlet per webapp, and thus multiple wrapping occuring.

@glassfishrobot
Copy link
Author

@glassfishrobot Commented
Reported by janbartel

@glassfishrobot
Copy link
Author

@glassfishrobot Commented
janbartel said:
I should add that this appears to affect jsp-2.1, not jsp-2.2.

@glassfishrobot
Copy link
Author

@glassfishrobot Commented
This issue was imported from java.net JIRA JSP-27

@glassfishrobot
Copy link
Author

@glassfishrobot glassfishrobot self-assigned this Aug 17, 2018
@markt-asf markt-asf transferred this issue from jakartaee/pages Dec 23, 2020
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant