https://issues.apache.org/bugzilla/show_bug.cgi?id=52615

             Bug #: 52615
           Summary: Daemon thread is terminated unexpectedly when uncaught
                    exceptions is thrown from the other thread
           Product: Tomcat 7
           Version: 7.0.14
          Platform: PC
            Status: NEW
          Severity: regression
          Priority: P2
         Component: Catalina
        AssignedTo: dev@tomcat.apache.org
        ReportedBy: wan...@cn.ibm.com
    Classification: Unclassified


We use tomcat as the web app server. After we upgraded it from 5.5.x to 7.0.14,
a critical issue happens.

When the uncaught exception stack contains
"com.xxx.services.server.dispatch.callback.UTF8SocketChannel" and
"com.xxx.services.server.dispatch.callback.LineBufferedSocketChannel", which
both have a DispatcherSession member which is registered on a daemon thread
Dispatcher, Dispatcher thread is also terminated unexpectedly. And I am sure
NOT all the non-daemon threads are terminated.

The uncaught exception stake looks like:
Throwable occurred:java.nio.channels.UnresolvedAddressException
        at sun.nio.ch.Net.checkAddress(Net.java:41)
        at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:499)
        at
com.xxx.services.server.dispatch.callback.UTF8SocketChannel.connect(UTF8SocketChannel.java:90)
        at
com.xxx.services.server.dispatch.callback.LineBufferedSocketChannel.connect(LineBufferedSocketChannel.java:95)
        at com.xxx.jas.agent.AgentConnection.connect(AgentConnection.java:85)
        at
com.xxx.jas.agent.action.OpenAgentConnection.action(OpenAgentConnection.java:26)
        at com.xxx.jas.fiber.FiberAction.call(FiberAction.java:197)
        at com.xxx.jas.fiber.action.flow.Block.action(Block.java:63)
        at com.xxx.jas.fiber.FiberAction.call(FiberAction.java:197)
        at com.xxx.jas.agent.AgentFiber.action(AgentFiber.java:233)
        at
com.xxx.jas.agent.AgentFiber$AgentFiberAction.action(AgentFiber.java:336)
        at com.xxx.jas.fiber.FiberAction.call(FiberAction.java:197)
        at com.xxx.jas.fiber.Fiber.runFiber(Fiber.java:670)
        at com.xxx.jas.fiber.FiberThread.runFibers(FiberThread.java:258)
        at com.xxx.jas.fiber.FiberThread.run(FiberThread.java:246)

It seems tomcat 7.0.14 do some 'additional' cleanups for uncaught exceptions.

Note: It occurs when numbers of concurrent uncaught exceptions happened in a
short time. And it hard to be reproduced on linux platform.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to