~emersion/goguma#112: 
Crash on missing PONG argument

When Goguma gets a PONG from the server with a missing argument, it crashes with:

10-24 22:35:11.069 12227 12250 I flutter : RangeError (length): Invalid value: Only valid value is 0: 1
10-24 22:35:11.073 12227 12250 I flutter : #0      _GrowableList.elementAt (dart:core-patch/growable_array.dart)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/1" title="~emersion/goguma#1: Enable TCP keepalive">#1</a>      UnmodifiableListView.[] (dart:collection/collections.dart:34)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/2" title="~emersion/goguma#2: Open notifications on highlight or PM">#2</a>      ListMixin.elementAt (dart:collection/list.dart:78)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/3" title="~emersion/goguma#3: Add support for soju.im/bouncer-networks">#3</a>      UnmodifiableListView.[] (dart:collection/collections.dart:34)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/4" title="~emersion/goguma#4: Server status snackbar doesn&#39;t push up UI">#4</a>      Client.ping.<anonymous closure> (package:goguma/client.dart:678)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/5" title="~emersion/goguma#5: Add UI to edit server settings">#5</a>      Client._roundtripMessage.<anonymous closure> (package:goguma/client.dart:343)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/6" title="~emersion/goguma#6: Add advanced settings on connect page">#6</a>      Client._waitMessage.<anonymous closure> (package:goguma/client.dart:307)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/16" title="~emersion/goguma#16: Add support for push notifications">#16</a>     Client._handleMessage (package:goguma/client.dart:540)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/17" title="~emersion/goguma#17: Messages marked as unread when buffer is focused">#17</a>     Client.connect.<anonymous closure> (package:goguma/client.dart:221)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/25" title="~emersion/goguma#25: Add basic CTCP support">#25</a>     _StringAdapterSink.add (dart:convert/string_conversion.dart:238)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/26" title="~emersion/goguma#26: Strip formatting">#26</a>     _LineSplitterSink._addLines (dart:convert/line_splitter.dart:170)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/27" title="~emersion/goguma#27: Reconnect on connectivity status change">#27</a>     _LineSplitterSink.addSlice (dart:convert/line_splitter.dart:145)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/28" title="~emersion/goguma#28: Add reconnect button to disconnected client snackbar">#28</a>     StringConversionSinkMixin.add (dart:convert/string_conversion.dart:163)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/37" title="~emersion/goguma#37: Close notifications when receiving READ">#37</a>     _StringAdapterSink.add (dart:convert/string_conversion.dart:238)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/38" title="~emersion/goguma#38: Close notifications when opening buffer page">#38</a>     _StringAdapterSink.addSlice (dart:convert/string_conversion.dart:243)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/39" title="~emersion/goguma#39: Notification doesn&#39;t appear for first conversation message">#39</a>     _Utf8ConversionSink.addSlice (dart:convert/string_conversion.dart:317)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/40" title="~emersion/goguma#40: Lookup SRV records when connecting">#40</a>     _Utf8ConversionSink.add (dart:convert/string_conversion.dart:310)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/41" title="~emersion/goguma#41: Full-text conversation search">#41</a>     _ConverterStreamEventSink.add (dart:convert/chunked_conversion.dart:72)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/51" title="~emersion/goguma#51: Store last delivered time in database">#51</a>     _Socket._onData (dart:io-patch/socket_patch.dart:2314)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/60" title="~emersion/goguma#60: Use proper logging instead of print()">#60</a>     new _RawSocket.<anonymous closure> (dart:io-patch/socket_patch.dart:1839)
10-24 22:35:11.074 12227 12250 I flutter : <a href="/~emersion/goguma/61" title="~emersion/goguma#61: Move over to async/await">#61</a>     _NativeSocket.issueReadEvent.issue (dart:io-patch/socket_patch.dart:1322)
10-24 22:35:11.074 12227 12250 I flutter : (elided 43 frames from dart:async)

(that's clearly a server bug, but Goguma is the only client to crash on this afaik)

Status
RESOLVED CLOSED
Submitter
~vlorentz
Assigned to
No-one
Submitted
3 months ago
Updated
15 days ago
Labels
bug

~emersion REPORTED CLOSED 15 days ago

Simon Ser referenced this ticket in commit ff90096.

Register here or Log in to comment, or comment via email.