DFU to pinetime crashes gadgetbridge #2304
Labels
No labels
device mi band 7
activity post processing
activity/health
Android 12
Android 13
android integrations
architecture
Bangle.js
blocked
bug
changes requested
charts
dependency
deprecation notice
details not provided
developer documentation
device amazfit band 5
device amazfit bip
device amazfit cor
device Casio
device colmi r0x
device fossil
device garmin
device gtr 2e
device gts 2 mini
device h30
device hplus
device huami
device Huawei
device liveview
device mi band
device mi band 2
device mi band 3
device mi band 4
device mi band 5
device mi band 6
device no.1 f1
device pace
device pebble
device pebble 2
device pinetime infinitime
device request
device sony
device support
device watch 9
device xiaomi
discussion
documentation
duplicate
enhancement
feature request
Gadgetbridge
good first issue
help wanted
i am developing my own app can you help
icebox
intent api
internationalisation
invalid
needs work
network companion app
new device
no feedback
not a bug
notifications
pairing/connecting
potentially fixed / confirm and close
question
reconnection
regression
research
security
seems abandoned
Solved, waiting for F-Droid release
suggest to close
task
user interface / UX
wear os
weather
wontfix
Zepp OS
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Freeyourgadget/Gadgetbridge#2304
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Before reporting a bug, please confirm the following:
I got Gadgetbridge from:
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
Freeyourgadget/Gadgetbridge@0b021d72ablooks related. Do you have any thoughts @TaaviE ?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.
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.
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 ```Using 0.56.2 as digs did worked without issues
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.
Thank you! ;)