Null pointer exception in HMS Track
Harshal624 opened this issue · 3 comments
100ms version: 2.6.2
All android devices crashed at same time during a video call.
Device 1:
Android 9
OnePlus5
Device 2:
Android 13
Samsung Galaxy M33
Stack trace:
Fatal Exception: java.lang.NullPointerException: null cannot be cast to non-null type live.hms.video.media.tracks.HMSTrack
at live.hms.video.media.tracks.HMSTrack.equals(HMSTrack.java:65)
at kotlin.jvm.internal.Intrinsics.areEqual(Intrinsics.java:167)
at com.intouchapp.activities.video.repo.MeetingParticipant.equals(MeetingParticipant.java:49)
at java.util.AbstractList.equals(AbstractList.java:548)
at kotlin.jvm.internal.Intrinsics.areEqual(Intrinsics.java:167)
at kotlinx.coroutines.flow.StateFlowImpl.updateState(StateFlowImpl.java:329)
at kotlinx.coroutines.flow.StateFlowImpl.setValue(StateFlowImpl.java:318)
at com.intouchapp.activities.video.ui.VideoCallViewModel.refreshParticipants(VideoCallViewModel.java:529)
at com.intouchapp.activities.video.ui.VideoCallViewModel$hmsUpdateListener$1.onTrackUpdate(VideoCallViewModel.java:290)
at live.hms.video.sdk.SDKDelegate.fireUpdates(SDKDelegate.java:392)
at live.hms.video.sdk.SDKDelegate.access$fireUpdates(SDKDelegate.java:54)
at live.hms.video.sdk.SDKDelegate$transportObserver$1.onTrackRemove(SDKDelegate.java:206)
at live.hms.video.transport.HMSTransport$subscribeConnectionObserver$1.onTrackRemove(HMSTransport.java:363)
at live.hms.video.connection.subscribe.HMSSubscribeConnection$nativeObserver$1$onRemoveTrack$1.invokeSuspend(HMSSubscribeConnection.java:119)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(BaseContinuationImpl.java:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.java:106)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:463)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Note: The "MeetingParticipant.equals" must have happened during diffutil's areContentsTheSame callback
@Harshal624 do use the latest sdk version, this issue was fixed in 2.6.6 but the current is 2.7.2
Oh ok, thanks