livekit / client-sdk-android

LiveKit SDK for Android
https://docs.livekit.io
Apache License 2.0
176 stars 69 forks source link

ConcurrentModificationException:io.livekit.android.room.track.VideoTrack.stop #321

Closed shoyu666 closed 8 months ago

shoyu666 commented 10 months ago

Describe the bug Process: com.taizhen.android.livekitclient.viewer, PID: 20490 java.util.ConcurrentModificationException at java.util.ArrayList$Itr.next(ArrayList.java:860) at io.livekit.android.room.track.VideoTrack.stop(VideoTrack.kt:43) at io.livekit.android.room.track.RemoteVideoTrack.stop(RemoteVideoTrack.kt:91) at io.livekit.android.room.participant.RemoteParticipant.unpublishTrack(RemoteParticipant.kt:184) at io.livekit.android.room.Room.handleParticipantDisconnect(Room.kt:357) at io.livekit.android.room.Room.onUpdateParticipants(Room.kt:735) at io.livekit.android.room.RTCEngine.onParticipantUpdate(RTCEngine.kt:822) at io.livekit.android.room.SignalClient.handleSignalResponseImpl(SignalClient.kt:621) at io.livekit.android.room.SignalClient.access$handleSignalResponseImpl(SignalClient.kt:55) at io.livekit.android.room.SignalClient$onReadyForResponses$1$1$1.emit(SignalClient.kt:215) at io.livekit.android.room.SignalClient$onReadyForResponses$1$1$1.emit(SignalClient.kt:213) at kotlinx.coroutines.flow.SharedFlowImpl.collect$suspendImpl(SharedFlow.kt:382) at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.invokeSuspend(Unknown Source:15) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:100) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

Device Info:

wzJun1 commented 8 months ago

+1

davidliu commented 8 months ago

Fixed as of 1.6.4