An Unexpected I/O exception with AsyncHttpClient while performing SSL requests
Seán Coffey
sean.coffey at oracle.com
Thu Dec 22 11:13:42 UTC 2016
Your JDK version is quite old. Try updating to the latest JDK 8u release.
this might be a factor and was fixed in 8u51.
http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/445debb5c61d
Sean.
On 21/12/2016 19:43, Shlomi Abramoviz wrote:
> Hi everyone,
> I was referred to this group and I hope this is the right place and
> would really appreciate if you could share your opinion with me.
>
> My company works with Play framework and Scala as our backend server.
> Lately we've been having problems with the server. While making a
> secured (SSL) request to a remote API, we're getting the exception
> below. Seems to be a problem regarding to the SSL, but I'm not sure.
> We had a similar problem a month ago, and setting the flag:
>
> -J-XX:-UseAESIntrinsics -DXX:-UseAESIntrinsics
>
> seemed to help. Now the problem is back.
>
> Some more information: - Play 2.5.9 - Scala 2.11.8 - Server OS: Centos
> 6.8 - JVM 1.8.0_25
>
> The Exception:
>
> * AsyncHttpClient-2-4 - 2016-12-21 03:59:17,434 - [debug] - from
> org.asynchttpclient.netty.handler.HttpHandler - Unexpected I/O
> exception on channel [id: 0x9ad15e31, L:/[IP_ADDRESS:PORT -
> R:SERVER/IP_ADDRESS:443] java.lang.NullPointerException: null at
> java.lang.System.arraycopy(Native Method) at
> com.sun.crypto.provider.GCTR.reset(GCTR.java:125) at
> com.sun.crypto.provider.GCTR.doFinal(GCTR.java:116) at
> com.sun.crypto.provider.GaloisCounterMode.doLastBlock(GaloisCounterMode.java:343)
> at
> com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:511)
> at
> com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1023)
> at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:960)
> at
> com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:479)
> at javax.crypto.CipherSpi.bufferCrypt(CipherSpi.java:830) at
> javax.crypto.CipherSpi.engineDoFinal(CipherSpi.java:730) at
> javax.crypto.Cipher.doFinal(Cipher.java:2416) at
> sun.security.ssl.CipherBox.decrypt(CipherBox.java:535) at
> sun.security.ssl.EngineInputRecord.decrypt(EngineInputRecord.java:200)
> at
> sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:968)
> at
> sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:901)
> at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:775)
> at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624) at
> io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1094) at
> io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:966) at
> io.netty.handler.ssl.SslHandler.decode(SslHandler.java:900) at
> io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:411)
> at
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:248)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:345)
> at
> io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:352)
> at
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911)
> at
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:611)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:552)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:466)
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:438) at
> io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:140)
> at
> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
> at java.lang.Thread.run(Thread.java:745)
>
> Does anyone have an idea what the problem could be and how can we fix it?
>
> Also, is there any other place you know where I could get help about
> this topic?
>
> Thanks in advance,
>
> Shlomi.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/security-dev/attachments/20161222/e52fd222/attachment.htm>
More information about the security-dev
mailing list