[android] Rotate screen, block to open location dialog and generate crash #4570

Closed
opened 2023-02-21 19:53:30 +00:00 by Jean-BaptisteC · 8 comments
Member

Steps to reproduce

  1. Open OM (Disable Google Play Services)
  2. Click on button to open location dialog
  3. Rotate device -> location dialog is closed
  4. Click on button to open location dialog -> nothing
  5. Enable location in top menu in Android
  6. Go back to OM and click on button to open location dialog -> app crash

Logs
Log when i rotate device

02-21 20:58:54.528 27271 27271 E WindowManager: android.view.WindowLeaked: Activity app.organicmaps.MwmActivity has leaked window DecorView@e72e923[MwmActivity] that was originally added here
02-21 20:58:54.528 27271 27271 E WindowManager:         at android.view.ViewRootImpl.<init>(ViewRootImpl.java:920)
02-21 20:58:54.528 27271 27271 E WindowManager:         at android.view.ViewRootImpl.<init>(ViewRootImpl.java:908)
02-21 20:58:54.528 27271 27271 E WindowManager:         at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:391)
02-21 20:58:54.528 27271 27271 E WindowManager:         at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
02-21 20:58:54.528 27271 27271 E WindowManager:         at android.app.Dialog.show(Dialog.java:352)
02-21 20:58:54.528 27271 27271 E WindowManager:         at androidx.appcompat.app.AlertDialog$Builder.show(Unknown Source:4)
02-21 20:58:54.528 27271 27271 E WindowManager:         at app.organicmaps.location.LocationHelper.onLocationDisabled(Unknown Source:168)
02-21 20:58:54.528 27271 27271 E WindowManager:         at app.organicmaps.location.AndroidNativeProvider$NativeLocationListener.onProviderDisabled(Unknown Source:49)
02-21 20:58:54.528 27271 27271 E WindowManager:         at android.location.LocationManager$LocationListenerTransport.lambda$onProviderEnabledChanged$4(LocationManager.java:3275)
02-21 20:58:54.528 27271 27271 E WindowManager:         at android.location.LocationManager$LocationListenerTransport$$ExternalSyntheticLambda4.operate(Unknown Source:6)
02-21 20:58:54.528 27271 27271 E WindowManager:         at com.android.internal.listeners.ListenerExecutor.lambda$executeSafely$0(ListenerExecutor.java:127)
02-21 20:58:54.528 27271 27271 E WindowManager:         at com.android.internal.listeners.ListenerExecutor$$ExternalSyntheticLambda0.run(Unknown Source:8)
02-21 20:58:54.528 27271 27271 E WindowManager:         at android.os.Handler.handleCallback(Handler.java:942)
02-21 20:58:54.528 27271 27271 E WindowManager:         at android.os.Handler.dispatchMessage(Handler.java:99)
02-21 20:58:54.528 27271 27271 E WindowManager:         at android.os.Looper.loopOnce(Looper.java:201)
02-21 20:58:54.528 27271 27271 E WindowManager:         at android.os.Looper.loop(Looper.java:288)
02-21 20:58:54.528 27271 27271 E WindowManager:         at android.app.ActivityThread.main(ActivityThread.java:7872)
02-21 20:58:54.528 27271 27271 E WindowManager:         at java.lang.reflect.Method.invoke(Native Method)
02-21 20:58:54.528 27271 27271 E WindowManager:         at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
02-21 20:58:54.528 27271 27271 E WindowManager:         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

Log when app crash

02-21 20:46:07.531 25076 25076 E AndroidRuntime: FATAL EXCEPTION: main
02-21 20:46:07.531 25076 25076 E AndroidRuntime: Process: app.organicmaps, PID: 25076
02-21 20:46:07.531 25076 25076 E AndroidRuntime: java.lang.IllegalArgumentException: View=DecorView@792541c[MwmActivity] not attached to window manager
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:541)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:445)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:206)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at android.app.Dialog.dismissDialog(Dialog.java:404)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at android.app.Dialog.dismiss(Dialog.java:386)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at androidx.appcompat.app.AppCompatDialog.dismiss(Unknown Source:0)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at app.organicmaps.location.LocationHelper.notifyLocationUpdated(Unknown Source:16)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at app.organicmaps.location.LocationHelper.onLocationChanged(Unknown Source:128)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at app.organicmaps.location.AndroidNativeProvider$NativeLocationListener.onLocationChanged(Unknown Source:4)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at androidx.core.location.n.b(Unknown Source:13)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at app.organicmaps.location.AndroidNativeProvider$NativeLocationListener.onLocationChanged(Unknown Source:0)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at android.location.LocationManager$LocationListenerTransport$1.operate(LocationManager.java:3247)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at android.location.LocationManager$LocationListenerTransport$1.operate(LocationManager.java:3244)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at com.android.internal.listeners.ListenerExecutor.lambda$executeSafely$0(ListenerExecutor.java:127)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at com.android.internal.listeners.ListenerExecutor$$ExternalSyntheticLambda0.run(Unknown Source:8)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:942)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:99)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at android.os.Looper.loopOnce(Looper.java:201)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:288)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:7872)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
02-21 20:46:07.531 25076 25076 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
02-21 20:46:07.789  1465  4343 I ActivityManager: Process app.organicmaps (pid 25076) has died: fg  TOP
02-21 20:46:07.793  1465  4343 I ActivityManager: Killing 25146:com.google.android.webview:sandboxed_process0:org.chromium.content.app.SandboxedProcessService0:0/u0a243

System information:

  • Operating system and its version: Android 13
  • Organic Maps version: 2023.02.13.11-Google
  • Device Model: Pixel 6

CC @rtsisyk

**Steps to reproduce** 1. Open OM (Disable Google Play Services) 2. Click on button to open location dialog 3. Rotate device -> location dialog is closed 4. Click on button to open location dialog -> nothing 5. Enable location in top menu in Android 6. Go back to OM and click on button to open location dialog -> app crash **Logs** Log when i rotate device ``` 02-21 20:58:54.528 27271 27271 E WindowManager: android.view.WindowLeaked: Activity app.organicmaps.MwmActivity has leaked window DecorView@e72e923[MwmActivity] that was originally added here 02-21 20:58:54.528 27271 27271 E WindowManager: at android.view.ViewRootImpl.<init>(ViewRootImpl.java:920) 02-21 20:58:54.528 27271 27271 E WindowManager: at android.view.ViewRootImpl.<init>(ViewRootImpl.java:908) 02-21 20:58:54.528 27271 27271 E WindowManager: at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:391) 02-21 20:58:54.528 27271 27271 E WindowManager: at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 02-21 20:58:54.528 27271 27271 E WindowManager: at android.app.Dialog.show(Dialog.java:352) 02-21 20:58:54.528 27271 27271 E WindowManager: at androidx.appcompat.app.AlertDialog$Builder.show(Unknown Source:4) 02-21 20:58:54.528 27271 27271 E WindowManager: at app.organicmaps.location.LocationHelper.onLocationDisabled(Unknown Source:168) 02-21 20:58:54.528 27271 27271 E WindowManager: at app.organicmaps.location.AndroidNativeProvider$NativeLocationListener.onProviderDisabled(Unknown Source:49) 02-21 20:58:54.528 27271 27271 E WindowManager: at android.location.LocationManager$LocationListenerTransport.lambda$onProviderEnabledChanged$4(LocationManager.java:3275) 02-21 20:58:54.528 27271 27271 E WindowManager: at android.location.LocationManager$LocationListenerTransport$$ExternalSyntheticLambda4.operate(Unknown Source:6) 02-21 20:58:54.528 27271 27271 E WindowManager: at com.android.internal.listeners.ListenerExecutor.lambda$executeSafely$0(ListenerExecutor.java:127) 02-21 20:58:54.528 27271 27271 E WindowManager: at com.android.internal.listeners.ListenerExecutor$$ExternalSyntheticLambda0.run(Unknown Source:8) 02-21 20:58:54.528 27271 27271 E WindowManager: at android.os.Handler.handleCallback(Handler.java:942) 02-21 20:58:54.528 27271 27271 E WindowManager: at android.os.Handler.dispatchMessage(Handler.java:99) 02-21 20:58:54.528 27271 27271 E WindowManager: at android.os.Looper.loopOnce(Looper.java:201) 02-21 20:58:54.528 27271 27271 E WindowManager: at android.os.Looper.loop(Looper.java:288) 02-21 20:58:54.528 27271 27271 E WindowManager: at android.app.ActivityThread.main(ActivityThread.java:7872) 02-21 20:58:54.528 27271 27271 E WindowManager: at java.lang.reflect.Method.invoke(Native Method) 02-21 20:58:54.528 27271 27271 E WindowManager: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 02-21 20:58:54.528 27271 27271 E WindowManager: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) ``` Log when app crash ``` 02-21 20:46:07.531 25076 25076 E AndroidRuntime: FATAL EXCEPTION: main 02-21 20:46:07.531 25076 25076 E AndroidRuntime: Process: app.organicmaps, PID: 25076 02-21 20:46:07.531 25076 25076 E AndroidRuntime: java.lang.IllegalArgumentException: View=DecorView@792541c[MwmActivity] not attached to window manager 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:541) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:445) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:206) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at android.app.Dialog.dismissDialog(Dialog.java:404) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at android.app.Dialog.dismiss(Dialog.java:386) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at androidx.appcompat.app.AppCompatDialog.dismiss(Unknown Source:0) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at app.organicmaps.location.LocationHelper.notifyLocationUpdated(Unknown Source:16) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at app.organicmaps.location.LocationHelper.onLocationChanged(Unknown Source:128) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at app.organicmaps.location.AndroidNativeProvider$NativeLocationListener.onLocationChanged(Unknown Source:4) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at androidx.core.location.n.b(Unknown Source:13) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at app.organicmaps.location.AndroidNativeProvider$NativeLocationListener.onLocationChanged(Unknown Source:0) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at android.location.LocationManager$LocationListenerTransport$1.operate(LocationManager.java:3247) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at android.location.LocationManager$LocationListenerTransport$1.operate(LocationManager.java:3244) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at com.android.internal.listeners.ListenerExecutor.lambda$executeSafely$0(ListenerExecutor.java:127) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at com.android.internal.listeners.ListenerExecutor$$ExternalSyntheticLambda0.run(Unknown Source:8) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:942) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7872) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 02-21 20:46:07.531 25076 25076 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) 02-21 20:46:07.789 1465 4343 I ActivityManager: Process app.organicmaps (pid 25076) has died: fg TOP 02-21 20:46:07.793 1465 4343 I ActivityManager: Killing 25146:com.google.android.webview:sandboxed_process0:org.chromium.content.app.SandboxedProcessService0:0/u0a243 ``` **System information:** - Operating system and its version: Android 13 - Organic Maps version: 2023.02.13.11-Google - Device Model: Pixel 6 CC `@rtsisyk`
biodranik commented 2023-02-21 22:08:43 +00:00 (Migrated from github.com)

assigned to @rtsisyk

assigned to `@rtsisyk`
Owner

mentioned in merge request !4602

mentioned in merge request !4602
Owner

mentioned in merge request !4591

mentioned in merge request !4591
Owner

mentioned in issue #4550

mentioned in issue #4550
Owner

changed title from Rotate screen, block to open location dialog and generate crash to {+[android] +}Rotate screen, block to open location dialog and generate crash

changed title from **Rotate screen, block to open location dialog and generate crash** to **{+[android] +}Rotate screen, block to open location dialog and generate crash**
Owner

mentioned in merge request !4657

mentioned in merge request !4657
Owner

mentioned in issue #5838

mentioned in issue #5838
Owner

mentioned in merge request !5839

mentioned in merge request !5839
Sign in to join this conversation.
No project
No assignees
3 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: organicmaps/organicmaps#4570
No description provided.