Skip to content

Receiving a remote data track message throws a `Unhandled Exception: type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>'`

Current bug behaviour

When a remote datatrack message is received it throws a Unhandled Exception: type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>'

Expected behaviour

That the message is received without an error

Steps to reproduce

Start the example app, make sure at least 2 participants are connected and wait for a minute when the example app sends a datatrack message.

Flutter doctor output

[✓] Flutter (Channel stable, v1.17.5, on Linux, locale en_US.UTF-8)
    • Flutter version 1.17.5 at /opt/flutter/flutter
    • Framework revision 8af6b2f038 (2 weeks ago), 2020-06-30 12:53:55 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

 
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /home/mva/Android/Sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /opt/android-studio/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Android Studio (version 4.0)
    • Android Studio at /opt/android-studio/android-studio
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)

More environment information

  • Plugin version: 0.5.0+2
  • Platform affected: all

Log information

D/Twilio_PVideo( 4002): RemoteDataTrackListener.onMessage => sid: MTb6866176f5ecf8e6fe849a5f7e50e460, message (String): And another minute has passed since I connected...
I/flutter ( 4002): [  NATIVE  ] RemoteDataTrackListener.onMessage => sid: MTb6866176f5ecf8e6fe849a5f7e50e460, message (String): And another minute has passed since I connected...
D/Twilio_PVideo( 4002): RemoteDataTrackListener.onMessage => sid: MTb6866176f5ecf8e6fe849a5f7e50e460, message (ByteBuffer): java.nio.HeapByteBuffer[pos=0 lim=72 cap=72] 
E/flutter ( 4002): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>'
E/flutter ( 4002): #0      MethodChannelProgrammableVideo._parseRemoteDataTrackEvent (package:twilio_programmable_video_platform_interface/src/method_channel_programmable_video.dart:636:79)
E/flutter ( 4002): #1      _MapStream._handleData (dart:async/stream_pipe.dart:229:31)
E/flutter ( 4002): #2      _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:166:13)
E/flutter ( 4002): #3      _rootRunUnary (dart:async/zone.dart:1192:38)
E/flutter ( 4002): #4      _CustomZone.runUnary (dart:async/zone.dart:1085:19)
E/flutter ( 4002): #5      _CustomZone.runUnaryGuarded (dart:async/zone.dart:987:7)
E/flutter ( 4002): #6      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
E/flutter ( 4002): #7      _DelayedData.perform (dart:async/stream_impl.dart:594:14)
E/flutter ( 4002): #8      _StreamImplEvents.handleNext (dart:async/stream_impl.dart:710:11)
E/flutter ( 4002): #9      _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:670:7)
E/flutter ( 4002): #10     _rootRun (dart:async/zone.dart:1180:38)
E/flutter ( 4002): #11     _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter ( 4002): #12     _CustomZone.runGuarded (dart:async/zone.dart:979:7)
E/flutter ( 4002): #13     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1019:23)
E/flutter ( 4002): #14     _rootRun (dart:async/zone.dart:1184:13)
E/flutter ( 4002): #15     _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter ( 4002): #16     _CustomZone.runGuarded (dart:async/zone.dart:979:7)
E/flutter ( 4002): #17     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1019:23)
E/flutter ( 4002): #18     _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
E/flutter ( 4002): #19     _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
E/flutter ( 4002): 
I/flutter ( 4002): [  NATIVE  ] RemoteDataTrackListener.onMessage => sid: MTb6866176f5ecf8e6fe849a5f7e50e460, message (ByteBuffer): java.nio.HeapByteBuffer[pos=0 lim=72 cap=72] 
E/flutter ( 4002): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>'
E/flutter ( 4002): #0      MethodChannelProgrammableVideo._parseRemoteDataTrackEvent (package:twilio_programmable_video_platform_interface/src/method_channel_programmable_video.dart:636:79)
E/flutter ( 4002): #1      _MapStream._handleData (dart:async/stream_pipe.dart:229:31)
E/flutter ( 4002): #2      _ForwardingStreamSubscription._handleData (dart:async/stream_pipe.dart:166:13)
E/flutter ( 4002): #3      _rootRunUnary (dart:async/zone.dart:1192:38)
E/flutter ( 4002): #4      _CustomZone.runUnary (dart:async/zone.dart:1085:19)
E/flutter ( 4002): #5      _CustomZone.runUnaryGuarded (dart:async/zone.dart:987:7)
E/flutter ( 4002): #6      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
E/flutter ( 4002): #7      _DelayedData.perform (dart:async/stream_impl.dart:594:14)
E/flutter ( 4002): #8      _StreamImplEvents.handleNext (dart:async/stream_impl.dart:710:11)
E/flutter ( 4002): #9      _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:670:7)
E/flutter ( 4002): #10     _rootRun (dart:async/zone.dart:1180:38)
E/flutter ( 4002): #11     _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter ( 4002): #12     _CustomZone.runGuarded (dart:async/zone.dart:979:7)
E/flutter ( 4002): #13     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1019:23)
E/flutter ( 4002): #14     _rootRun (dart:async/zone.dart:1184:13)
E/flutter ( 4002): #15     _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter ( 4002): #16     _CustomZone.runGuarded (dart:async/zone.dart:979:7)
E/flutter ( 4002): #17     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1019:23)
E/flutter ( 4002): #18     _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
E/flutter ( 4002): #19     _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
E/flutter ( 4002): 

More information

N/A