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