amazon-chime-sdk-android: Crash: Fatal Exception: java.lang.RuntimeException: Failed to query context
Describe the bug
I am seeing these crashes. Looking at the source code seems like it gets triggered when eglQueryContext
returns false. However, I don’t have clear steps to reproduce this. Generally happens when there are multiple renderviews triggered on screen.
To Reproduce
No clear steps. Expected behavior A clear and concise description of what you expected to happen.
Logs Fatal Exception: java.lang.RuntimeException: Failed to query context at com.amazonaws.services.chime.sdk.meetings.audiovideo.video.gl.DefaultEglCore.<init>(DefaultEglCore.kt:55) at com.amazonaws.services.chime.sdk.meetings.audiovideo.video.gl.DefaultEglCoreFactory.createEglCore(DefaultEglCoreFactory.kt:32) at com.amazonaws.services.chime.sdk.meetings.internal.video.gl.DefaultEglRenderer$init$1.invokeSuspend(DefaultEglRenderer.kt:72) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:214) at android.os.HandlerThread.run(HandlerThread.java:67)
Screenshots If applicable, add screenshots to help explain your problem.
Test environment Info (please complete the following information):
- Device: Pixel 3
- OS: Android 11
- Version amazon-chime-sdk: 0.9.0
- Version amazon-chime-sdk-media: 0.9.0
Additional context Add any other context about the problem here.
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Reactions: 3
- Comments: 24 (12 by maintainers)
I also have the same problem when there are multiple renderviews triggered on screen.
Fatal Exception: java.lang.RuntimeException: Failed to query context at com.amazonaws.services.chime.sdk.meetings.audiovideo.video.gl.DefaultEglCore.(DefaultEglCore.kt:55) at com.amazonaws.services.chime.sdk.meetings.audiovideo.video.gl.DefaultEglCoreFactory.createEglCore(DefaultEglCoreFactory.kt:32) at com.amazonaws.services.chime.sdk.meetings.internal.video.gl.DefaultEglRenderer$init$1.invokeSuspend(DefaultEglRenderer.kt:72) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:214) at android.os.HandlerThread.run(HandlerThread.java:67)
Test environment Info Device: AQUOS zero OS: Android 9 Version amazon-chime-sdk: 0.13.1 Version amazon-chime-sdk-media: 0.13.1
I see. So basically you just display the available videos of attendees in the meeting. Instead of creating render views for each attendee upon attendee presence events (join/leave), do you think you can maintain the bound video view collection and only create view when new video added? Something like: