Status Update
Comments
da...@google.com <da...@google.com> #2
Branch: androidx-main
commit 66494e2d6810347e6a3b41ec3f2665e598f108f0
Author: Ian Lake <ilake@google.com>
Date: Thu Apr 14 00:14:24 2022
Ensure that SavedStateHandle restores upon initial creation
runOnNextRecreation() only runs on the next time
the lifecycle reaches CREATED, not the first time.
By using a LifecycleObserver directly, we ensure that
each Lifecycle move causes a performRestore() to
consistently happen.
Test: existing tests pass, sample app works
BUG: 228865698
Relnote: "Fixed an issue where nesting one `NavHost` within
another `NavHost` in a non-primary bottom navigation tab
would lead to an `IllegalStateException` when using
multiple back stacks."
Change-Id: I11bd5173f035ae1da7922b4142fcedc0f3b54ff6
M lifecycle/lifecycle-viewmodel-savedstate/src/main/java/androidx/lifecycle/SavedStateHandleSupport.kt
b....@gmail.com <b....@gmail.com> #3
su...@google.com <su...@google.com>
b....@gmail.com <b....@gmail.com> #4
Thanks for confirming! The fix will be in the next release of Lifecycle (2.5.0-beta01).
su...@google.com <su...@google.com> #5
using jetpack compose / bottom navigation with NavHost
Fatal Exception: java.lang.IllegalStateException: You cannot access the NavBackStackEntry's ViewModels after the NavBackStackEntry is destroyed.
at androidx.navigation.NavBackStackEntry.getViewModelStore(NavBackStackEntry.kt:192)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:106)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:69)
b....@gmail.com <b....@gmail.com> #6
I am seeing a high occurance rate with 2.5.0-beta01 as well.
su...@google.com <su...@google.com> #7
Re remember
around getBackStackEntry
needs to be updated.
b....@gmail.com <b....@gmail.com> #8
We are using Compose version: 1.2.0-rc03
and jetpack lifecycle version: 2.4.1
Fatal Exception: java.lang.IllegalStateException: You cannot access the NavBackStackEntry's ViewModels after the NavBackStackEntry is destroyed.
at androidx.navigation.NavBackStackEntry.getViewModelStore(NavBackStackEntry.kt:192)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:106)
at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:69)
da...@google.com <da...@google.com> #9
Please file a new bug with a minimal sample project that reproduces your error.
b....@gmail.com <b....@gmail.com> #10
b....@gmail.com <b....@gmail.com> #11
Re backQueue
is not part of the public API surface and never has been. Calling anything on that is always, always, always the wrong thing to do.
b....@gmail.com <b....@gmail.com> #12
Any updates? This issue is persistent for almost 6 months and its getting crazier.
b....@gmail.com <b....@gmail.com> #14
su...@google.com <su...@google.com> #15
It's still happening with navigation-compose
2.7.0 and lifecycle
2.6.1
b....@gmail.com <b....@gmail.com> #17
Still happening on navigation-compose v2.7.7
/ lifecycle v2.7.0
.
Any updates / prospect? Workaround maybe?
b....@gmail.com <b....@gmail.com> #18
backtrace:
#00 pc 0000000000000000 <unknown>
#01 pc 0000000000025cdd /system/lib/libsqlite.so
#02 pc 0000000000025011 /system/lib/libsqlite.so
#03 pc 000000000000eb95 /system/lib/libsqlite.so
#04 pc 000000000002d60d /system/lib/libsqlite.so
#05 pc 000000000003b409 /system/lib/libsqlite.so
#06 pc 0000000000010931 /system/lib/libsqlite.so (sqlite3_step+536)
#07 pc 000000000007f175 /system/lib/libandroid_runtime.so
#08 pc 00000000018a0a33 /system/framework/arm/boot-framework.oat (android.database.sqlite.SQLiteConnection.nativeExecute+102)
#09 pc 00000000018a34b9 /system/framework/arm/boot-framework.oat (android.database.sqlite.SQLiteConnection.execute+260)
#10 pc 00000000018b3741 /system/framework/arm/boot-framework.oat (android.database.sqlite.SQLiteSession.endTransactionUnchecked+364)
#11 pc 00000000018b3ee5 /system/framework/arm/boot-framework.oat (android.database.sqlite.SQLiteSession.endTransaction+144)
#12 pc 00000000018ac61d /system/framework/arm/boot-framework.oat (android.database.sqlite.SQLiteDatabase.endTransaction+72)
#13 pc 00000000000a91c1 /system/lib/libart.so (art_quick_invoke_stub_internal+64)
#14 pc 00000000004031e9 /system/lib/libart.so (art_quick_invoke_stub+232)
#15 pc 00000000000b0455 /system/lib/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+136)
#16 pc 00000000001ec389 /system/lib/libart.so (_ZN3art11interpreter34ArtInterpreterToCompiledCodeBridgeEPNS_6ThreadEPNS_9ArtMethodEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+200)
#17 pc 00000000001e6939 /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+492)
#18 pc 00000000003fd663 /system/lib/libart.so (MterpInvokeVirtualQuick+322)
#19 pc 000000000009fd94 /system/lib/libart.so (ExecuteMterpImpl+29972)
#20 pc 00000000001ca783 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+290)
#21 pc 00000000001cf2eb /system/lib/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+114)
#22 pc 00000000001e691f /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+466)
#23 pc 00000000003fb92b /system/lib/libart.so (MterpInvokeInterface+826)
#24 pc 000000000009c214 /system/lib/libart.so (ExecuteMterpImpl+14740)
#25 pc 00000000001ca783 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+290)
#26 pc 00000000001cf2eb /system/lib/libart.so (_ZN3art11interpreter33ArtInterpreterToInterpreterBridgeEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+114)
#27 pc 00000000001e691f /system/lib/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+466)
#28 pc 00000000003fd663 /system/lib/libart.so (MterpInvokeVirtualQuick+322)
#29 pc 000000000009fd94 /system/lib/libart.so (ExecuteMterpImpl+29972)
#30 pc 00000000001ca783 /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadEPKNS_7DexFile8CodeItemERNS_11ShadowFrameENS_6JValueEb+290)
#31 pc 00000000001cf255 /system/lib/libart.so (_ZN3art11interpreter30EnterInterpreterFromEntryPointEPNS_6ThreadEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameE+92)
#32 pc 00000000003f269f /system/lib/libart.so (artQuickToInterpreterBridge+706)
#33 pc 00000000000adc13 /system/lib/libart.so (art_quick_to_interpreter_bridge+34)
#34 pc 000000000064b125 /system/framework/arm/boot-core-libart.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+344)
#35 pc 0000000000652b47 /system/framework/arm/boot-core-libart.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+42)
#36 pc 00000000005f749d /system/framework/arm/boot.oat (java.lang.Thread.run+48)
#37 pc 00000000000a91c1 /system/lib/libart.so (art_quick_invoke_stub_internal+64)
#38 pc 00000000004031e9 /system/lib/libart.so (art_quick_invoke_stub+232)
#39 pc 00000000000b0455 /system/lib/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+136)
#40 pc 0000000000314031 /system/lib/libart.so (_ZN3artL18InvokeWithArgArrayERKNS_33ScopedObjectAccessAlreadyRunnableEPNS_9ArtMethodEPNS_8ArgArrayEPNS_6JValueEPKc+56)
#41 pc 0000000000314dfd /system/lib/libart.so (_ZN3art35InvokeVirtualOrInterfaceWithJValuesERKNS_33ScopedObjectAccessAlreadyRunnableEP8_jobjectP10_jmethodIDP6jvalue+256)
#42 pc 000000000032be19 /system/lib/libart.so (_ZN3art6Thread14CreateCallbackEPv+848)
#43 pc 0000000000046eb3 /system/lib/libc.so (_ZL15__pthread_startPv+22)
#44 pc 0000000000019acd /system/lib/libc.so (__start_thread+6)
su...@google.com <su...@google.com> #19
su...@google.com <su...@google.com> #20
b....@gmail.com <b....@gmail.com> #21
su...@google.com <su...@google.com> #22
b....@gmail.com <b....@gmail.com> #23
su...@google.com <su...@google.com> #24
b....@gmail.com <b....@gmail.com> #25
b....@gmail.com <b....@gmail.com> #26
WorkManager.initialize(applicationContext, workManagerConfig)
WorkManager.getInstance().getWorkInfosByTagLiveData(DownloadManager.WORK_MANAGER_DOWNLOAD_TAG).observeForever {}
If we wrap the second line in a coroutine to main just to delay it a cycle then the crash goes away, at least on our test device. We might roll out the fix to test it.
su...@google.com <su...@google.com> #27
b....@gmail.com <b....@gmail.com> #28
ra...@google.com <ra...@google.com> #29
I see this:
05-21 10:18:50.804 352 352 D SFPerfTracer: layers: (6:13) (FocusedStackFrame (0xb8370eb8): 0:108)* (DimLayer (0xb83412c0): 9:12) (StatusBar (0xb83bbf38): 0:701) (NavigationBar (0xb8389d10): 0:550) (com.android.systemui.ImageWallpaper (0xb83b23f8): 0:234) (DimLayer (0xb83989f0): 0:45)- (DimLayer (0xb83907e0): 0:8)- (com.example.workmanagercrash/com.example.workmanagercrash.MainActivity (0xb836c948): 0:31)- (com.android.systemui/com.android.systemui.recents.RecentsActivity (0xb838d188): 0:58)- (thumbnail anim (0xb834e7a0): 0:23)- (com.google.android.googlequicksearchbox/com.google.android.launcher.GEL (0xb834e7a0): 0:13) (Application Error: com.example.workmanagercrash (0xb83989f0): 8:14)
05-21 10:18:50.804 463 463 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-21 10:18:50.804 463 463 F DEBUG : Build fingerprint: 'motorola/victara_tmo/victara:6.0/MPES24.49-18-7/7:user/release-keys'
05-21 10:18:50.805 463 463 F DEBUG : Revision: 'p2bf'
05-21 10:18:50.805 463 463 F DEBUG : ABI: 'arm'
05-21 10:18:50.805 463 463 F DEBUG : pid: 9165, tid: 9180, name: WorkManager-Wor >>> com.example.workmanagercrash <<<
05-21 10:18:50.805 463 463 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
05-21 10:18:50.819 463 463 F DEBUG : r0 b9b04660 r1 af9ece50 r2 00000000 r3 00000002
05-21 10:18:50.819 463 463 F DEBUG : r4 b9b044b8 r5 b692e118 r6 00000000 r7 b9b04f08
05-21 10:18:50.819 463 463 F DEBUG : r8 00000001 r9 b9b044b8 sl 00000000 fp 00000002
05-21 10:18:50.819 463 463 F DEBUG : ip b692ddfc sp af9ece28 lr b6881e5b pc 00000000 cpsr 200f0010
05-21 10:18:50.823 463 463 F DEBUG :
05-21 10:18:50.823 463 463 F DEBUG : backtrace:
05-21 10:18:50.824 463 463 F DEBUG : #00 pc 00000000 <unknown>
05-21 10:18:50.824 463 463 F DEBUG : #01 pc 00024e59 /system/lib/libsqlite.so
05-21 10:18:50.824 463 463 F DEBUG : #02 pc 00024173 /system/lib/libsqlite.so
05-21 10:18:50.824 463 463 F DEBUG : #03 pc 0000e759 /system/lib/libsqlite.so
05-21 10:18:50.824 463 463 F DEBUG : #04 pc 0002be41 /system/lib/libsqlite.so
05-21 10:18:50.824 463 463 F DEBUG : #05 pc 00039ad7 /system/lib/libsqlite.so
05-21 10:18:50.824 463 463 F DEBUG : #06 pc 0000ffc5 /system/lib/libsqlite.so (sqlite3_step+724)
05-21 10:18:50.824 463 463 F DEBUG : #07 pc 00075021 /system/lib/libandroid_runtime.so
05-21 10:18:50.824 463 463 F DEBUG : #08 pc 02287663 /system/framework/arm/boot.oat (offset 0x1fda000)
05-21 10:18:51.062 1769 2069 V AlarmManager: sending alarm {f6ba791 type 3 *alarm*:android.content.jobscheduler.JOB_DELAY_EXPIRED}
05-21 10:18:51.065 1769 1769 V AlarmManager: done {f6ba791, *alarm*:android.content.jobscheduler.JOB_DELAY_EXPIRED} [3ms]
05-21 10:18:51.131 463 463 F DEBUG :
05-21 10:18:51.131 463 463 F DEBUG : Tombstone written to: /data/tombstones/tombstone_01
05-21 10:18:51.131 463 463 E DEBUG : AM write failed: Broken pipe
05-21 10:18:51.133 1769 1786 I BootReceiver: Copying /data/tombstones/tombstone_01 to DropBox (SYSTEM_TOMBSTONE)
05-21 10:18:51.184 485 485 I Zygote : Process 9165 exited due to signal (11)
05-21 10:18:51.214 1769 2729 I ActivityManager: Process com.example.workmanagercrash (pid 9165) has died
05-21 10:18:51.215 1769 2729 W ActivityManager: Scheduling restart of crashed service com.example.workmanagercrash/androidx.work.impl.background.systemjob.SystemJobService in 1000ms
05-21 10:18:51.238 1769 1769 I ActivityManager: Start proc 9188:com.example.workmanagercrash/u0a106 for service com.example.workmanagercrash/androidx.work.impl.background.systemjob.SystemJobService
05-21 10:18:51.256 9188 9188 I art : Late-enabling -Xcheck:jni
05-21 10:18:51.301 9188 9188 W System : ClassLoader referenced unknown path: /data/app/com.example.workmanagercrash-1/lib/arm
05-21 10:18:51.476 9188 9202 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 9202 (WorkManager-Wor)
05-21 10:18:51.578 463 463 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-21 10:18:51.578 463 463 F DEBUG : Build fingerprint: 'motorola/victara_tmo/victara:6.0/MPES24.49-18-7/7:user/release-keys'
05-21 10:18:51.579 463 463 F DEBUG : Revision: 'p2bf'
05-21 10:18:51.579 463 463 F DEBUG : ABI: 'arm'
05-21 10:18:51.579 463 463 F DEBUG : pid: 9188, tid: 9202, name: WorkManager-Wor >>> com.example.workmanagercrash <<<
05-21 10:18:51.580 463 463 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
05-21 10:18:51.609 463 463 F DEBUG : r0 b9b048c0 r1 af9ece50 r2 00000000 r3 00000002
05-21 10:18:51.609 463 463 F DEBUG : r4 b9b04718 r5 b692e118 r6 00000000 r7 b9b05170
05-21 10:18:51.609 463 463 F DEBUG : r8 00000001 r9 b9b04718 sl 00000000 fp 00000002
05-21 10:18:51.609 463 463 F DEBUG : ip b692ddfc sp af9ece28 lr b6881e5b pc 00000000 cpsr 200f0010
05-21 10:18:51.615 463 463 F DEBUG :
05-21 10:18:51.615 463 463 F DEBUG : backtrace:
05-21 10:18:51.616 463 463 F DEBUG : #00 pc 00000000 <unknown>
05-21 10:18:51.616 463 463 F DEBUG : #01 pc 00024e59 /system/lib/libsqlite.so
05-21 10:18:51.616 463 463 F DEBUG : #02 pc 00024173 /system/lib/libsqlite.so
05-21 10:18:51.616 463 463 F DEBUG : #03 pc 0000e759 /system/lib/libsqlite.so
05-21 10:18:51.616 463 463 F DEBUG : #04 pc 0002be41 /system/lib/libsqlite.so
05-21 10:18:51.616 463 463 F DEBUG : #05 pc 00039ad7 /system/lib/libsqlite.so
05-21 10:18:51.616 463 463 F DEBUG : #06 pc 0000ffc5 /system/lib/libsqlite.so (sqlite3_step+724)
05-21 10:18:51.616 463 463 F DEBUG : #07 pc 00075021 /system/lib/libandroid_runtime.so
05-21 10:18:51.616 463 463 F DEBUG : #08 pc 02287663 /system/framework/arm/boot.oat (offset 0x1fda000)
05-21 10:18:51.902 463 463 F DEBUG :
05-21 10:18:51.902 463 463 F DEBUG : Tombstone written to: /data/tombstones/tombstone_02
05-21 10:18:51.902 463 463 E DEBUG : AM write failed: Broken pipe
05-21 10:18:51.903 1769 1786 I BootReceiver: Copying /data/tombstones/tombstone_02 to DropBox (SYSTEM_TOMBSTONE)
05-21 10:18:51.952 485 485 I Zygote : Process 9188 exited due to signal (11)
05-21 10:18:51.966 1769 2757 I ActivityManager: Process com.example.workmanagercrash (pid 9188) has died
ap...@google.com <ap...@google.com> #30
Branch: androidx-master-dev
commit 957adb282e41c2662fff6221325e6b51cd7377f9
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Tue May 21 14:37:00 2019
Fixes SQLite issues on some devices.
* Always beginTransaction() outside a try.
* Make sure SystemJobScheduler marks transactions as successful.
Test: Existing tests pass.
Fixes:
Change-Id: I55092537781fbfee97f4336eb7cf1a49e647d62a
M work/workmanager-gcm/src/main/java/androidx/work/impl/background/gcm/WorkManagerGcmDispatcher.java
M work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
M work/workmanager/src/main/java/androidx/work/impl/background/systemjob/SystemJobScheduler.java
M work/workmanager/src/main/java/androidx/work/impl/utils/ForceStopRunnable.java
Description