Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash socket-io-client #508

Closed
Nikonov opened this issue Mar 12, 2018 · 7 comments
Closed

Crash socket-io-client #508

Nikonov opened this issue Mar 12, 2018 · 7 comments
Labels
Milestone

Comments

@Nikonov
Copy link

Nikonov commented Mar 12, 2018

Crash when server emit event. Socket.io-client:0.9.0.

03-12 13:21:42.944 6958-7039/org.smartplayer.client.develop E/EventThread: Task threw exception java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference at io.socket.client.Socket.onevent(Socket.java:349) at io.socket.client.Socket.onpacket(Socket.java:303) at io.socket.client.Socket.access$100(Socket.java:19) at io.socket.client.Socket$2$2.call(Socket.java:115) at io.socket.emitter.Emitter.emit(Emitter.java:117) at io.socket.client.Manager.ondecoded(Manager.java:409) at io.socket.client.Manager.access$1600(Manager.java:22) at io.socket.client.Manager$7.call(Manager.java:385) at io.socket.emitter.Emitter.emit(Emitter.java:117) at io.socket.parser.Parser$Decoder.add(Parser.java:157) at io.socket.client.Manager.ondata(Manager.java:401) at io.socket.client.Manager.access$1000(Manager.java:22) at io.socket.client.Manager$2.call(Manager.java:352) at io.socket.emitter.Emitter.emit(Emitter.java:117) at io.socket.engineio.client.Socket.onPacket(Socket.java:521) at io.socket.engineio.client.Socket.access$1000(Socket.java:35) at io.socket.engineio.client.Socket$5.call(Socket.java:321) at io.socket.emitter.Emitter.emit(Emitter.java:117) at io.socket.engineio.client.Transport.onPacket(Transport.java:126) at io.socket.engineio.client.Transport.onData(Transport.java:118) at io.socket.engineio.client.transports.WebSocket.access$100(WebSocket.java:24) at io.socket.engineio.client.transports.WebSocket$1$2.run(WebSocket.java:71) at io.socket.thread.EventThread$2.run(EventThread.java:80) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818) 03-12 13:21:42.944 6958-7039/org.smartplayer.client.develop E/AndroidRuntime: FATAL EXCEPTION: EventThread Process: org.smartplayer.client.develop, PID: 6958 java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference at io.socket.client.Socket.onevent(Socket.java:349) at io.socket.client.Socket.onpacket(Socket.java:303) at io.socket.client.Socket.access$100(Socket.java:19) at io.socket.client.Socket$2$2.call(Socket.java:115) at io.socket.emitter.Emitter.emit(Emitter.java:117) at io.socket.client.Manager.ondecoded(Manager.java:409) at io.socket.client.Manager.access$1600(Manager.java:22) at io.socket.client.Manager$7.call(Manager.java:385) at io.socket.emitter.Emitter.emit(Emitter.java:117) at io.socket.parser.Parser$Decoder.add(Parser.java:157) at io.socket.client.Manager.ondata(Manager.java:401) at io.socket.client.Manager.access$1000(Manager.java:22) at io.socket.client.Manager$2.call(Manager.java:352) at io.socket.emitter.Emitter.emit(Emitter.java:117) at io.socket.engineio.client.Socket.onPacket(Socket.java:521) at io.socket.engineio.client.Socket.access$1000(Socket.java:35) at io.socket.engineio.client.Socket$5.call(Socket.java:321) at io.socket.emitter.Emitter.emit(Emitter.java:117) at io.socket.engineio.client.Transport.onPacket(Transport.java:126) at io.socket.engineio.client.Transport.onData(Transport.java:118) at io.socket.engineio.client.transports.WebSocket.access$100(WebSocket.java:24) at io.socket.engineio.client.transports.WebSocket$1$2.run(WebSocket.java:71) at io.socket.thread.EventThread$2.run(EventThread.java:80) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818)

@gizmeondev
Copy link

any suggestion regarding this issue

@rameshkec85
Copy link

@gizmeondev Do u have any solution ?

@RomanHiden
Copy link

I am affected as well.

@faizalmp
Copy link

faizalmp commented Oct 6, 2020

I have the same issue. Any solution?

@RomanHiden
Copy link

@faizalmp for me it was due to passing null as socketId .something like that. but still its not handled properly by the library

@iagormoraes
Copy link

iagormoraes commented Apr 16, 2021

the lib crashes in the emit event by sending or receiving(not sure), if you add a null in JSONArray it will crash, but if you wrap the array inside JSONObject it works. so Instead of sending [null, ....], send as {data: [null, ...]}

UPDATE: if you emit from server in the following cases below will throw the exception:

  • socket.emit(null)
  • socket.emit("some_event", [null])
  • socket.emit("some_event", [null, 1, "1", {...}, [..., null]])

@darrachequesne
Copy link
Member

For future readers:

This should be fixed by e8ffe9d, which was included in version 2.0.1.

This commit was also backported to the 1.x branch, and included in version 1.0.2.

Please reopen if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants