0

I was tring to test my app while talking on the phone, but it just kept crashing. As soon as I got off the phone, the app started working normally. Turns out my app crashes whenever I have my C Type headphones plugged in.

I'm using a Samsung Galaxy S21. My app was written in Python with Kivy, compiled using Buildozer, and posted to Google Play as an open Early Access. My script does not crash when compiling through the Pydroid 3 app

Since it's not crashing in the compiler app, I'm not sure how to tell why it's crashing as an installed app.

Update: I don't have this issue when my phone is connected to my car through Bluetooth or to my Galaxy Buds. It only crashes when it's connected to C Type headphones. I was able to reproduce the issue on a Galaxy Fold 3 and a Galaxy S23 Ultra, all of which have Android 13. Not sure if that's a factor.

Update2: The crashes are now showing up in the Crash details within my Google Play Console. Stack trace text can be found below. If I click one of the models, the next page will show the Largest crash cluster.

Largest crash cluster

org.libsdl.app.HIDDeviceUSB.getSerialNumber

Stack trace Sample attributes: samsung dm3q (Galaxy S23 Ultra) Android 13 (SDK 33) Version: 1021222 (0.222) Occurred: 16 hours ago Type: java.lang.RuntimeException

Exception java.lang.RuntimeException:
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$android-app-LoadedApk$ReceiverDispatcher$Args (LoadedApk.java:1928)
  at android.app.LoadedApk$ReceiverDispatcher$Args$$ExternalSyntheticLambda0.run
  at android.os.Handler.handleCallback (Handler.java:942)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at android.app.ActivityThread.main (ActivityThread.java:8747)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:571)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067)
Caused by java.lang.SecurityException:
  at android.os.Parcel.createExceptionOrNull (Parcel.java:3023)
  at android.os.Parcel.createException (Parcel.java:3007)
  at android.os.Parcel.readException (Parcel.java:2990)
  at android.os.Parcel.readException (Parcel.java:2932)
  at android.hardware.usb.IUsbSerialReader$Stub$Proxy.getSerial (IUsbSerialReader.java:126)
  at android.hardware.usb.UsbDevice.getSerialNumber (UsbDevice.java:157)
  at org.libsdl.app.HIDDeviceUSB.getSerialNumber (HIDDeviceUSB.java:54)
  at org.libsdl.app.HIDDeviceManager.connectHIDDeviceUSB (HIDDeviceManager.java:368)
  at org.libsdl.app.HIDDeviceManager.handleUsbDeviceAttached (HIDDeviceManager.java:332)
  at org.libsdl.app.HIDDeviceManager.access$000 (HIDDeviceManager.java:26)
  at org.libsdl.app.HIDDeviceManager$1.onReceive (HIDDeviceManager.java:69)
  at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$android-app-LoadedApk$ReceiverDispatcher$Args (LoadedApk.java:1918)
Caused by android.os.RemoteException: Remote stack trace:
  at com.android.server.usb.UsbUserPermissionManager.checkPermission (UsbUserPermissionManager.java:741)
  at com.android.server.usb.UsbSerialReader.getSerial (UsbSerialReader.java:98)
  at android.hardware.usb.IUsbSerialReader$Stub.onTransact (IUsbSerialReader.java:89)
  at android.os.Binder.execTransactInternal (Binder.java:1316)
  at android.os.Binder.execTransact (Binder.java:1280)
kschepps
  • 9
  • 2
  • Googling the Largest crash cluster brought me to this site: https://github.com/libsdl-org/SDL/issues/5660. I'm going to update by Buildozer to see if it resolves my issue. – kschepps Mar 02 '23 at 17:33

1 Answers1

0

I updated Buildozer and that fixed the crashing issue. Surprisingly, the music in my app now breaks when plugging the headphones in and out, but I'll take that over crashing the app any day.

kschepps
  • 9
  • 2