DFU to pinetime crashes gadgetbridge #2304

Closed
opened 2021-05-29 23:15:44 +02:00 by ecksun · 9 comments

Before reporting a bug, please confirm the following:

  • I have read the wiki, and I didn't find a solution to my problem / an answer to my question.
  • I have searched the issues, and I didn't find a solution to my problem / an answer to my question.
  • If you upload an image or other content, please make sure you have read and understood the Codeberg Terms of Use

I got Gadgetbridge from:

  • F-Droid
  • I built it myself from source code (specify tag / commit)

Your issue is:

I tried with two DFU zip files:

When I opened the zip files with gadgetbridge (which I did from two different file managers) gadgetbridge manages to connect (I think) and then tells me "Element cannot be installed" or it crashes immedately with the log attached below.

Gadgetbridge can pair with the watch and things like setting the time works.

Enabling logging in gadgetbridge does not appear to have any effect, there is no files in /sdcard/Android/data/nodomain.freeyourgadget.gadgetbridge/files/ after the crash.

adb logcat crash ``` 05-29 14:04:36.777 5773 5773 I ResolverListAdapter: Add DisplayResolveInfo component: ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}, intent component: ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity} 05-29 14:04:36.778 5773 5773 I ResolverListAdapter: Add DisplayResolveInfo component: ComponentInfo{com.termux/com.termux.filepicker.TermuxFileReceiverActivity}, intent component: ComponentInfo{com.termux/com.termux.filepicker.TermuxFileReceiverActivity} 05-29 14:04:36.820 3658 3658 I HK/LatinKbdBaseView: closing org.pocketworkstation.pckeyboard.LatinKeyboardView{8850452 V.ED..... ......ID 0,0-1080,616 #7f080004 app:id/LatinkeyboardBaseView} 05-29 14:04:36.845 5773 5773 W Choreographer: Frame time is 0.33657598 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase. 05-29 14:04:36.855 776 776 D android.hardware.power@1.3-service.oneplus_msm8998: LAUNCH OFF 05-29 14:04:37.606 1317 1317 W WindowManager: removeWindowToken: Attempted to remove non-existing token: android.os.Binder@d9e2b5d 05-29 14:04:37.782 1317 6166 D CompatibilityChangeReporter: Compat change id reported: 149924527; UID 10080; state: ENABLED 05-29 14:04:37.783 1317 6166 D CompatibilityChangeReporter: Compat change id reported: 132649864; UID 10080; state: DISABLED 05-29 14:04:37.791 1317 6166 I ActivityTaskManager: START u0 {act=android.intent.action.VIEW dat=content://media/external/file/37589 typ=application/zip flg=0x3000001 cmp=nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity (has extras)} from uid 10091 05-29 14:04:37.795 776 776 D android.hardware.power@1.3-service.oneplus_msm8998: LAUNCH ON 05-29 14:04:37.802 1317 6166 W ActivityTaskManager: Tried to set launchTime (0) < mLastActivityLaunchTime (3000999) 05-29 14:04:37.836 3792 6560 I MediaProvider: Using lower FS for /storage/emulated/0/Download/pinetime-mcuboot-app-dfu-1.1.0.zip 05-29 14:04:37.840 8398 8398 D nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeInstallHandler: Found manifest.json in DFU zip 05-29 14:04:37.843 8398 8398 D AndroidRuntime: Shutting down VM 05-29 14:04:37.844 8398 8398 E AndroidRuntime: FATAL EXCEPTION: main 05-29 14:04:37.844 8398 8398 E AndroidRuntime: Process: nodomain.freeyourgadget.gadgetbridge, PID: 8398 05-29 14:04:37.844 8398 8398 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}: java.lang.NullPointerException 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7660) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: Caused by: java.lang.NullPointerException 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeInstallHandler.(PineTimeInstallHandler.java:97) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeJFCoordinator.findInstallHandler(PineTimeJFCoordinator.java:59) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.findInstallHandlerFor(FwAppInstallerActivity.java:234) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.onCreate(FwAppInstallerActivity.java:211) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8000) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7984) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: ... 11 more 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: Uncaught exception: Unable to start activity ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}: java.lang.NullPointerExceptionjava.lang.RuntimeException: Unable to start activity ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}: java.lang.NullPointerException 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.os.Handler.dispatchMessage(Handler.java:106) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.os.Looper.loop(Looper.java:223) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.main(ActivityThread.java:7660) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at java.lang.reflect.Method.invoke(Native Method) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: Caused by: java.lang.NullPointerException: null 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeInstallHandler.(PineTimeInstallHandler.java:97) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeJFCoordinator.findInstallHandler(PineTimeJFCoordinator.java:59) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.findInstallHandlerFor(FwAppInstallerActivity.java:234) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.onCreate(FwAppInstallerActivity.java:211) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.Activity.performCreate(Activity.java:8000) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.Activity.performCreate(Activity.java:7984) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: ... 11 common frames omitted 05-29 14:04:37.850 1317 8744 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2 05-29 14:04:37.850 1317 6166 W ActivityTaskManager: Force finishing activity nodomain.freeyourgadget.gadgetbridge/.activities.ControlCenterv2 05-29 14:04:37.852 1317 6166 W ActivityTaskManager: Force finishing activity nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity 05-29 14:04:38.357 1317 1339 W ActivityTaskManager: Activity top resumed state loss timeout for ActivityRecord{56858 u0 nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity t18675 f}} 05-29 14:04:38.357 1317 1339 W ActivityTaskManager: Activity pause timeout for ActivityRecord{56858 u0 nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity t18675 f}} 05-29 14:04:38.376 776 776 D android.hardware.power@1.3-service.oneplus_msm8998: LAUNCH OFF 05-29 14:04:39.345 0 0 W [20210529_14:04:39.345278]@3 healthd: battery l=86 v=4213 t=30.5 h=2 st=2 c=-131000 fc=2878000 cc=0 chg=u 05-29 14:04:39.361 769 769 I LightService: setBrightness: brightness=255 05-29 14:04:39.362 769 769 I LightService: setBrightness: brightness=255 05-29 14:04:39.362 769 769 I LightService: setBrightness: brightness=0 05-29 14:04:39.553 1317 6166 W WindowManager: Force finishing activity nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity 05-29 14:04:39.555 1317 6166 W WindowManager: Force finishing activity nodomain.freeyourgadget.gadgetbridge/.activities.ControlCenterv2 05-29 14:04:39.564 1317 6166 I ActivityManager: Killing 8398:nodomain.freeyourgadget.gadgetbridge/u0a80 (adj 50): crash 05-29 14:04:39.569 1317 1317 V NotificationListeners: 0 notification listener connection lost: ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.externalevents.NotificationListener} 05-29 14:04:39.569 1317 1317 W NotificationListeners: 0 notification listener binding died: ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.externalevents.NotificationListener} 05-29 14:04:39.570 8623 8623 I cr_ChildProcessService: Destroying ChildProcessService pid=8623 05-29 14:04:39.572 1317 1317 I ActivityManager: Killing 8623:com.android.webview:sandboxed_process0:org.chromium.content.app.SandboxedProcessService0:0/u0a80i0 (adj 0): isolated not needed 05-29 14:04:39.572 8623 8623 I ocessService0:: System.exit called, status: 0 05-29 14:04:39.573 1317 1317 V NotificationListeners: onNullBinding() called with: name = [ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.externalevents.NotificationListener}] 05-29 14:04:39.583 3658 3658 I HK/LatinKbdBaseView: closing org.pocketworkstation.pckeyboard.LatinKeyboardView{8850452 V.ED..... ......ID 0,0-1080,616 #7f080004 app:id/LatinkeyboardBaseView} 05-29 14:04:39.586 1317 1339 W ActivityManager: setHasOverlayUi called on unknown pid: 8398 05-29 14:04:39.586 1317 8365 D NotificationListeners: Removing active service ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.externalevents.NotificationListener} 05-29 14:04:39.588 7638 7689 I bt_stack: [INFO:gatt_api.cc(1219)] GATT_Disconnect conn_id=0x0005 05-29 14:04:39.588 698 698 I Zygote : Process 8398 exited due to signal 9 (Killed) 05-29 14:04:39.589 0 0 I : [20210529_14:04:39.588217]@3 process 8398:et.gadgetbridge, 8419:Profile Saver send sig:17 to process 698:main ```

Your wearable device is:

Pinetime (just got it from factory) running infinitime version 0.7.1

Your android version is:

Android 11 - lineageos 18.1

Your Gadgetbridge version is:

0.57.0

#### Before reporting a bug, please confirm the following: - [x] I have read the [wiki](https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki), and I didn't find a solution to my problem / an answer to my question. - [x] I have searched the [issues](https://codeberg.org/Freeyourgadget/Gadgetbridge/issues), and I didn't find a solution to my problem / an answer to my question. - [x] If you upload an image or other content, please make sure you have read and understood the [Codeberg Terms of Use](https://codeberg.org/codeberg/org/src/branch/master/TermsOfUse.md) ### I got Gadgetbridge from: * [x] F-Droid * [ ] I built it myself from source code (specify tag / commit) #### Your issue is: I tried with two DFU zip files: - https://github.com/JF002/InfiniTime/releases/download/1.0.0/pinetime-mcuboot-app-dfu-1.0.0.zip - https://github.com/JF002/InfiniTime/releases/download/1.1.0/pinetime-mcuboot-app-dfu-1.1.0.zip When I opened the zip files with gadgetbridge (which I did from two different file managers) gadgetbridge manages to connect (I think) and then tells me "Element cannot be installed" or it crashes immedately with the log attached below. Gadgetbridge can pair with the watch and things like setting the time works. Enabling logging in gadgetbridge does not appear to have any effect, there is no files in `/sdcard/Android/data/nodomain.freeyourgadget.gadgetbridge/files/` after the crash. <details> <summary>adb logcat crash</summary> ``` 05-29 14:04:36.777 5773 5773 I ResolverListAdapter: Add DisplayResolveInfo component: ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}, intent component: ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity} 05-29 14:04:36.778 5773 5773 I ResolverListAdapter: Add DisplayResolveInfo component: ComponentInfo{com.termux/com.termux.filepicker.TermuxFileReceiverActivity}, intent component: ComponentInfo{com.termux/com.termux.filepicker.TermuxFileReceiverActivity} 05-29 14:04:36.820 3658 3658 I HK/LatinKbdBaseView: closing org.pocketworkstation.pckeyboard.LatinKeyboardView{8850452 V.ED..... ......ID 0,0-1080,616 #7f080004 app:id/LatinkeyboardBaseView} 05-29 14:04:36.845 5773 5773 W Choreographer: Frame time is 0.33657598 ms in the future! Check that graphics HAL is generating vsync timestamps using the correct timebase. 05-29 14:04:36.855 776 776 D android.hardware.power@1.3-service.oneplus_msm8998: LAUNCH OFF 05-29 14:04:37.606 1317 1317 W WindowManager: removeWindowToken: Attempted to remove non-existing token: android.os.Binder@d9e2b5d 05-29 14:04:37.782 1317 6166 D CompatibilityChangeReporter: Compat change id reported: 149924527; UID 10080; state: ENABLED 05-29 14:04:37.783 1317 6166 D CompatibilityChangeReporter: Compat change id reported: 132649864; UID 10080; state: DISABLED 05-29 14:04:37.791 1317 6166 I ActivityTaskManager: START u0 {act=android.intent.action.VIEW dat=content://media/external/file/37589 typ=application/zip flg=0x3000001 cmp=nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity (has extras)} from uid 10091 05-29 14:04:37.795 776 776 D android.hardware.power@1.3-service.oneplus_msm8998: LAUNCH ON 05-29 14:04:37.802 1317 6166 W ActivityTaskManager: Tried to set launchTime (0) < mLastActivityLaunchTime (3000999) 05-29 14:04:37.836 3792 6560 I MediaProvider: Using lower FS for /storage/emulated/0/Download/pinetime-mcuboot-app-dfu-1.1.0.zip 05-29 14:04:37.840 8398 8398 D nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeInstallHandler: Found manifest.json in DFU zip 05-29 14:04:37.843 8398 8398 D AndroidRuntime: Shutting down VM 05-29 14:04:37.844 8398 8398 E AndroidRuntime: FATAL EXCEPTION: main 05-29 14:04:37.844 8398 8398 E AndroidRuntime: Process: nodomain.freeyourgadget.gadgetbridge, PID: 8398 05-29 14:04:37.844 8398 8398 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}: java.lang.NullPointerException 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7660) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: Caused by: java.lang.NullPointerException 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeInstallHandler.<init>(PineTimeInstallHandler.java:97) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeJFCoordinator.findInstallHandler(PineTimeJFCoordinator.java:59) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.findInstallHandlerFor(FwAppInstallerActivity.java:234) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.onCreate(FwAppInstallerActivity.java:211) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8000) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7984) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404) 05-29 14:04:37.844 8398 8398 E AndroidRuntime: ... 11 more 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: Uncaught exception: Unable to start activity ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}: java.lang.NullPointerExceptionjava.lang.RuntimeException: Unable to start activity ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}: java.lang.NullPointerException 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.os.Handler.dispatchMessage(Handler.java:106) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.os.Looper.loop(Looper.java:223) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.main(ActivityThread.java:7660) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at java.lang.reflect.Method.invoke(Native Method) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: Caused by: java.lang.NullPointerException: null 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeInstallHandler.<init>(PineTimeInstallHandler.java:97) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeJFCoordinator.findInstallHandler(PineTimeJFCoordinator.java:59) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.findInstallHandlerFor(FwAppInstallerActivity.java:234) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.onCreate(FwAppInstallerActivity.java:211) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.Activity.performCreate(Activity.java:8000) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.Activity.performCreate(Activity.java:7984) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404) ~[na:0.0] 05-29 14:04:37.848 8398 8398 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: ... 11 common frames omitted 05-29 14:04:37.850 1317 8744 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2 05-29 14:04:37.850 1317 6166 W ActivityTaskManager: Force finishing activity nodomain.freeyourgadget.gadgetbridge/.activities.ControlCenterv2 05-29 14:04:37.852 1317 6166 W ActivityTaskManager: Force finishing activity nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity 05-29 14:04:38.357 1317 1339 W ActivityTaskManager: Activity top resumed state loss timeout for ActivityRecord{56858 u0 nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity t18675 f}} 05-29 14:04:38.357 1317 1339 W ActivityTaskManager: Activity pause timeout for ActivityRecord{56858 u0 nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity t18675 f}} 05-29 14:04:38.376 776 776 D android.hardware.power@1.3-service.oneplus_msm8998: LAUNCH OFF 05-29 14:04:39.345 0 0 W [20210529_14:04:39.345278]@3 healthd: battery l=86 v=4213 t=30.5 h=2 st=2 c=-131000 fc=2878000 cc=0 chg=u 05-29 14:04:39.361 769 769 I LightService: setBrightness: brightness=255 05-29 14:04:39.362 769 769 I LightService: setBrightness: brightness=255 05-29 14:04:39.362 769 769 I LightService: setBrightness: brightness=0 05-29 14:04:39.553 1317 6166 W WindowManager: Force finishing activity nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity 05-29 14:04:39.555 1317 6166 W WindowManager: Force finishing activity nodomain.freeyourgadget.gadgetbridge/.activities.ControlCenterv2 05-29 14:04:39.564 1317 6166 I ActivityManager: Killing 8398:nodomain.freeyourgadget.gadgetbridge/u0a80 (adj 50): crash 05-29 14:04:39.569 1317 1317 V NotificationListeners: 0 notification listener connection lost: ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.externalevents.NotificationListener} 05-29 14:04:39.569 1317 1317 W NotificationListeners: 0 notification listener binding died: ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.externalevents.NotificationListener} 05-29 14:04:39.570 8623 8623 I cr_ChildProcessService: Destroying ChildProcessService pid=8623 05-29 14:04:39.572 1317 1317 I ActivityManager: Killing 8623:com.android.webview:sandboxed_process0:org.chromium.content.app.SandboxedProcessService0:0/u0a80i0 (adj 0): isolated not needed 05-29 14:04:39.572 8623 8623 I ocessService0:: System.exit called, status: 0 05-29 14:04:39.573 1317 1317 V NotificationListeners: onNullBinding() called with: name = [ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.externalevents.NotificationListener}] 05-29 14:04:39.583 3658 3658 I HK/LatinKbdBaseView: closing org.pocketworkstation.pckeyboard.LatinKeyboardView{8850452 V.ED..... ......ID 0,0-1080,616 #7f080004 app:id/LatinkeyboardBaseView} 05-29 14:04:39.586 1317 1339 W ActivityManager: setHasOverlayUi called on unknown pid: 8398 05-29 14:04:39.586 1317 8365 D NotificationListeners: Removing active service ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.externalevents.NotificationListener} 05-29 14:04:39.588 7638 7689 I bt_stack: [INFO:gatt_api.cc(1219)] GATT_Disconnect conn_id=0x0005 05-29 14:04:39.588 698 698 I Zygote : Process 8398 exited due to signal 9 (Killed) 05-29 14:04:39.589 0 0 I : [20210529_14:04:39.588217]@3 process 8398:et.gadgetbridge, 8419:Profile Saver send sig:17 to process 698:main ``` </details> #### Your wearable device is: Pinetime (just got it from factory) running infinitime version 0.7.1 #### Your android version is: Android 11 - lineageos 18.1 #### Your Gadgetbridge version is: 0.57.0
Author

Freeyourgadget/Gadgetbridge@0b021d72ab looks related. Do you have any thoughts @TaaviE ?

https://codeberg.org/Freeyourgadget/Gadgetbridge/commit/0b021d72ab092de95efac5a5a8c87c12dd194391 looks related. Do you have any thoughts @TaaviE ?
Contributor

Do you have any thoughts?

Try the new version once its shipped and see if the issue persists?

From that logcat I can't tell if its the same issue or not.

> Do you have any thoughts? Try the new version once its shipped and see if the issue persists? From that logcat I can't tell if its the same issue or not.
Owner

I just tagged 0.57.1 yesterday with the change. Now we wait for F-Droid.

I just tagged 0.57.1 yesterday with the change. Now we wait for F-Droid.

I experienced the same issue reported here on gadgetbridge version 0.57. However, have worked around it by installing previous version 0.56.2 and then successfully upgraded the PineTime watch from factory default 0.7.1 to 1.0.0.

The first time I tried, it failed at about the 70% mark but discovered this was due to the watch display timing out.

Retried again but this time keeping the watch display on by tapping the screen to prevent it from sleeping. Firmware was successfully loaded this way. I then went and validated the firmware on the watch.

Will test the new Gadgetbridge version once f-droid make 0.57.1 available.

I experienced the same issue reported here on gadgetbridge version 0.57. However, have worked around it by installing previous version 0.56.2 and then successfully upgraded the PineTime watch from factory default 0.7.1 to 1.0.0. The first time I tried, it failed at about the 70% mark but discovered this was due to the watch display timing out. Retried again but this time keeping the watch display on by tapping the screen to prevent it from sleeping. Firmware was successfully loaded this way. I then went and validated the firmware on the watch. Will test the new Gadgetbridge version once f-droid make 0.57.1 available.
Author

Tried it again with 0.57.1 and got a very similar crash:

adb logcat crash ``` --------- beginning of crash 06-08 22:13:41.620 3917 3917 E AndroidRuntime: FATAL EXCEPTION: main 06-08 22:13:41.620 3917 3917 E AndroidRuntime: Process: nodomain.freeyourgadget.gadgetbridge, PID: 3917 06-08 22:13:41.620 3917 3917 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}: java.lang.NullPointerException 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7660) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: Caused by: java.lang.NullPointerException 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeInstallHandler.(PineTimeInstallHandler.java:95) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeJFCoordinator.findInstallHandler(PineTimeJFCoordinator.java:59) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.findInstallHandlerFor(FwAppInstallerActivity.java:234) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.onCreate(FwAppInstallerActivity.java:211) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8000) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7984) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: ... 11 more 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: Uncaught exception: Unable to start activity ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}: java.lang.NullPointerExceptionjava.lang.RuntimeException: Unable to start activity ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}: java.lang.NullPointerException 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.os.Handler.dispatchMessage(Handler.java:106) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.os.Looper.loop(Looper.java:223) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.main(ActivityThread.java:7660) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at java.lang.reflect.Method.invoke(Native Method) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: Caused by: java.lang.NullPointerException: null 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeInstallHandler.(PineTimeInstallHandler.java:95) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeJFCoordinator.findInstallHandler(PineTimeJFCoordinator.java:59) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.findInstallHandlerFor(FwAppInstallerActivity.java:234) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.onCreate(FwAppInstallerActivity.java:211) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.Activity.performCreate(Activity.java:8000) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.Activity.performCreate(Activity.java:7984) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: ... 11 common frames omitted 06-08 22:13:41.624 1511 15357 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2 06-08 22:13:41.624 1511 2741 W ActivityTaskManager: Force finishing activity nodomain.freeyourgadget.gadgetbridge/.activities.ControlCenterv2 06-08 22:13:41.627 1511 2741 W ActivityTaskManager: Force finishing activity nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity 06-08 22:13:42.135 1511 1729 W ActivityTaskManager: Activity top resumed state loss timeout for ActivityRecord{64ae140 u0 nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity t19015 f}} 06-08 22:13:42.135 1511 1729 W ActivityTaskManager: Activity pause timeout for ActivityRecord{64ae140 u0 nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity t19015 f}} 06-08 22:13:42.155 807 807 D android.hardware.power@1.3-service.oneplus_msm8998: LAUNCH OFF ```
Tried it again with 0.57.1 and got a very similar crash: <details> <summary>adb logcat crash</summary> ``` --------- beginning of crash 06-08 22:13:41.620 3917 3917 E AndroidRuntime: FATAL EXCEPTION: main 06-08 22:13:41.620 3917 3917 E AndroidRuntime: Process: nodomain.freeyourgadget.gadgetbridge, PID: 3917 06-08 22:13:41.620 3917 3917 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}: java.lang.NullPointerException 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7660) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: Caused by: java.lang.NullPointerException 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeInstallHandler.<init>(PineTimeInstallHandler.java:95) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeJFCoordinator.findInstallHandler(PineTimeJFCoordinator.java:59) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.findInstallHandlerFor(FwAppInstallerActivity.java:234) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.onCreate(FwAppInstallerActivity.java:211) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8000) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:7984) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404) 06-08 22:13:41.620 3917 3917 E AndroidRuntime: ... 11 more 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: Uncaught exception: Unable to start activity ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}: java.lang.NullPointerExceptionjava.lang.RuntimeException: Unable to start activity ComponentInfo{nodomain.freeyourgadget.gadgetbridge/nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity}: java.lang.NullPointerException 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3431) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3595) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.os.Handler.dispatchMessage(Handler.java:106) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.os.Looper.loop(Looper.java:223) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.main(ActivityThread.java:7660) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at java.lang.reflect.Method.invoke(Native Method) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: Caused by: java.lang.NullPointerException: null 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeInstallHandler.<init>(PineTimeInstallHandler.java:95) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.devices.pinetime.PineTimeJFCoordinator.findInstallHandler(PineTimeJFCoordinator.java:59) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.findInstallHandlerFor(FwAppInstallerActivity.java:234) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at nodomain.freeyourgadget.gadgetbridge.activities.FwAppInstallerActivity.onCreate(FwAppInstallerActivity.java:211) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.Activity.performCreate(Activity.java:8000) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.Activity.performCreate(Activity.java:7984) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3404) ~[na:0.0] 06-08 22:13:41.621 3917 3917 E nodomain.freeyourgadget.gadgetbridge.LoggingExceptionHandler: ... 11 common frames omitted 06-08 22:13:41.624 1511 15357 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2 06-08 22:13:41.624 1511 2741 W ActivityTaskManager: Force finishing activity nodomain.freeyourgadget.gadgetbridge/.activities.ControlCenterv2 06-08 22:13:41.627 1511 2741 W ActivityTaskManager: Force finishing activity nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity 06-08 22:13:42.135 1511 1729 W ActivityTaskManager: Activity top resumed state loss timeout for ActivityRecord{64ae140 u0 nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity t19015 f}} 06-08 22:13:42.135 1511 1729 W ActivityTaskManager: Activity pause timeout for ActivityRecord{64ae140 u0 nodomain.freeyourgadget.gadgetbridge/.activities.FwAppInstallerActivity t19015 f}} 06-08 22:13:42.155 807 807 D android.hardware.power@1.3-service.oneplus_msm8998: LAUNCH OFF ```
Author

Using 0.56.2 as digs did worked without issues

Using 0.56.2 as digs did worked without issues
Contributor

Can you please post logs as a file in the future, the current method makes it nearly impossible to read.

On a positive note, I disassembled the latest build and it seems that even with direct references to all of the necessary variables and annotations, R8 has removed half of the checks and just throws a null. Not sure why would it remove only half of the checks... I think I can fix that.

(Fun fact: The bytecode right now throws a NPE if the manifest exists if (var16 != null && var16.manifest != null) { throw null; }, at least it's efficient at crashing 😹)

Can you please post logs as a file in the future, the current method makes it nearly impossible to read. On a positive note, I disassembled the latest build and it seems that even with direct references to all of the necessary variables and annotations, R8 has removed half of the checks and just throws a null. Not sure why would it remove only half of the checks... I think I can fix that. (Fun fact: The bytecode right now throws a NPE if the manifest exists `if (var16 != null && var16.manifest != null) { throw null; }`, at least it's efficient at crashing 😹)

Installed 0.58 and confirm the firmware now loads without issue. Great work - thankyou @TaaviE and @ecksun for reporting.

Installed 0.58 and confirm the firmware now loads without issue. Great work - thankyou @TaaviE and @ecksun for reporting.
Owner

Thank you! ;)

Thank you! ;)
Sign in to join this conversation.
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Freeyourgadget/Gadgetbridge#2304
No description provided.