keesun / mod-socket-io

Vert.x Socket.IO Module

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NegativeArraySizeException in Parser.java

creaoy opened this issue · comments

Sometimes Paser got an exception in https://github.com/keesun/mod-socket-io/blob/master/src/main/java/com/nhncorp/mods/socket/io/impl/Parser.java#L245

I'm using client build:0.9.16

Is there any quick fix for this as this as it crashes after couple of hours because of this exception?

Exception details:
java.lang.NegativeArraySizeException
at org.vertx.java.core.buffer.Buffer.getBytes(Buffer.java:177)
at org.vertx.java.core.buffer.Buffer.getString(Buffer.java:205)
at com.nhncorp.mods.socket.io.impl.Parser.decodePayload(Parser.java:245)
at com.nhncorp.mods.socket.io.impl.transports.Http.onData(Http.java:160)
at com.nhncorp.mods.socket.io.impl.transports.Http$2.handle(Http.java:89)
at com.nhncorp.mods.socket.io.impl.transports.Http$2.handle(Http.java:83)
at org.vertx.java.core.http.impl.DefaultHttpServerRequest.handleEnd(DefaultHttpServerRequest.java:322)
at org.vertx.java.core.http.impl.ServerConnection.handleEnd(ServerConnection.java:209)
at org.vertx.java.core.http.impl.ServerConnection.processMessage(ServerConnection.java:313)
at org.vertx.java.core.http.impl.ServerConnection.handleMessage(ServerConnection.java:94)
at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.doMessageReceived(DefaultHttpServer.java:672)
at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.doMessageReceived(DefaultHttpServer.java:563)
at org.vertx.java.core.http.impl.VertxHttpHandler.channelRead(VertxHttpHandler.java:61)
at org.vertx.java.core.net.impl.VertxHandler.channelRead(VertxHandler.java:156)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:153)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:338)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:324)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:126)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101)
at java.lang.Thread.run(Thread.java:744)

Sorry for my late response, I made this with client 0.9.10 so I did't expect this problem when I coded it. I'll look into the latest version of the socket.io client and fix this ASAP thanks.