RuntimeException when scanning QR code
Briar crashed while scanning a QR code. This looks like a bug in libcore or the standard library so I'm not adding it to the current milestone for now. If we get crash reports then let's add it to the milestone and look for a workaround.
- Android version: 9 (EMUI 9.0.1)
- Phone model: Honor 8A
- Briar version: current master (d210215b)
Stacktrace:
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:355)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:246)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:784)
Caused by: java.lang.AssertionError: impossible
at java.lang.Enum$1.create(Enum.java:272)
at java.lang.Enum$1.create(Enum.java:262)
at libcore.util.BasicLruCache.get(BasicLruCache.java:58)
at java.lang.Enum.getSharedConstants(Enum.java:289)
at java.lang.Class.getEnumConstantsShared(Class.java:2423)
at java.util.EnumMap.getKeyUniverse(EnumMap.java:755)
at java.util.EnumMap.<init>(EnumMap.java:138)
at com.google.zxing.Result.putMetadata(Result.java:117)
at com.google.zxing.qrcode.QRCodeReader.decode(QRCodeReader.java:90)
at org.briarproject.briar.android.keyagreement.QrCodeDecoder$DecoderTask.doInBackground(QrCodeDecoder.java:109)
at org.briarproject.briar.android.keyagreement.QrCodeDecoder$DecoderTask.doInBackground(QrCodeDecoder.java:91)
at android.os.AsyncTask$2.call(AsyncTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:246)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:784)
Caused by: java.lang.NoSuchMethodException: values []
at java.lang.Class.getMethod(Class.java:2068)
at java.lang.Class.getDeclaredMethod(Class.java:2047)
at java.lang.Enum$1.create(Enum.java:268)
at java.lang.Enum$1.create(Enum.java:262)
at libcore.util.BasicLruCache.get(BasicLruCache.java:58)
at java.lang.Enum.getSharedConstants(Enum.java:289)
at java.lang.Class.getEnumConstantsShared(Class.java:2423)
at java.util.EnumMap.getKeyUniverse(EnumMap.java:755)
at java.util.EnumMap.<init>(EnumMap.java:138)
at com.google.zxing.Result.putMetadata(Result.java:117)
at com.google.zxing.qrcode.QRCodeReader.decode(QRCodeReader.java:90)
at org.briarproject.briar.android.keyagreement.QrCodeDecoder$DecoderTask.doInBackground(QrCodeDecoder.java:109)
at org.briarproject.briar.android.keyagreement.QrCodeDecoder$DecoderTask.doInBackground(QrCodeDecoder.java:91)
at android.os.AsyncTask$2.call(AsyncTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:246)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:784)