Hello,

we are chasing a bug that appeared when deploying our OSGi (equinox) based 
application to Websphere on AIX. We had a stack overflow that seems to be 
caused by pax-logging intercepting the logging of our application server. 
I appended a (commented) part of the stack trace at the end of this 
message. 

The cycle is caused at 1) by the application server using 
java.util.logging. This leads to pax logging being used at 2). With the 
current pax-logging configuration we try to log using a file appender. 
This causes another call to java.util.logging.Logger at 3).  And this is 
where history repeats itself...

Is this a known behaviour? Are we missing something in our configuration? 
We are currently using 
osgi.parentClassloader=app
osgi.contextClassLoaderParent=app
Could this possibly cause the problem? I saw in the source code, that a 
JdkHandler is appended to the global LogManager of java.util.logging.

Best regard, Jens

            ..... // Nothing new above this line until stack overflow ...
        at 
org.ops4j.pax.logging.internal.JdkHandler.publish(JdkHandler.java:111)
3)      at java.util.logging.Logger.log(Logger.java:469)
        at com.ibm.ejs.ras.Tr.logToJSR47Logger(Tr.java:1612)
        at com.ibm.ejs.ras.Tr.systemOut(Tr.java:941)
        at 
com.ibm.ejs.ras.SystemOutStream.dispatchEvent(SystemOutStream.java:349)
        at com.ibm.ejs.ras.SystemStream.write(SystemStream.java:286)
        at 
sun.nio.cs.StreamEncoder$ConverterSE.implWrite(StreamEncoder.java:274)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:184)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:194)
        at java.io.OutputStreamWriter.write(OutputStreamWriter.java:227)
        at java.io.Writer.write(Writer.java:147)
        at org.apache.log4j.helpers.QuietWriter.write(QuietWriter.java:48)
        at 
org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:302)
        at org.apache.log4j.WriterAppender.append(WriterAppender.java:160)
        at 
org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
        at 
org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
        at org.apache.log4j.Category.callAppenders(Category.java:206)
        at org.apache.log4j.Category.forcedLog(Category.java:391)
        at org.apache.log4j.Category.log(Category.java:856)
        at 
org.ops4j.pax.logging.internal.PaxLoggerImpl.log(PaxLoggerImpl.java:132)
2)      at 
org.ops4j.pax.logging.internal.JdkHandler.publish(JdkHandler.java:111) // 
call to the jdkhandler
1)      at java.util.logging.Logger.log(Logger.java:469)
        at com.ibm.ws.logging.WsLogger.deliverOrBuffer(WsLogger.java:240)  
// the application server trying to use java.util.logging
        at com.ibm.ws.logging.WsLogger.log(WsLogger.java:217)
        at com.ibm.ws.logging.WsLogger.logp(WsLogger.java:420)
        at com.ibm.nws.ejs.ras.TraceComponent.log(TraceComponent.java:173)
        at com.ibm.nws.ejs.ras.Tr.audit(Tr.java:162)
        at 
com.ibm.ws.tcp.channel.impl.TCPChannel.stop(TCPChannel.java:407)
        at 
com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.stopChainInternal(ChannelFrameworkImpl.java:3030)
        at 
com.ibm.ws.channel.framework.impl.ChannelFrameworkImpl.stopChainGroup(ChannelFrameworkImpl.java:3884)
        at 
com.ibm.ws.channel.framework.impl.WSChannelFrameworkImpl.stopChainsByAcceptorID(WSChannelFrameworkImpl.java:693)
        at 
com.ibm.ws.runtime.component.ChannelFrameworkServiceImpl.stopChainsByAcceptorID(ChannelFrameworkServiceImpl.java:875)
        at 
com.ibm.ws.wswebcontainer.WebContainer.stopChains(WebContainer.java:846)
        at 
com.ibm.ws.webcontainer.WebContainerWorkloadRegulator.quiesceComplete(WebContainerWorkloadRegulator.java:155)
        at 
com.ibm.ws.runtime.workloadcontroller.WorkloadController.quiesceCompleteWorkloads(WorkloadController.java:428)
        at 
com.ibm.ws.runtime.workloadcontroller.WorkloadController.quiesce(WorkloadController.java:188)
        at com.ibm.ws.runtime.component.WLCImpl.stop(WLCImpl.java:144)
        at 
com.ibm.ws.runtime.component.ContainerImpl.stopComponents(ContainerImpl.java:1036)
        at 
com.ibm.ws.runtime.component.ContainerImpl.stop(ContainerImpl.java:685)
        at 
com.ibm.ws.runtime.component.ServerImpl.stop(ServerImpl.java:625)
        at 
com.ibm.ws.runtime.component.ServerCollaborator$ShutdownHook$1.run(ServerCollaborator.java:702)
        at 
com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:3997)
        at 
com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:4094)
        at 
com.ibm.ws.runtime.component.ServerCollaborator$ShutdownHook.run(ServerCollaborator.java:692)
        at 
com.ibm.ws.runtime.component.ServerCollaborator$ShutdownHook.run(ServerCollaborator.java:669)
_______________________________________________
general mailing list
general@lists.ops4j.org
http://lists.ops4j.org/mailman/listinfo/general

Reply via email to