EAS Application crash when camera with bar code is launched

I experienced an issue with the Camera component.

I Have a simple component with a camera like that:

const onQrCodeScan = (result) => console.log(result);

...

<Camera
    key={ratio}
    onBarCodeScanned={onQrCodeScan}
    barCodeScannerSettings={{
      barCodeTypes: ['qr'],
    }}
    style={styles.camera}
    type={Camera.Constants.Type.back}
/>

Issue:

  • When built with expli-cli, the application works well
  • When built with eas-cli, the application crash when the camera is loaded

The logcat command for my device shows this exception:

java.lang.RuntimeException: An error occurred while executing doInBackground()
	at android.os.AsyncTask$AsyncFutureTask.done(AsyncTask.java:429)
	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:292)
	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:929)
Caused by: java.lang.IllegalArgumentException: Scan output cannot be null
	at expo.modules.barcodescanner.scanners.ZxingBarCodeScanner.scan(ZxingBarCodeScanner.kt:56)
	at expo.modules.camera.tasks.BarCodeScannerAsyncTask.doInBackground(BarCodeScannerAsyncTask.java:36)
	at expo.modules.camera.tasks.BarCodeScannerAsyncTask.doInBackground(BarCodeScannerAsyncTask.java:6)
	at android.os.AsyncTask$3.call(AsyncTask.java:389)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	... 4 more

My app is currently using:

  • Managed workflow
  • expo 42
  • eas-cli/0.33.0 darwin-x64 node-v12.22.6

I tried:

  • Upgrading to expo 43 : same issue
  • Switching from expo-camera to expo-barcode-scanner: same issue

Any idea ?

if you believe this is a bug, can you please share a reproducible example and post this as an issue on Issues · expo/expo · GitHub? thanks!