osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.66k stars 1.02k forks source link

Crash on Launch After Enabling Power Saving Mode #20710

Closed HubMiner closed 1 month ago

HubMiner commented 1 month ago

Description

Steps to reproduce

.

Actual result

.

Expected result

.

Your Environment (required)

OsmAnd Version: 4.8.6 Android version: 14 Device model: Samsung S23

Crash-Logs:

Version  OsmAnd+ 4.8.6
28.08.2024 5:22:09
Apk Version : 4.8.6 4806
Exception occurred in thread Thread[main,5,main] : 
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object net.osmand.plus.base.dialog.data.DisplayData.getExtra(net.osmand.plus.base.dialog.data.DialogExtra)' on a null object reference
    at net.osmand.plus.settings.bottomsheets.CustomizableSingleSelectionBottomSheet.hideButtonsContainer(CustomizableSingleSelectionBottomSheet.java:87)
    at net.osmand.plus.base.MenuBottomSheetDialogFragment.setupBottomButtons(MenuBottomSheetDialogFragment.java:340)
    at net.osmand.plus.base.MenuBottomSheetDialogFragment.onCreateView(MenuBottomSheetDialogFragment.java:94)
    at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2963)
    at androidx.fragment.app.DialogFragment.performCreateView(DialogFragment.java:489)
    at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:518)
    at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
    at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
    at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647)
    at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128)
    at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3072)
    at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
    at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:502)
    at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:251)
    at net.osmand.plus.activities.MapActivity.onStart(MapActivity.java:923)
    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1582)
    at android.app.Activity.performStart(Activity.java:9008)
    at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4198)
    at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:225)
    at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:205)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:177)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:98)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2685)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:230)
    at android.os.Looper.loop(Looper.java:319)
    at android.app.ActivityThread.main(ActivityThread.java:8919)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
yuriiurshuliak commented 1 month ago

The bug could not be reproduced. Here are the steps I followed:

The app did not crash and functioned correctly.

OsmAnd~ 4.9.0#3081m, released: 2024-08-27

https://github.com/user-attachments/assets/8cc83ff3-7482-4977-bfd5-d20bb9008ad5

sonora commented 1 month ago

This has likely nothing to do with Power Saving mode, looks like returning to the app caught it in some strange state, like maybe with a certain dialog still open or so and the code did not allow for this.

yuriiurshuliak commented 1 month ago

Based on the developers' response, this crash occurs when displaying the dialog after the app has been in the background for a long time. We have mentioned this crash in the relevant issue.

vshcherb commented 1 month ago

We fixed I think already