-
Bug
-
Resolution: Done
-
Major
-
8.2.0.Final
-
None
When trying to build 8.2.0.Final locally, my build just hangs indefinitely while executing a unit test in the controller module:
Running org.jboss.as.controller.ModelControllerClientTestCase
Running jstack against the build suggests that there is a deadlock between
- waiting to lock <0x00000007bc3f96c8> (a org.xnio.streams.BufferPipeOutputStream) at org.jboss.remoting3.remote.RemoteConnectionChannel.closeMessages(RemoteConnectionChannel.java:560) at org.jboss.remoting3.remote.RemoteConnectionChannel.closeAction(RemoteConnectionChannel.java:542) at org.jboss.remoting3.spi.AbstractHandleableCloseable.closeAsync(AbstractHandleableCloseable.java:359) at org.jboss.remoting3.remote.RemoteConnectionHandler.closeAllChannels(RemoteConnectionHandler.java:423) - locked <0x00000007b8d8e6f8> (a java.util.ArrayDeque) at org.jboss.remoting3.remote.RemoteConnectionHandler.sendCloseRequest(RemoteConnectionHandler.java:232)
and
- waiting to lock <0x00000007b8d8e6f8> (a java.util.ArrayDeque) at org.jboss.remoting3.remote.RemoteConnection.send(RemoteConnection.java:122) at org.jboss.remoting3.remote.OutboundMessage$1.accept(OutboundMessage.java:154) at org.xnio.streams.BufferPipeOutputStream.send(BufferPipeOutputStream.java:122) at org.xnio.streams.BufferPipeOutputStream.send(BufferPipeOutputStream.java:115) at org.xnio.streams.BufferPipeOutputStream.flush(BufferPipeOutputStream.java:139) - locked <0x00000007bc3f96c8> (a org.xnio.streams.BufferPipeOutputStream) at org.xnio.streams.BufferPipeOutputStream.close(BufferPipeOutputStream.java:157) - locked <0x00000007bc3f96c8> (a org.xnio.streams.BufferPipeOutputStream) at org.jboss.remoting3.remote.OutboundMessage.close(OutboundMessage.java:283) - locked <0x00000007bc3f96c8> (a org.xnio.streams.BufferPipeOutputStream) at java.io.FilterOutputStream.close(FilterOutputStream.java:160)
Preferably locks should be obtained in the same order across the different code paths to prevent deadlocks.