Bluetooth-related crash on GrapheneOS/Google Pixel devices
Got a new system update of GrapheneOS today, and updated Manyverse as well after booting into the new system. The app now crashes immediately upon launch.
Steps to reproduce the bug:
- Launch the app
Crash reports from AOSP crash reporter:npm run psdr
type: crash
osVersion: google/bluejay/bluejay:13/TP1A.221105.002/2022113000:user/release-keys
package: se.manyver:140
process: se.manyver
processUptime: 133 + 182 ms
java.lang.SecurityException: Need android.permission.BLUETOOTH_CONNECT permission for android.content.AttributionSource@90f07e33: getAddress
at android.os.Parcel.createExceptionOrNull(Parcel.java:3021)
at android.os.Parcel.createException(Parcel.java:3005)
at android.os.Parcel.readException(Parcel.java:2981)
at android.os.Parcel.readException(Parcel.java:2923)
at android.bluetooth.IBluetoothManager$Stub$Proxy.getAddress(IBluetoothManager.java:534)
at android.bluetooth.BluetoothAdapter.getAddress(BluetoothAdapter.java:1557)
at android.bluetooth.BluetoothSocket.<init>(BluetoothSocket.java:230)
at android.bluetooth.BluetoothSocket.<init>(BluetoothSocket.java:184)
at android.bluetooth.BluetoothServerSocket.<init>(BluetoothServerSocket.java:140)
at android.bluetooth.BluetoothAdapter.createNewRfcommSocketAndRecord(BluetoothAdapter.java:3454)
at android.bluetooth.BluetoothAdapter.listenUsingRfcommWithServiceRecord(BluetoothAdapter.java:3229)
at com.scuttlebutt.bluetoothbridge.bluetooth.BluetoothIncomingController.startServer(BluetoothIncomingController.java:78)
at com.scuttlebutt.bluetoothbridge.bluetooth.BluetoothIncomingController.start(BluetoothIncomingController.java:63)
at com.scuttlebutt.bluetoothbridge.BluetoothSocketBridgeModule.init(BluetoothSocketBridgeModule.java:91)
at com.scuttlebutt.bluetoothbridge.BluetoothSocketBridgeModule.<init>(BluetoothSocketBridgeModule.java:48)
at com.scuttlebutt.bluetoothbridge.BluetoothSocketBridgePackage.createNativeModules(BluetoothSocketBridgePackage.java:26)
at com.facebook.react.ReactPackageHelper.getNativeModuleIterator(ReactPackageHelper.java:42)
at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.java:42)
at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1425)
at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1396)
at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1287)
at com.facebook.react.ReactInstanceManager.access$1100(ReactInstanceManager.java:136)
at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:1065)
at java.lang.Thread.run(Thread.java:1012)
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.server.bluetooth.BluetoothManagerService.checkPermissionForDataDelivery(BluetoothManagerService.java:3112)
at com.android.server.bluetooth.BluetoothManagerService.checkConnectPermissionForDataDelivery(BluetoothManagerService.java:3130)
at com.android.server.bluetooth.BluetoothManagerService.getAddress(BluetoothManagerService.java:1809)
at android.bluetooth.IBluetoothManager$Stub.onTransact(IBluetoothManager.java:246)
at android.os.Binder.execTransactInternal(Binder.java:1302)