jamiewest / signalr_core

ASP.NET Core SignalR Dart Client
https://pub.dev/packages/signalr_core
MIT License
90 stars 58 forks source link

Unhandled Exception: Connection closed while receiving data #70

Closed Jojoteur closed 7 months ago

Jojoteur commented 2 years ago

Hello !

There is an exception which isn't catched when using the transprort SSE.

It happens when the server is shut down while the client is connected.

Here is the exception : E/flutter ( 6484): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Connection closed while receiving data E/flutter ( 6484): #0 IOClient.send.<anonymous closure> package:http/src/io_client.dart:49 E/flutter ( 6484): #1 _invokeErrorHandler (dart:async/async_error.dart:45:24) E/flutter ( 6484): #2 _HandleErrorStream._handleError (dart:async/stream_pipe.dart:272:9) E/flutter ( 6484): #3 _ForwardingStreamSubscription._handleError (dart:async/stream_pipe.dart:157:13) E/flutter ( 6484): #4 _HttpClientResponse.listen.<anonymous closure> (dart:_http/http_impl.dart:712:16) E/flutter ( 6484): #5 _rootRunBinary (dart:async/zone.dart:1378:47) E/flutter ( 6484): #6 _CustomZone.runBinary (dart:async/zone.dart:1272:19) E/flutter ( 6484): #7 _CustomZone.runBinaryGuarded (dart:async/zone.dart:1178:7) E/flutter ( 6484): #8 _BufferingStreamSubscription._sendError.sendError (dart:async/stream_impl.dart:360:15) E/flutter ( 6484): #9 _BufferingStreamSubscription._sendError (dart:async/stream_impl.dart:378:16) E/flutter ( 6484): #10 _BufferingStreamSubscription._addError (dart:async/stream_impl.dart:280:7) E/flutter ( 6484): #11 _ForwardingStreamSubscription._addError (dart:async/stream_pipe.dart:128:11) E/flutter ( 6484): #12 _addErrorWithReplacement (dart:async/stream_pipe.dart:176:8) E/flutter ( 6484): #13 _HandleErrorStream._handleError (dart:async/stream_pipe.dart:277:11) E/flutter ( 6484): #14 _ForwardingStreamSubscription._handleError (dart:async/stream_pipe.dart:157:13) E/flutter ( 6484): #15 _rootRunBinary (dart:async/zone.dart:1378:47) E/flutter ( 6484): #16 _CustomZone.runBinary (dart:async/zone.dart:1272:19) E/flutter ( 6484): #17 _CustomZone.runBinaryGuarded (dart:async/zone.dart:1178:7) E/flutter ( 6484): #18 _BufferingStreamSubscription._sendError.sendError (dart:async/stream_impl.dart:360:15) E/flutter ( 6484): #19 _BufferingStreamSubscription._sendError (dart:async/stream_impl.dart:378:16) E/flutter ( 6484): #20 _BufferingStreamSubscription._addError (dart:async/stream_impl.dart:280:7) E/flutter ( 6484): #21 _SyncStreamControllerDispatch._sendError (dart:async/stream_controller.dart:737:19) E/flutter ( 6484): #22 _StreamController._addError (dart:async/stream_controller.dart:615:7) E/flutter ( 6484): #23 _StreamController.addError (dart:async/stream_controller.dart:569:5) E/flutter ( 6484): #24 _HttpParser._reportBodyError (dart:_http/http_parser.dart:1183:22) E/flutter ( 6484): #25 _HttpParser._onDone (dart:_http/http_parser.dart:890:9) E/flutter ( 6484): #26 _rootRun (dart:async/zone.dart:1346:47) E/flutter ( 6484): #27 _CustomZone.run (dart:async/zone.dart:1258:19) E/flutter ( 6484): #28 _CustomZone.runGuarded (dart:async/zone.dart:1162:7) E/flutter ( 6484): #29 _BufferingStreamSubscription._sendDone.sendDone (dart:async/stream_impl.dart:394:13) E/flutter ( 6484): #30 _BufferingStreamSubscription._sendDone (dart:async/stream_impl.dart:404:15)

Few seconds later, there is an other exception fired:

E/flutter ( 6484): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Bad state: Future already completed E/flutter ( 6484): #0 _AsyncCompleter.complete (dart:async/future_impl.dart:45:31) E/flutter ( 6484): #1 HttpConnection._stopConnection package:signalr_core/src/http_connection.dart:280 E/flutter ( 6484): #2 HttpConnection._stopInternal package:signalr_core/src/http_connection.dart:243 E/flutter ( 6484): <asynchronous suspension> E/flutter ( 6484): #3 HttpConnection.stop package:signalr_core/src/http_connection.dart:208 E/flutter ( 6484): <asynchronous suspension> E/flutter ( 6484):