Skip to content

future.awaitUninterruptibly().getChannel() hangs #19

@liushoukai

Description

@liushoukai

Current client use io.netty.netty:3.10.6.Final version, In the com.trendrr.nsq.AbstractNSQClient source code, the code below will hangs which cause the future never to be notified. it seems that it's a bug in
netty with the 3.10.6.Final version, netty/netty@32c4479 ?

// Start the connection attempt.
ChannelFuture future = bootstrap.connect(new InetSocketAddress(address, port));

// Wait until the connection attempt succeeds or fails.
Channel channel = future.awaitUninterruptibly().getChannel();
"Timer-1" #45 prio=5 os_prio=0 tid=0x00007f0ce9825800 nid=0x64fd in Object.wait() [0x00007f0c910ad000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:502)
	at org.jboss.netty.channel.DefaultChannelFuture.awaitUninterruptibly(DefaultChannelFuture.java:237)
	- locked <0x00000000e5827060> (a org.jboss.netty.channel.DefaultChannelFuture)
	at com.trendrr.nsq.AbstractNSQClient.createConnection(AbstractNSQClient.java:134)
	at com.trendrr.nsq.AbstractNSQClient.connect(AbstractNSQClient.java:187)
	- locked <0x00000000e0fb89a8> (a com.trendrr.nsq.NSQProducer)
	at com.trendrr.nsq.AbstractNSQClient$1.run(AbstractNSQClient.java:73)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)

   Locked ownable synchronizers:
	- None

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions