Skip to content

Deadlock in TimberClient on shutdown #170

@vlarsen

Description

@vlarsen

Thread dump from an example application on shutdown (redacted)

2016-04-07 12:49:16
Full thread dump OpenJDK 64-Bit Server VM (24.95-b01 mixed mode):

"Attach Listener" daemon prio=10 tid=0x00007f5df8008000 nid=0x6f71 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"New I/O client boss #1-1" prio=10 tid=0x00007f5df401b800 nid=0x6620 waiting for monitor entry [0x00007f5dec364000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at org.cloudname.timber.client.TimberClient.onDisconnect(TimberClient.java:158)
    - **waiting to lock <0x00000000cec476b0>** (a java.lang.Object)
    at org.cloudname.timber.client.TimberClientHandler.channelClosed(TimberClientHandler.java:101)
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:98)
    at org.cloudname.timber.client.TimberClientHandler.handleUpstream(TimberClientHandler.java:48)
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
    at ...

"Thread-1" prio=10 tid=0x00007f5e10371000 nid=0x6614 waiting on condition [0x00007f5dedd24000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000cec1d5b0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
    at java.util.concurrent.ThreadPoolExecutor.awaitTermination(ThreadPoolExecutor.java:1468)
    at org.jboss.netty.util.internal.ExecutorUtil.terminate(ExecutorUtil.java:107)
    at org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory.releaseExternalResources(NioClientSocketChannelFactory.java:171)
    at org.jboss.netty.bootstrap.Bootstrap.releaseExternalResources(Bootstrap.java:324)
    at org.cloudname.timber.client.TimberClient.shutdown(TimberClient.java:112)
    - **locked <0x00000000cec476b0>** (a java.lang.Object)
    at com.comoyo.log.LogWriter$LogWriterThread.serverChanged(LogWriter.java:345)
    at com.comoyo.log.LogWriter$LogWriterThread.shutdown(LogWriter.java:391)
    at com.comoyo.log.LogWriter$LogWriterThread.run(LogWriter.java:433)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions