Skip to content
New issue

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

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

Already on GitHub? Sign in 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant