binance-exchange / binance-java-api

binance-java-api is a lightweight Java library for the Binance API, supporting synchronous and asynchronous requests, as well as event streaming using WebSockets.
MIT License
831 stars 628 forks source link

Invalid JSON suddenly sent on websocket #245

Open SteelBRS opened 4 years ago

SteelBRS commented 4 years ago
05:01:05.574 [WebSocketClient-SecureIO-2] ERROR o.s.w.s.a.s.StandardWebSocketHandlerAdapter - Closing session due to exception for StandardWebSocketSession[id=3cad3fe6-295f-9a29-4a47-aaf50c15f1ef, uri=null]
kotlinx.serialization.json.JsonParsingException: Invalid JSON at 73732: Expected ':'
    at kotlinx.serialization.json.internal.StreamingJsonInput.decodeElementIndex(StreamingJsonInput.kt:117)
    at systems.nxgn.feeds.binance.Ticker$$serializer.deserialize(Ticker.kt)
    at systems.nxgn.feeds.binance.Ticker$$serializer.deserialize(Ticker.kt:7)
    at kotlinx.serialization.Decoder$DefaultImpls.decodeSerializableValue(Coders.kt:113)
    at kotlinx.serialization.json.JsonInput$DefaultImpls.decodeSerializableValue(JsonInput.kt)
    at kotlinx.serialization.json.internal.StreamingJsonInput.decodeSerializableValue(StreamingJsonInput.kt:10)
    at kotlinx.serialization.ElementValueDecoder.decodeSerializableElement(ElementWise.kt:141)
    at kotlinx.serialization.internal.ListLikeSerializer.readItem(CollectionSerializers.kt:98)
    at kotlinx.serialization.internal.AbstractCollectionSerializer.readItem$default(CollectionSerializers.kt:70)
    at kotlinx.serialization.internal.AbstractCollectionSerializer.patch(CollectionSerializers.kt:51)
    at kotlinx.serialization.internal.AbstractCollectionSerializer.deserialize(CollectionSerializers.kt:61)
    at kotlinx.serialization.CoreKt.decode(Core.kt:85)
    at kotlinx.serialization.json.Json.parse(Json.kt:121)
    at kotlinx.serialization.json.Json$Companion.parse(Json.kt:161)
    at systems.nxgn.BinanceWebSocketHandler.handleCompleteMessage(BinanceWebSocketHandler.kt:56)
    at systems.nxgn.BinanceWebSocketHandler.handleTextMessage(BinanceWebSocketHandler.kt:40)
    at org.springframework.web.socket.handler.AbstractWebSocketHandler.handleMessage(AbstractWebSocketHandler.java:43)
    at org.springframework.web.socket.handler.WebSocketHandlerDecorator.handleMessage(WebSocketHandlerDecorator.java:75)
    at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.handleMessage(LoggingWebSocketHandlerDecorator.java:56)
    at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.handleTextMessage(StandardWebSocketHandlerAdapter.java:113)
    at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.access$000(StandardWebSocketHandlerAdapter.java:42)
    at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$1.onMessage(StandardWebSocketHandlerAdapter.java:70)
    at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$1.onMessage(StandardWebSocketHandlerAdapter.java:67)
    at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:391)
    at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:495)
    at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:294)
    at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133)
    at org.apache.tomcat.websocket.WsFrameClient.processSocketRead(WsFrameClient.java:95)
    at org.apache.tomcat.websocket.WsFrameClient.resumeProcessing(WsFrameClient.java:209)
    at org.apache.tomcat.websocket.WsFrameClient.access$300(WsFrameClient.java:31)
    at org.apache.tomcat.websocket.WsFrameClient$WsFrameClientCompletionHandler.doResumeProcessing(WsFrameClient.java:186)
    at org.apache.tomcat.websocket.WsFrameClient$WsFrameClientCompletionHandler.completed(WsFrameClient.java:163)
    at org.apache.tomcat.websocket.WsFrameClient$WsFrameClientCompletionHandler.completed(WsFrameClient.java:148)
    at org.apache.tomcat.websocket.AsyncChannelWrapperSecure$WrapperFuture.complete(AsyncChannelWrapperSecure.java:464)
    at org.apache.tomcat.websocket.AsyncChannelWrapperSecure$ReadTask.run(AsyncChannelWrapperSecure.java:331)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
05:01:05.577 [WebSocketClient-SecureIO-2] DEBUG o.s.w.s.a.NativeWebSocketSession - Closing StandardWebSocketSession[id=3cad3fe6-295f-9a29-4a47-aaf50c15f1ef, uri=null]
05:01:05.578 [WebSocketClient-SecureIO-2] DEBUG o.s.w.s.h.LoggingWebSocketHandlerDecorator - StandardWebSocketSession[id=3cad3fe6-295f-9a29-4a47-aaf50c15f1ef, uri=null] closed with CloseStatus[code=1011, reason=null]
05:01:05.578 [WebSocketClient-SecureIO-2] WARN  s.n.BinanceWebSocketHandler - Connection closed - status.code=1011

These times are in CET ... so it started about 2 hours ago I'm connecting to wss://stream.binance.com:9443/ws/!ticker@arr