keesun / mod-socket-io

Vert.x Socket.IO Module
Other
107 stars 40 forks source link

NegativeArraySizeException in Parser.java #21

Open creaoy opened 10 years ago

creaoy commented 10 years ago

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)

keesun commented 10 years ago

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.