Skip to content

NIO main thread can terminate due to an unhandled javax.net.ssl.SSLException #237

Closed
@dimas

Description

@dimas

I described my problem here - #236
As per suggestion, I tried using v4.0.1 version of the library with NIO to work around the issue.
The good thing is that that version does indeed detect connection problem much faster that 15 minutes that it used to take for previous version. The bad thing is that NIO main thread catches unhandled exception and terminates rendering the whole application unusable.

SEVERE: Unhandled exception. Aborting.
Throwable occurred: java.lang.AssertionError: BlockingCell can only be set once
	at com.rabbitmq.utility.BlockingCell.set (BlockingCell.java:141)
	at com.rabbitmq.client.impl.AMQConnection.doFinalShutdown (AMQConnection.java:681)
	at com.rabbitmq.client.impl.AMQConnection.handleHeartbeatFailure (AMQConnection.java:654)
	at com.rabbitmq.client.impl.nio.NioLoop.run (NioLoop.java:78)
	at java.lang.Thread.run (Unknown Source, bco=11)

I cannot easily reproduce it as I do not know what that bloody piece of network equipment does but it feels like it just stops outgoing packets from he client machine at some point while still allowing incoming ones.

previous exceptions that lead to the one above

Jan 16, 2017 11:45:56 AM com.rabbitmq.client.impl.nio.NioLoop run
WARNING: Error during reading frames
Throwable occurred: javax.net.ssl.SSLException: closed in read
	at com.rabbitmq.client.impl.nio.SslEngineByteBufferInputStream.read (SslEngineByteBufferInputStream.java:89)
	at java.io.DataInputStream.readUnsignedByte (Unknown Source, bco=4)
	at com.rabbitmq.client.impl.Frame.readFrom (Frame.java:91)
	at com.rabbitmq.client.impl.nio.NioLoop.run (NioLoop.java:149)
	at java.lang.Thread.run (Unknown Source, bco=11)
Jan 16, 2017 11:45:56 AM com.rabbitmq.client.impl.ForgivingExceptionHandler log
SEVERE: An unexpected connection driver error occured
Throwable occurred: com.rabbitmq.client.MissedHeartbeatException: Heartbeat missing with heartbeat = 30 seconds
	at com.rabbitmq.client.impl.AMQConnection.handleHeartbeatFailure (AMQConnection.java:648)
	at com.rabbitmq.client.impl.nio.NioLoop.run (NioLoop.java:78)
	at java.lang.Thread.run (Unknown Source, bco=11)
Jan 16, 2017 11:45:56 AM com.rabbitmq.client.impl.ForgivingExceptionHandler log
SEVERE: An unexpected connection driver error occured
Throwable occurred: javax.net.ssl.SSLException: closed in read
	at com.rabbitmq.client.impl.nio.SslEngineByteBufferInputStream.read (SslEngineByteBufferInputStream.java:89)
	at java.io.DataInputStream.readUnsignedByte (Unknown Source, bco=4)
	at com.rabbitmq.client.impl.Frame.readFrom (Frame.java:91)
	at com.rabbitmq.client.impl.nio.NioLoop.run (NioLoop.java:149)
	at java.lang.Thread.run (Unknown Source, bco=11)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions