Closed Bug 1674099 Opened 4 years ago Closed 5 months ago

java.lang.RuntimeException at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java:3)

Categories

(Core :: WebRTC, defect, P3)

Firefox 84
ARM
Android
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox-esr78 --- unaffected
firefox82 --- unaffected
firefox83 --- wontfix
firefox84 --- wontfix
firefox85 --- wontfix
firefox86 --- wontfix
firefox87 --- wontfix
firefox88 --- wontfix
firefox89 --- fix-optional
firefox90 --- fix-optional

People

(Reporter: eliza.balazs, Unassigned)

References

(Regression)

Details

(Keywords: crash, regression)

Crash Data

Steps to reproduce:

  1. Lanch Fenix and go to https://jsfiddle.net/pehrsons/yrbxrzhq/;
  2. Tap Start;
  3. Tap Allow from the "Allow jsfiddle.net to use your camera?" prompt;
  4. Repeat Step 3 for 27 times;

Expected result:
The prompt is displayed 27 times and at the end the log reads "DONE All 27 cases tested" at the bottom.

Actual result:
While tapping Allow from the prompt, the app crashes before getting to the 27th prompt:
https://crash-stats.mozilla.org/report/index/77454dff-8d56-40c3-b5f0-650740201029#tab-details

java.lang.RuntimeException
at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java:3)
at org.webrtc.TextureBufferImpl.toI420(TextureBufferImpl.java:1)
at org.webrtc.videoengine.VideoCaptureAndroid.onFrameCaptured(VideoCaptureAndroid.java:2)
at org.webrtc.CameraCapturer$2.onFrameCaptured(CameraCapturer.java:10)
at org.webrtc.Camera2Session$CaptureSessionCallback.lambda$onConfigured$0$Camera2Session$CaptureSessionCallback(Camera2Session.java:16)
at org.webrtc.-$$Lambda$Camera2Session$CaptureSessionCallback$UDvzHNj8-cAJE1WNByx98pxD9vA.onFrame(Unknown Source:2)
at org.webrtc.SurfaceTextureHelper.tryDeliverTextureFrame(SurfaceTextureHelper.java:21)
at org.webrtc.SurfaceTextureHelper.lambda$new$0$SurfaceTextureHelper(SurfaceTextureHelper.java:2)
at org.webrtc.-$$Lambda$SurfaceTextureHelper$7YTfC0byyd0o_zI7mNhfP12Gm0Q.onFrameAvailable(Unknown Source:2)
at android.graphics.SurfaceTexture$1.handleMessage(SurfaceTexture.java:206)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.os.HandlerThread.run(HandlerThread.java:65)

Device details: Motorola Moto G6 (Android 8)
Fenix version: Nightly 201029 05:01 (Build #2015772457) GV 84.0a1 from 10/29

This is not reproducible on https://jsfiddle.net/jib1/zaw8r956/
This issue is not reproducible with Pixel 2 (Android 9)

We seem to be getting an exception from yuvConverter.convert().

We could be out of video memory.

That would be a pity. We should handle such errors gracefully.

It seems like an issue in upstream still too.

OTOH, this test case is a bit artificial and might be triggering excess video memory usage. It might be useful looking into whether all these surfaces are cleaned up in a timely manner.

This is android (thus geckoview) specific, but it's in libwebrtc, which is owned by the media team.

Severity: -- → S3
Component: General → WebRTC
Priority: -- → P3
Product: GeckoView → Core

Set release status flags based on info from the regressing bug 1616729

Crash Signature: java.lang.RuntimeException at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java:3) → [@ java.lang.RuntimeException: at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java)]
Keywords: crash

Only a handful of crashes in pre-release, wontfix for 83.

Has Regression Range: --- → yes
Crash Signature: [@ java.lang.RuntimeException: at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java)] → [@ java.lang.RuntimeException: at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly]
Crash Signature: [@ java.lang.RuntimeException: at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly] → [@ java.lang.RuntimeException: at org.webrtc.ThreadUtils.invokeAtFrontUninterruptibly(ThreadUtils.java)]

Closing because no crashes reported for 12 weeks.

Status: NEW → RESOLVED
Closed: 5 months ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.