RuntimeException: Camera is being used after Camera.release() was called
I'm one of the developers of Briar, an Android messaging app that uses the camera for scanning QR codes. We've received four crash reports with the same stacktrace. One of the reports mentions that the user is running Replicant 6.003 and the other reports have the same Android version, which is too recent to be a stock ROM for these devices. I suspect this may be a Replicant bug as we haven't had any other reports.
- Android version: 6.0.1
- Phone model: Samsung GT-I9100 and GT-I9300 (S2 4G and S3 Neo, respectively)
- User feedback: "I could not scan other device. They could scan me. I have Replicant 6.003."
- Downstream ticket: https://code.briarproject.org/briar/briar/issues/1523
java.lang.RuntimeException: Camera is being used after Camera.release() was called at android.hardware.Camera.native_getParameters(Native Method) at android.hardware.Camera.getParameters(Camera.java:1999) at android.hardware.Camera$EventHandler.handleMessage(Camera.java:1152) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5461) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Keep fighting the good fight! :-)
Updated by Fil Bergamo about 2 years ago
thank you very much for taking the time to report this issue.
This is probably related to the software rendering implementation being incomplete in Replicant.
Other barcode scanning applications are known not to work on Replicant for the same reason.
I'm going to debug the issue anyway, and report my findings here.
Thank you again.