[Firefox for Android] JNI error while running android native vp8 encoder

ASSIGNED
Assigned to

Status

()

P3
normal
Rank:
25
ASSIGNED
2 years ago
2 years ago

People

(Reporter: mchiang, Assigned: mchiang)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

1. Turn on the preference media.navigator.hardware.vp8_encode.acceleration_enabled
2. Go to the website https://webrtc.github.io/samples/src/content/peerconnection/pc1/
3. Run Start & Call

The process will crash because of the below JNI error.

03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: use of deleted local reference 0xe5e5e5e5
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410] "Thread-413" prio=5 tid=38 Runnable
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   | group="main" sCount=0 dsCount=0 obj=0x12cfe280 self=0x8be4a200
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   | sysTid=28633 nice=0 cgrp=default sched=0/0 handle=0x85cfa930
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   | state=R schedstat=( 4379947 440209 24 ) utm=0 stm=0 core=2 HZ=100
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   | stack=0x85bfc000-0x85bfe000 stackSize=1022KB
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   | held mutexes= "mutator lock"(shared held)
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   native: #00 pc 00370e01  /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_9ArtMethodEPv+160)
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   native: #01 pc 0035046f  /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+150)
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   native: #02 pc 0025a725  /system/lib/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+740)
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   native: #03 pc 0025ae7b  /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortFEPKcS2_z+74)
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   native: #04 pc 00351231  /system/lib/libart.so (_ZNK3art6Thread13DecodeJObjectEP8_jobject+708)
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   native: #05 pc 001012a1  /system/lib/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE.constprop.95+908)
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   native: #06 pc 00116e2d  /system/lib/libart.so (_ZN3art8CheckJNI9DeleteRefEPKcP7_JNIEnvP8_jobjectNS_15IndirectRefKindE+456)
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   native: #07 pc 01aeb611  /data/data/org.mozilla.fennec_mchiang/cache/libxul.so (???)
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]   (no managed stack frames)
03-30 06:48:32.766 27469 28633 F art     : art/runtime/java_vm_ext.cc:410]
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Assignee: nobody → mchiang
Status: NEW → ASSIGNED
Rank: 25
Priority: -- → P2

Comment 3

2 years ago
mozreview-review
Comment on attachment 8852709 [details]
Bug 1351896 - Fix Android JNI error while running android native vp8 encoder;

https://reviewboard.mozilla.org/r/124874/#review127860

::: media/webrtc/signaling/src/media-conduit/WebrtcMediaCodecVP8VideoCodec.cpp
(Diff revision 2)
>    }
>  
>    jobjectArray GetInputBuffers() {
>      JNIEnv* env = jsjni_GetJNIForThread();
>  
> -    if (mInputBuffers) {

Have you tried making `mInputBuffers` and `mOutputBuffers` Jim's smart type(`jni::ObjectArray::GlobalRef`) rather than JNI ray type(`jobjectArray`)? I think that will take care of the invlid object issue you met.
Attachment #8852709 - Flags: review?(jolin) → review-
Mass change P2->P3 to align with new Mozilla triage process.
Priority: P2 → P3
You need to log in before you can comment on or make changes to this bug.