dev@glassfish.java.net

Re: Flashlight loop

From: Ken Paulsen <Ken.Paulsen_at_Sun.COM>
Date: Thu, 14 Aug 2008 00:12:37 -0700

Thanks for the explanation!

Ken

Mahesh Kannan wrote:
> This has been fixed. The problem was when a session expired, the probe
> event handler did a toString() (on WebSession which again generated
> the same probe event) and this caused an infinite loop.
>
> Sending
> flashlight/framework/src/main/java/org/glassfish/flashlight/impl/client/ReflectiveClientInvoker.java
>
> Sending
> flashlight/framework/src/main/java/org/glassfish/flashlight/impl/core/ProviderImplGenerator.java
>
> Sending
> flashlight/framework/src/main/java/org/glassfish/flashlight/impl/provider/FlashlightProbeProviderFactory.java
>
> Sending
> flashlight/framework/src/main/java/org/glassfish/flashlight/provider/ProbeProviderEventManager.java
>
> Sending
> flashlight/framework/src/main/java/org/glassfish/flashlight/provider/ProbeRegistry.java
>
> Transmitting file data .....
> Committed revision 21883.
>
> Thanks,
> --Mahesh
>
>
> Ken Paulsen wrote:
>>
>> I left my server running and apparently the session expired... I got
>> the following StackOverFlowError in my server.log:
>>
>> Aug 14, 2008 3:10:04 AM INFO: [FL] fireProbe?? ==> true 1[FL]
>> fireProbe?? ==> true 1
>> Aug 14, 2008 3:10:04 AM INFO: [FL] method: requestStartEvent **Arg:
>> org.apache.catalina.connector.RequestFacade_at_14b52aa
>> Aug 14, 2008 3:10:04 AM INFO: [FL] method: requestStartEvent **Arg:
>> org.apache.catalina.connector.ResponseFacade_at_2026f3
>> Aug 14, 2008 3:10:04 AM INFO: [FL] fireProbe?? ==> true 1
>> Aug 14, 2008 3:10:04 AM INFO: [FL] fireProbe?? ==> true 1
>> Aug 14, 2008 3:10:04 AM INFO: [FL] fireProbe?? ==> true 1
>> Aug 14, 2008 3:10:04 AM
>> ... (for a long time!) Then:
>>
>>
>> INFO: [FL] fireProbe?? ==> true 1
>> Aug 14, 2008 3:10:05 AM INFO: [FL] fireProbe?? ==> true 1[FL]
>> fireProbe?? ==> true 1
>> Aug 14, 2008 3:10:05 AM INFO: [FL] fireProbe?? ==> true 1
>> Aug 14, 2008 3:10:05 AM org.apache.catalina.connector.CoyoteAdapter
>> service
>> SEVERE: PWC3989: An exception or error occurred in the container
>> during the request processing
>> java.lang.StackOverflowError
>> at sun.nio.cs.UTF_8$Decoder.decodeArrayLoop(UTF_8.java:212)
>> at sun.nio.cs.UTF_8$Decoder.decodeLoop(UTF_8.java:358)
>> at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:544)
>> at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:140)
>> at java.lang.StringCoding.decode(StringCoding.java:173)
>> at java.lang.StringCoding.decode(StringCoding.java:185)
>> at java.lang.String.<init>(String.java:571)
>> at
>> java.io.ByteArrayOutputStream.toString(ByteArrayOutputStream.java:163)
>> at
>> com.sun.common.util.logging.LoggingOutputStream.flush(LoggingOutputStream.java:82)
>>
>> at java.io.PrintStream.write(PrintStream.java:432)
>> at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
>> at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
>> at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85)
>> at
>> java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168)
>> at java.io.PrintStream.write(PrintStream.java:477)
>> at java.io.PrintStream.print(PrintStream.java:619)
>> at java.io.PrintStream.println(PrintStream.java:756)
>> at org.glassfish.flashlight.provider.Probe.fireProbe(Probe.java:97)
>> at
>> org.glassfish.web.admin.monitor.SessionProbeProvider_web_Flashlight_session_App_.sessionExpiredEvent(Unknown
>> Source)
>> at
>> com.sun.enterprise.web.WebModule.sessionExpiredEvent(WebModule.java:1622)
>>
>> at
>> org.apache.catalina.session.StandardSession.isValid(StandardSession.java:670)
>>
>> at
>> org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1225)
>>
>> at
>> org.apache.catalina.session.StandardSession.toString(StandardSession.java:1080)
>>
>> at java.lang.String.valueOf(String.java:2827)
>> at java.lang.StringBuilder.append(StringBuilder.java:115)
>> at
>> org.glassfish.flashlight.impl.client.ReflectiveClientInvoker.invoke(ReflectiveClientInvoker.java:103)
>>
>> at org.glassfish.flashlight.provider.Probe.fireProbe(Probe.java:99)
>> at
>> org.glassfish.web.admin.monitor.SessionProbeProvider_web_Flashlight_session_App_.sessionExpiredEvent(Unknown
>> Source)
>> at
>> com.sun.enterprise.web.WebModule.sessionExpiredEvent(WebModule.java:1622)
>>
>> at
>> org.apache.catalina.session.StandardSession.isValid(StandardSession.java:670)
>>
>> at
>> org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1225)
>>
>> at
>> org.apache.catalina.session.StandardSession.toString(StandardSession.java:1080)
>>
>> at java.lang.String.valueOf(String.java:2827)
>> at java.lang.StringBuilder.append(StringBuilder.java:115)
>> at
>> org.glassfish.flashlight.impl.client.ReflectiveClientInvoker.invoke(ReflectiveClientInvoker.java:103)
>>
>> at org.glassfish.flashlight.provider.Probe.fireProbe(Probe.java:99)
>> at
>> org.glassfish.web.admin.monitor.SessionProbeProvider_web_Flashlight_session_App_.sessionExpiredEvent(Unknown
>> Source)
>> at
>> com.sun.enterprise.web.WebModule.sessionExpiredEvent(WebModule.java:1622)
>>
>> at
>> org.apache.catalina.session.StandardSession.isValid(StandardSession.java:670)
>>
>> at
>> org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1225)
>>
>> at
>> org.apache.catalina.session.StandardSession.toString(StandardSession.java:1080)
>>
>> at java.lang.String.valueOf(String.java:2827)
>> at java.lang.StringBuilder.append(StringBuilder.java:115)
>> at
>> org.glassfish.flashlight.impl.client.ReflectiveClientInvoker.invoke(ReflectiveClientInvoker.java:103)
>>
>> at org.glassfish.flashlight.provider.Probe.fireProbe(Probe.java:99)
>> at
>> org.glassfish.web.admin.monitor.SessionProbeProvider_web_Flashlight_session_App_.sessionExpiredEvent(Unknown
>> Source)
>> at
>> com.sun.enterprise.web.WebModule.sessionExpiredEvent(WebModule.java:1622)
>>
>> at
>> org.apache.catalina.session.StandardSession.isValid(StandardSession.java:670)
>>
>> at
>> org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1225)
>>
>> at
>> org.apache.catalina.session.StandardSession.toString(StandardSession.java:1080)
>>
>> at java.lang.String.valueOf(String.java:2827)
>> at java.lang.StringBuilder.append(StringBuilder.java:115)
>> at
>> org.glassfish.flashlight.impl.client.ReflectiveClientInvoker.invoke(ReflectiveClientInvoker.java:103)
>>
>> at org.glassfish.flashlight.provider.Probe.fireProbe(Probe.java:99)
>> at
>> org.glassfish.web.admin.monitor.SessionProbeProvider_web_Flashlight_session_App_.sessionExpiredEvent(Unknown
>> Source)
>> at
>> com.sun.enterprise.web.WebModule.sessionExpiredEvent(WebModule.java:1622)
>>
>> at
>> org.apache.catalina.session.StandardSession.isValid(StandardSession.java:670)
>>
>> at
>> org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1225)
>>
>> at
>> org.apache.catalina.session.StandardSession.toString(StandardSession.java:1080)
>>
>> at java.lang.String.valueOf(String.java:2827)
>> at java.lang.StringBuilder.append(StringBuilder.java:115)
>> at
>> org.glassfish.flashlight.impl.client.ReflectiveClientInvoker.invoke(ReflectiveClientInvoker.java:103)
>>
>> at org.glassfish.flashlight.provider.Probe.fireProbe(Probe.java:99)
>> at
>> org.glassfish.web.admin.monitor.SessionProbeProvider_web_Flashlight_session_App_.sessionExpiredEvent(Unknown
>> Source)
>> at
>> com.sun.enterprise.web.WebModule.sessionExpiredEvent(WebModule.java:1622)
>>
>> at
>> org.apache.catalina.session.StandardSession.isValid(StandardSession.java:670)
>>
>> at
>> org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1225)
>>
>> at
>> org.apache.catalina.session.StandardSession.toString(StandardSession.java:1080)
>>
>> at java.lang.String.valueOf(String.java:2827)
>> at java.lang.StringBuilder.append(StringBuilder.java:115)
>> at
>> org.glassfish.flashlight.impl.client.ReflectiveClientInvoker.invoke(ReflectiveClientInvoker.java:103)
>>
>> at org.glassfish.flashlight.provider.Probe.fireProbe(Probe.java:99)
>> at
>> org.glassfish.web.admin.monitor.SessionProbeProvider_web_Flashlight_session_App_.sessionExpiredEvent(Unknown
>> Source)
>> at
>> com.sun.enterprise.web.WebModule.sessionExpiredEvent(WebModule.java:1622)
>>
>> at
>> org.apache.catalina.session.StandardSession.isValid(StandardSession.java:670)
>>
>> at
>> org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1225)
>>
>> at
>> org.apache.catalina.session.StandardSession.toString(StandardSession.java:1080)
>>
>> at java.lang.String.valueOf(String.java:2827)
>> at java.lang.StringBuilder.append(StringBuilder.java:115)
>> at
>> org.glassfish.flashlight.impl.client.ReflectiveClientInvoker.invoke(ReflectiveClientInvoker.java:103)
>>
>> at org.glassfish.flashlight.provider.Probe.fireProbe(Probe.java:99)
>> at
>> org.glassfish.web.admin.monitor.SessionProbeProvider_web_Flashlight_session_App_.sessionExpiredEvent(Unknown
>> Source)
>> at
>> com.sun.enterprise.web.WebModule.sessionExpiredEvent(WebModule.java:1622)
>>
>> at
>> org.apache.catalina.session.StandardSession.isValid(StandardSession.java:670)
>>
>> at
>> org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1225)
>>
>> at
>> org.apache.catalina.session.StandardSession.toString(StandardSession.java:1080)
>>
>> at java.lang.String.valueOf(String.java:2827)
>> at java.lang.StringBuilder.append(StringBuilder.java:115)
>> at
>> org.glassfish.flashlight.impl.client.ReflectiveClientInvoker.invoke(ReflectiveClientInvoker.java:103)
>>
>> at org.glassfish.flashlight.provider.Probe.fireProbe(Probe.java:99)
>> at
>> org.glassfish.web.admin.monitor.SessionProbeProvider_web_Flashlight_session_App_.sessionExpiredEvent(Unknown
>> Source)
>> at
>> com.sun.enterprise.web.WebModule.sessionExpiredEvent(WebModule.java:1622)
>>
>> at
>> org.apache.catalina.session.StandardSession.isValid(StandardSession.java:670)
>>
>> at
>> org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1225)
>>
>> at
>> org.apache.catalina.session.StandardSession.toString(StandardSession.java:1080)
>>
>> at java.lang.String.valueOf(String.java:2827)
>> at java.lang.StringBuilder.append(StringBuilder.java:115)
>> at
>> org.glassfish.flashlight.impl.client.ReflectiveClientInvoker.invoke(ReflectiveClientInvoker.java:103)
>>
>> at org.glassfish.flashlight.provider.Probe.fireProbe(Probe.java:99)
>> at
>> org.glassfish.web.admin.monitor.SessionProbeProvider_web_Flashlight_session_App_.sessionExpiredEvent(Unknown
>> Source)
>> at
>> com.sun.enterprise.web.WebModule.sessionExpiredEvent(WebModule.java:1622)
>>
>> at
>> org.apache.catalina.session.StandardSession.isValid(StandardSession.java:670)
>>
>> at
>> org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1225)
>>
>> at
>> org.apache.catalina.session.StandardSession.toString(StandardSession.java:1080)
>>
>> at java.lang.String.valueOf(String.java:2827)
>> at java.lang.StringBuilder.append(StringBuilder.java:115)
>> at
>> org.glassfish.flashlight.impl.client.ReflectiveClientInvoker.invoke(ReflectiveClientInvoker.java:103)
>>
>> at org.glassfish.flashlight.provider.Probe.fireProbe(Probe.java:99)
>> at
>> org.glassfish.web.admin.monitor.SessionProbeProvider_web_Flashlight_session_App_.sessionExpiredEvent(Unknown
>> Source)
>> at
>> com.sun.enterprise.web.WebModule.sessionExpiredEvent(WebModule.java:1622)
>>
>> at
>> org.apache.catalina.session.StandardSession.isValid(StandardSession.java:670)
>>
>> at
>> org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1225)
>>
>> at
>> org.apache.catalina.session.StandardSession.toString(StandardSession.java:1080)
>>
>> at java.lang.String.valueOf(String.java:2827)
>> at java.lang.StringBuilder.append(StringBuilder.java:115)
>> at
>> org.glassfish.flashlight.impl.client.ReflectiveClientInvoker.invoke(ReflectiveClientInvoker.java:103)
>>
>> ... (for a long time)
>>
>> Earlier in my log I got a similar with this part being different:
>>
>> INFO: [FL] fireProbe?? ==> true 1
>> Aug 14, 2008 3:09:13 AM INFO: [FL] fireProbe?? ==> true 1
>> Aug 14, 2008 3:09:13 AM INFO: [FL] fireProbe?? ==> true 1
>> Aug 14, 2008 3:09:13 AM
>> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor
>> processChildren
>> SEVERE: Exception invoking periodic operation:
>> java.lang.StackOverflowError
>> at sun.nio.cs.UTF_8$Decoder.decodeArrayLoop(UTF_8.java:212)
>> at sun.nio.cs.UTF_8$Decoder.decodeLoop(UTF_8.java:358)
>>
>> ... (the rest was the same) This error came up multiple times.
>>
>> Ken
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>