saket / telephoto

Building blocks for designing media experiences in Compose UI
https://saket.github.io/telephoto/
Apache License 2.0
872 stars 29 forks source link

Crash: Channel is unrecoverably broken and will be disposed #39

Closed MV-GH closed 10 months ago

MV-GH commented 11 months ago

Sometimes when I rapidly zoom in a large image (~30MB) it crashes with the error below and my background turns black.

The stacktrace is one line: channel '54b5b73 com.jerboa.debug/com.jerboa.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!

The images were if relevant:

saket commented 11 months ago

Thanks for sharing the images! Can you also post the full stacktrace?

MV-GH commented 11 months ago

There is no full stack trace, logcat only contained that one line

saket commented 11 months ago

Geez that isn't helpful from Android. What device and android version are you using?

MV-GH commented 11 months ago

I had this happen in a stock google emulator that was either api level 26 or 33 and I had also reproduced this on my phone which is Android 11,

MV-GH commented 11 months ago

I made a minimum repro for this error

https://github.com/saket/telephoto/assets/67873169/df5b2d41-f27f-416f-a373-520f5d4bb4d4

I suspect it is memory issue

https://github.com/MV-GH/ReproChannelCrash

saket commented 11 months ago

A reproducer is fantastic. I'll take a look soon, thanks!

saket commented 10 months ago

I had this happen in a stock google emulator that was either api level 26 or 33 and I had also reproduced this on my phone which is Android 11,

Can you also share all the properties of your emulator? You can do this by going into Device Manager, clicking its overflow menu and selecting View details. The details pane will have an option to Copy properties to clipboard.

props

MV-GH commented 10 months ago

I managed to reproduce it with this

Properties avd.ini.displayname Pixel 7 API 32 avd.ini.encoding UTF-8 AvdId Pixel_7_API_32 disk.dataPartition.size 6442450944 fastboot.chosenSnapshotFile
fastboot.forceChosenSnapshotBoot no fastboot.forceColdBoot no fastboot.forceFastBoot yes hw.accelerometer yes hw.arc false hw.audioInput yes hw.battery yes hw.camera.back virtualscene hw.camera.front emulated hw.cpu.ncore 4 hw.device.hash2 MD5:3db3250dab5d0d93b29353040181c7e9 hw.device.manufacturer Google hw.device.name pixel_7 hw.dPad no hw.gps yes hw.gpu.enabled yes hw.gpu.mode auto hw.initialOrientation Portrait hw.keyboard yes hw.lcd.density 420 hw.lcd.height 2400 hw.lcd.width 1080 hw.mainKeys no hw.ramSize 2048 hw.sdCard yes hw.sensors.orientation yes hw.sensors.proximity yes hw.trackBall no image.androidVersion.api 32 image.sysdir.1 system-images\android-32\google_apis_playstore\x86_64\ PlayStore.enabled true runtime.network.latency none runtime.network.speed full showDeviceFrame yes skin.dynamic yes tag.display Google Play tag.id google_apis_playstore vm.heapSize 228

But I don't think it is Android version specific.

On emulators I also get the following if relevant (after the crash)

stack trace ANR in com.example.reprochannelcrash (com.example.reprochannelcrash/.MainActivity) PID: 3856 Reason: Input dispatching timed out (f5f433f com.example.reprochannelcrash/com.example.reprochannelcrash.MainActivity (server) is not responding. Waited 5026ms for MotionEvent) Parent: com.example.reprochannelcrash/.MainActivity Frozen: false Load: 24.44 / 9.29 / 3.39 ----- Output from /proc/pressure/memory ----- some avg10=84.54 avg60=53.87 avg300=16.97 total=57405482 full avg10=20.66 avg60=10.82 avg300=3.25 total=11211256 ----- End output from /proc/pressure/memory ----- CPU usage from 0ms to 20629ms later (2023-08-22 21:13:45.129 to 2023-08-22 21:14:05.758): 41% 594/system_server: 4.5% user + 37% kernel / faults: 22072 minor 11888 major 23% 100/kswapd0: 0% user + 23% kernel 20% 4884/com.google.android.apps.messaging: 7% user + 13% kernel / faults: 61043 minor 4617 major 19% 1181/com.google.android.gms.persistent: 2.4% user + 17% kernel / faults: 18341 minor 10260 major 11% 4860/com.google.android.apps.photos: 2.7% user + 9% kernel / faults: 15270 minor 2434 major 9.1% 38/kcompactd0: 0% user + 9.1% kernel 7.7% 776/com.android.systemui: 1.4% user + 6.3% kernel / faults: 10140 minor 5529 major 5.6% 248/kworker/u9:2-blk_crypto_wq: 0% user + 5.6% kernel 5.4% 1804/kworker/u9:4-fscrypt_read_queue: 0% user + 5.4% kernel 5.2% 7/kworker/u8:0-kverityd: 0% user + 5.2% kernel 4.8% 159/kworker/u8:3-kverityd: 0% user + 4.8% kernel 4.8% 399/surfaceflinger: 0.2% user + 4.5% kernel / faults: 1074 minor 579 major 4.6% 9/kworker/u8:1-kverityd: 0% user + 4.6% kernel 4.3% 253/jbd2/dm-30-8: 0% user + 4.3% kernel 4.3% 320/loop28: 0% user + 4.3% kernel 4.1% 518/kworker/u8:6-kverityd: 0% user + 4.1% kernel 3.7% 247/kworker/u9:1-blk_crypto_wq: 0% user + 3.7% kernel 3.4% 375/android.hardware.graphics.composer@2.4-service: 0% user + 3.4% kernel / faults: 54 minor 273 major 3.1% 365/android.hardware.bluetooth@1.1-service.sim: 0% user + 3.1% kernel / faults: 10 minor 17 major 3% 4907/kworker/u8:7-kverityd: 0% user + 3% kernel 2.8% 157/kworker/u8:2-kverityd: 0% user + 2.8% kernel 2.7% 101/kworker/u9:0-fscrypt_read_queue: 0% user + 2.7% kernel 2.3% 917/com.android.phone: 0.2% user + 2% kernel / faults: 4753 minor 2927 major 2.1% 160/kworker/u8:4-kverityd: 0% user + 2.1% kernel 2% 4909/com.google.android.apps.maps: 0.1% user + 1.8% kernel / faults: 3229 minor 1478 major 1.3% 374/android.hardware.graphics.allocator@3.0-service: 0% user + 1.2% kernel / faults: 28 minor 185 major 1.1% 213/lmkd: 0% user + 1% kernel 1.1% 763/com.android.bluetooth: 0% user + 1% kernel / faults: 626 minor 479 major 0.8% 34/kworker/1:1-kdmflush: 0% user + 0.8% kernel 0.8% 356/statsd: 0% user + 0.8% kernel / faults: 158 minor 113 major 0.8% 867/com.android.networkstack.process: 0.1% user + 0.7% kernel / faults: 3170 minor 1209 major 0.8% 212/logd: 0% user + 0.7% kernel / faults: 237 minor 163 major 0.7% 13/rcu_preempt: 0% user + 0.7% kernel 0.7% 107/kworker/1:1H-kblockd: 0% user + 0.7% kernel 0.7% 358/zygote64: 0% user + 0.7% kernel / faults: 1691 minor 34 major 0.6% 286/loop11: 0% user + 0.6% kernel 0.6% 23/ksoftirqd/2: 0% user + 0.6% kernel 0.5% 357/netd: 0% user + 0.4% kernel / faults: 524 minor 253 major 0.5% 12/ksoftirqd/0: 0% user + 0.5% kernel 0.5% 28/ksoftirqd/3: 0% user + 0.5% kernel 0.5% 386/android.hardware.sensors@2.1-service.multihal: 0% user + 0.5% kernel / faults: 12 minor 9 major 0.4% 18/ksoftirqd/1: 0% user + 0.4% kernel 0.4% 1517/com.google.android.providers.media.module: 0% user + 0.3% kernel / faults: 1243 minor 965 major 0.3% 33/kworker/0:1-events: 0% user + 0.3% kernel 0.3% 214/servicemanager: 0% user + 0.3% kernel / faults: 15 minor 24 major 0.3% 288/loop12: 0% user + 0.3% kernel 0.3% 396/audioserver: 0% user + 0.3% kernel / faults: 190 minor 190 major 0.3% 1/init: 0% user + 0.3% kernel / faults: 39 minor 136 major 0.3% 123/kworker/2:2-events: 0% user + 0.3% kernel +0% 5988/com.android.chrome_zygote: 0% user + 0% kernel +0% 6011/com.android.chrome:sandboxed_process0:org.chromium.content.app.SandboxedProce: 0% user + 0% kernel +0% 6021/com.google.android.permissioncontroller: 0% user + 0% kernel +0% 6050/com.android.vending:quick_launch: 0% user + 0% kernel +0% 6113/com.android.externalstorage: 0% user + 0% kernel +0% 6165/com.google.android.gm: 0% user + 0% kernel +0% 6270/android.process.media: 0% user + 0% kernel +0% 6298/com.google.android.apps.messaging:rcs: 0% user + 0% kernel 98% TOTAL: 14% user + 70% kernel + 10% iowait + 3.3% softirq CPU usage from 1922ms to 2974ms later (2023-08-22 21:13:47.052 to 2023-08-22 21:13:48.103): 110% 3856/com.example.reprochannelcrash: 20% user + 90% kernel / faults: 1753 minor 12170 major 26% 4703/DefaultDispatch: 3.1% user + 23% kernel 20% 4702/DefaultDispatch: 7.7% user + 12% kernel 18% 4026/DefaultDispatch: 1.5% user + 17% kernel 17% 3856/prochannelcrash: 3.1% user + 13% kernel 17% 4700/DefaultDispatch: 4.6% user + 12% kernel 3.1% 3866/Jit thread pool: 0% user + 3.1% kernel 59% 100/kswapd0: 0% user + 59% kernel 68% 594/system_server: 2.6% user + 66% kernel / faults: 506 minor 332 major 14% 4916/AnrConsumer: 0% user + 14% kernel 6.7% 704/WifiHandlerThre: 0% user + 6.7% kernel 5.3% 610/Binder:594_1: 0% user + 5.3% kernel 5.3% 684/InputDispatcher: 0% user + 5.3% kernel 4% 617/android.ui: 1.3% user + 2.6% kernel 4% 626/android.bg: 0% user + 4% kernel 4% 685/InputReader: 0% user + 4% kernel 4% 1265/Binder:594_C: 1.3% user + 2.6% kernel 2.6% 3005/Binder:594_20: 0% user + 2.6% kernel 1.3% 628/ActivityManager: 0% user + 1.3% kernel 1.3% 3004/Binder:594_1F: 0% user + 1.3% kernel 11% 7/kworker/u8:0-kverityd: 0% user + 11% kernel 15% 1181/com.google.android.gms.persistent: 0% user + 15% kernel / faults: 47 minor 101 major 4.6% 1181/.gms.persistent: 0% user + 4.6% kernel 4.6% 1249/GoogleApiHandle: 0% user + 4.6% kernel 3.1% 2312/GoogleLocationS: 0% user + 3.1% kernel 1.5% 1255/highpool[3]: 0% user + 1.5% kernel 1.5% 2530/Binder:1181_A: 0% user + 1.5% kernel 8.9% 9/kworker/u8:1-kverityd: 0% user + 8.9% kernel 9.8% 320/loop28: 0% user + 9.8% kernel 12% 4884/com.google.android.apps.messaging: 0% user + 12% kernel / faults: 48 minor 59 major 12% 4884/.apps.messaging: 0% user + 12% kernel 5.7% 39/khugepaged: 0% user + 5.7% kernel 6.7% 518/kworker/u8:6-kverityd: 0% user + 6.7% kernel 7.4% 867/com.android.networkstack.process: 1.4% user + 5.9% kernel / faults: 240 minor 177 major 5.9% 1098/IpClient.wlan0: 0% user + 5.9% kernel 1.4% 881/Binder:867_3: 0% user + 1.4% kernel 8.5% 4860/com.google.android.apps.photos: 0% user + 8.5% kernel / faults: 33 minor 63 major 8.5% 4860/oid.apps.photos: 0% user + 8.5% kernel 5% 248/kworker/u9:2-fscrypt_read_queue: 0% user + 5% kernel 10% 4907/kworker/u8:7-kverityd: 0% user + 10% kernel 10% 4924/: 2.7% user + 8.1% kernel / faults: 573 minor 18 major 5.4% 4935/HeapTaskDaemon: 0% user + 5.4% kernel 3.4% 101/kworker/u9:0-fscrypt_read_queue: 0% user + 3.4% kernel 3.7% 349/dhcpclient: 0% user + 3.7% kernel / faults: 12 minor 25 major 1.9% 1/init: 0% user + 1.9% kernel / faults: 20 minor 87 major 1.9% 164/init: 0% user + 1.9% kernel 2% 23/ksoftirqd/2: 0% user + 2% kernel 2.5% 365/android.hardware.bluetooth@1.1-service.sim: 0% user + 2.5% kernel / faults: 1 major 3.8% 1107/bluetooth@1.1-s: 0% user + 3.8% kernel 2.6% 511/mdnsd: 0% user + 2.6% kernel / faults: 41 minor 54 major 2.7% 776/com.android.systemui: 0% user + 2.7% kernel / faults: 11 major 1.3% 1026/SysUiBg: 0% user + 1.3% kernel 1% 13/rcu_preempt: 0% user + 1% kernel 1% 18/ksoftirqd/1: 0% user + 1% kernel 1% 28/ksoftirqd/3: 0% user + 1% kernel 1.1% 33/kworker/0:1-mm_percpu_wq: 0% user + 1.1% kernel 1.1% 34/kworker/1:1-mm_percpu_wq: 0% user + 1.1% kernel
saket commented 10 months ago

ANR in com.example.reprochannelcrash (com.example.reprochannelcrash/.MainActivity) PID: 3856 Reason: Input dispatching timed out (f5f433f com.example.reprochannelcrash/com.example.reprochannelcrash.MainActivity (server) is not responding. Waited 5026ms for MotionEvent) Parent: com.example.reprochannelcrash/.MainActivity Frozen: false Load: 24.44 / 9.29 / 3.39

Oh yea this is very helpful. Its basically saying that the app is freezing. I think I need to improve the performance for large images.

saket commented 10 months ago

@MV-GH Can you try out 0.6.0-SNAPSHOT to see if the performance improves for you?

MV-GH commented 10 months ago

I can still reproduce this with the Reproducer app but now it no longer prints anything in logcat regarding the crash.

On actual device

Full logcat --------- beginning of crash --------- beginning of system --------- beginning of main 2023-08-27 14:44:57.008 6686-6866 InstallApkReceiver com.miui.home E uninstall:package:com.example.reprochannelcrash 2023-08-27 14:44:57.038 6686-6866 InstallApkReceiver com.miui.home E install:package:com.example.reprochannelcrash 2023-08-27 14:45:01.218 19279-19279 Zygote com.example.reprochannelcrash W Unable to open libbeluga.so: dlopen failed: library "libbeluga.so" not found. 2023-08-27 14:45:01.223 19279-19279 prochannelcras com.example.reprochannelcrash I Late-enabling -Xcheck:jni 2023-08-27 14:45:01.242 19279-19279 prochannelcras com.example.reprochannelcrash I Unquickening 21 vdex files! 2023-08-27 14:45:02.449 19279-19279 Perf com.example.reprochannelcrash I Connecting to perf service. 2023-08-27 14:45:02.464 19279-19279 NetworkSecurityConfig com.example.reprochannelcrash D No Network Security Config specified, using platform default 2023-08-27 14:45:02.501 19279-19279 ContentProviderMonitor com.example.reprochannelcrash I PerfMonitor installContentProviders : before publish content providers 2023-08-27 14:45:02.465 19279-19279 NetworkSecurityConfig com.example.reprochannelcrash D No Network Security Config specified, using platform default 2023-08-27 14:45:02.515 19279-19279 Looper com.example.reprochannelcrash W PerfMonitor longMsg : seq=3 plan=14:45:01.301 late=80ms wall=1128ms running=1092ms runnable=11ms io=5ms binder=8ms h=android.app.ActivityThread$H w=110 procState=12 2023-08-27 14:45:02.601 19279-19279 prochannelcras com.example.reprochannelcrash E Invalid ID 0x00000000. 2023-08-27 14:45:02.761 19279-19279 Looper com.example.reprochannelcrash W PerfMonitor looperActivity : package=com.example.reprochannelcrash/.MainActivity time=244ms latency=1213ms running=222ms procState=12 ClientTransaction{ callbacks=[android.app.servertransaction.LaunchActivityItem] lifecycleRequest=android.app.servertransaction.ResumeActivityItem } historyMsgCount=3 (msgIndex=1 wall=73ms seq=1 running=22ms runnable=1ms io=49ms late=7ms h=android.app.ActivityThread$H w=162) (msgIndex=3 wall=1128ms seq=3 running=1092ms runnable=11ms io=5ms binder=8ms late=80ms h=android.app.ActivityThread$H w=110) 2023-08-27 14:45:02.762 19279-19279 Looper com.example.reprochannelcrash W PerfMonitor looperActivity : package=com.example.reprochannelcrash/.MainActivity time=1ms latency=1456ms running=0ms procState=12 ClientTransaction{ callbacks=[android.app.servertransaction.TopResumedActivityChangeItem] } historyMsgCount=4 (msgIndex=1 wall=73ms seq=1 running=22ms runnable=1ms io=49ms late=7ms h=android.app.ActivityThread$H w=162) (msgIndex=3 wall=1128ms seq=3 running=1092ms runnable=11ms io=5ms binder=8ms late=80ms h=android.app.ActivityThread$H w=110) (msgIndex=4 wall=244ms seq=4 running=222ms io=15ms binder=16ms late=1213ms h=android.app.ActivityThread$H w=159) 2023-08-27 14:45:02.764 19279-19279 Looper com.example.reprochannelcrash W PerfMonitor looperActivity : package=com.example.reprochannelcrash/.MainActivity time=0ms latency=1454ms running=1ms procState=12 ClientTransaction{ callbacks=[android.app.servertransaction.TopResumedActivityChangeItem] } historyMsgCount=5 (msgIndex=1 wall=73ms seq=1 running=22ms runnable=1ms io=49ms late=7ms h=android.app.ActivityThread$H w=162) (msgIndex=3 wall=1128ms seq=3 running=1092ms runnable=11ms io=5ms binder=8ms late=80ms h=android.app.ActivityThread$H w=110) (msgIndex=4 wall=244ms seq=4 running=222ms io=15ms binder=16ms late=1213ms h=android.app.ActivityThread$H w=159) 2023-08-27 14:45:02.768 19279-19279 Looper com.example.reprochannelcrash W PerfMonitor looperActivity : package=com.example.reprochannelcrash/.MainActivity time=4ms latency=1451ms running=2ms procState=12 ClientTransaction{ lifecycleRequest=android.app.servertransaction.PauseActivityItem } historyMsgCount=6 (msgIndex=1 wall=73ms seq=1 running=22ms runnable=1ms io=49ms late=7ms h=android.app.ActivityThread$H w=162) (msgIndex=3 wall=1128ms seq=3 running=1092ms runnable=11ms io=5ms binder=8ms late=80ms h=android.app.ActivityThread$H w=110) (msgIndex=4 wall=244ms seq=4 running=222ms io=15ms binder=16ms late=1213ms h=android.app.ActivityThread$H w=159) 2023-08-27 14:45:03.103 19279-19279 prochannelcras com.example.reprochannelcrash W Class androidx.compose.runtime.snapshots.SnapshotStateMap failed lock verification and will run slower. Common causes for lock verification issues are non-optimized dex code and incorrect proguard optimizations. 2023-08-27 14:45:03.391 19279-19279 TetheringManager com.example.reprochannelcrash I registerTetheringEventCallback:com.example.reprochannelcrash 2023-08-27 14:45:03.613 19279-19279 MiuiFrameworkFactory com.example.reprochannelcrash V get AllImpl object = android.common.MiuiFrameworkFactoryImpl@3b11c34 2023-08-27 14:45:03.661 19279-19309 AdrenoGLES-0 com.example.reprochannelcrash I QUALCOMM build : 42297a4, I9e9b240040 Build Date : 03/19/21 OpenGL ES Shader Compiler Version: EV031.32.02.07 Local Branch : Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.UM.9.1.R1.11.00.00.604.070 Remote Branch : NONE Reconstruct Branch : NOTHING 2023-08-27 14:45:03.661 19279-19309 AdrenoGLES-0 com.example.reprochannelcrash I Build Config : S P 10.0.6 AArch64 2023-08-27 14:45:03.661 19279-19309 AdrenoGLES-0 com.example.reprochannelcrash I Driver Path : /vendor/lib64/egl/libGLESv2_adreno.so 2023-08-27 14:45:03.701 19279-19309 AdrenoGLES-0 com.example.reprochannelcrash I PFP: 0x016ee190, ME: 0x00000000 2023-08-27 14:45:03.917 19279-19309 OpenGLRenderer com.example.reprochannelcrash I Davey! duration=1401ms; Flags=1, IntendedVsync=1135629996474864, Vsync=1135630246474854, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=1135630251672562, AnimationStart=1135630251682562, PerformTraversalsStart=1135630252108031, DrawStart=1135631245094437, SyncQueued=1135631262831937, SyncStart=1135631263340322, IssueDrawCommandsStart=1135631263545895, SwapBuffers=1135631390193291, FrameCompleted=1135631398626416, DequeueBufferDuration=160729, QueueBufferDuration=695677, GpuCompleted=0, 2023-08-27 14:45:03.923 19279-19279 Looper com.example.reprochannelcrash W PerfMonitor longMsg : seq=9 plan=14:45:02.515 late=255ms wall=1149ms running=869ms runnable=11ms binder=46ms h=android.view.Choreographer$FrameHandler c=android.view.Choreographer$FrameDisplayEventReceiver procState=12 2023-08-27 14:45:03.923 19279-19279 Looper com.example.reprochannelcrash W PerfMonitor doFrame : time=1149ms vsyncFrame=23712544 latency=255ms procState=12 historyMsgCount=5 (msgIndex=1 wall=244ms seq=4 running=222ms io=15ms binder=16ms late=1213ms h=android.app.ActivityThread$H w=159) 2023-08-27 14:45:03.971 19279-19279 Choreographer com.example.reprochannelcrash I Skipped 64 frames! The application may be doing too much work on its main thread. 2023-08-27 14:45:03.990 19279-19279 Looper com.example.reprochannelcrash W PerfMonitor doFrame : time=18ms vsyncFrame=23712548 latency=1074ms procState=12 historyMsgCount=5 (msgIndex=1 wall=1149ms seq=9 running=869ms runnable=11ms binder=46ms late=255ms h=android.view.Choreographer$FrameHandler c=android.view.Choreographer$FrameDisplayEventReceiver) 2023-08-27 14:45:03.993 19279-19309 OpenGLRenderer com.example.reprochannelcrash I Davey! duration=1094ms; Flags=0, IntendedVsync=1135630379805575, Vsync=1135631446472199, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=1135631453694958, AnimationStart=1135631453703760, PerformTraversalsStart=1135631462264333, DrawStart=1135631467955843, SyncQueued=1135631470289176, SyncStart=1135631470713083, IssueDrawCommandsStart=1135631470878760, SwapBuffers=1135631473427718, FrameCompleted=1135631474781468, DequeueBufferDuration=164948, QueueBufferDuration=623750, GpuCompleted=0, 2023-08-27 14:45:08.382 19279-19341 ProfileInstaller com.example.reprochannelcrash D Installing profile for com.example.reprochannelcrash 2023-08-27 14:45:10.483 19279-19308 prochannelcras com.example.reprochannelcrash I ProcessProfilingInfo new_methods=8655 is saved saved_to_disk=1 resolve_classes_delay=8000 2023-08-27 14:45:36.870 19279-19297 System com.example.reprochannelcrash W A resource failed to call close. 2023-08-27 14:45:37.260 19279-19279 MirrorManager com.example.reprochannelcrash W this model don't Support 2023-08-27 14:46:10.988 19937-19937 ActivityManagerWrapper com.miui.home E getRecentTasks: taskId=13318 userId=0 baseIntent=Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.reprochannelcrash/.MainActivity } ---------------------------- PROCESS STARTED (21676) for package com.example.reprochannelcrash ---------------------------- 2023-08-27 14:46:25.001 21676-21676 Perf com.example.reprochannelcrash I Connecting to perf service. 2023-08-27 14:46:25.011 21676-21676 NetworkSecurityConfig com.example.reprochannelcrash D No Network Security Config specified, using platform default 2023-08-27 14:46:25.011 21676-21676 NetworkSecurityConfig com.example.reprochannelcrash D No Network Security Config specified, using platform default 2023-08-27 14:46:25.023 21676-21676 ContentProviderMonitor com.example.reprochannelcrash I PerfMonitor installContentProviders : before publish content providers 2023-08-27 14:46:25.055 21676-21676 prochannelcras com.example.reprochannelcrash E Invalid ID 0x00000000. 2023-08-27 14:46:25.101 21676-21676 Looper com.example.reprochannelcrash W PerfMonitor looperActivity : package=com.example.reprochannelcrash/.MainActivity time=75ms latency=349ms running=66ms procState=2 ClientTransaction{ callbacks=[android.app.servertransaction.LaunchActivityItem] lifecycleRequest=android.app.servertransaction.ResumeActivityItem } historyMsgCount=3 (msgIndex=3 wall=345ms seq=3 running=329ms runnable=6ms io=7ms binder=6ms late=10ms h=android.app.ActivityThread$H w=110) 2023-08-27 14:46:25.102 21676-21676 Looper com.example.reprochannelcrash W PerfMonitor looperActivity : package=com.example.reprochannelcrash/.MainActivity time=0ms latency=423ms running=0ms procState=2 ClientTransaction{ callbacks=[android.app.servertransaction.TopResumedActivityChangeItem] } historyMsgCount=4 (msgIndex=3 wall=345ms seq=3 running=329ms runnable=6ms io=7ms binder=6ms late=10ms h=android.app.ActivityThread$H w=110) (msgIndex=4 wall=75ms seq=4 running=66ms runnable=2ms binder=9ms late=349ms h=android.app.ActivityThread$H w=159) 2023-08-27 14:46:25.197 21676-21676 prochannelcras com.example.reprochannelcrash W Class androidx.compose.runtime.snapshots.SnapshotStateMap failed lock verification and will run slower. Common causes for lock verification issues are non-optimized dex code and incorrect proguard optimizations. 2023-08-27 14:46:25.270 21676-21676 TetheringManager com.example.reprochannelcrash I registerTetheringEventCallback:com.example.reprochannelcrash 2023-08-27 14:46:25.319 21676-21676 MiuiFrameworkFactory com.example.reprochannelcrash V get AllImpl object = android.common.MiuiFrameworkFactoryImpl@5f01f2b 2023-08-27 14:46:25.326 21676-21703 AdrenoGLES-0 com.example.reprochannelcrash I QUALCOMM build : 42297a4, I9e9b240040 Build Date : 03/19/21 OpenGL ES Shader Compiler Version: EV031.32.02.07 Local Branch : Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.UM.9.1.R1.11.00.00.604.070 Remote Branch : NONE Reconstruct Branch : NOTHING 2023-08-27 14:46:25.326 21676-21703 AdrenoGLES-0 com.example.reprochannelcrash I Build Config : S P 10.0.6 AArch64 2023-08-27 14:46:25.327 21676-21703 AdrenoGLES-0 com.example.reprochannelcrash I Driver Path : /vendor/lib64/egl/libGLESv2_adreno.so 2023-08-27 14:46:25.331 21676-21703 AdrenoGLES-0 com.example.reprochannelcrash I PFP: 0x016ee190, ME: 0x00000000 2023-08-27 14:46:28.374 21676-21676 MirrorManager com.example.reprochannelcrash W this model don't Support 2023-08-27 14:46:30.561 21676-21720 prochannelcras com.example.reprochannelcrash I Starting a blocking GC NativeAlloc 2023-08-27 14:46:31.834 21676-21676 Looper com.example.reprochannelcrash W PerfMonitor doFrame : time=740ms vsyncFrame=23714099 latency=14ms procState=2 2023-08-27 14:46:32.808 21676-21703 OpenGLRenderer com.example.reprochannelcrash I Davey! duration=1834ms; Flags=0, IntendedVsync=1135718349533562, Vsync=1135718349533562, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=1135718445282268, AnimationStart=1135718445290185, PerformTraversalsStart=1135718467972425, DrawStart=1135718520905185, SyncQueued=1135718631930029, SyncStart=1135718700095237, IssueDrawCommandsStart=1135718734529872, SwapBuffers=1135719944780601, FrameCompleted=1135720252368049, DequeueBufferDuration=80116354, QueueBufferDuration=60751979, GpuCompleted=0, 2023-08-27 14:46:33.478 21676-21690 prochannelcras com.example.reprochannelcrash I NativeAlloc concurrent copying GC freed 31348(1304KB) AllocSpace objects, 1(20KB) LOS objects, 49% free, 4072KB/8145KB, paused 19ms total 2.883s 2023-08-27 14:46:33.707 21676-21692 System com.example.reprochannelcrash W A resource failed to call close. 2023-08-27 14:46:33.780 21676-21676 Looper com.example.reprochannelcrash W PerfMonitor longMsg : seq=131 plan=14:46:30.901 late=1026ms wall=1525ms running=9ms runnable=1ms io=63ms reclaim=4ms binder=1ms slowpath=2ms h=android.view.Choreographer$FrameHandler w=1 procState=2 2023-08-27 14:46:34.208 1824-2378 system_server system_server E report event v2: module is BSP-Touch , appId is mqs_bsp_touch_data_4731000 . info is {"fod_single":0,"fod_unlock":0,"double_wakeup":0,"touch_click":0,"ghost_touch":{"double_down_position":"0","double_down_position_charging":"0","times_of_same_position":"0","times_of_same_position_charging":"0","double_down_axis":"0","double_down_axis_charging":"0","long_press":"0","long_press_charging":"0","multi_point":"0","multi_point_charging":"0","lcd_noresponse":"397ab7c com.example.reprochannelcrash/com.example.reprochannelcrash.MainActivity (server):1"} } . 2023-08-27 14:46:34.503 21676-21760 prochannelcras com.example.reprochannelcrash W Verification of void androidx.profileinstaller.ProfileInstaller.() took 119.637ms (125.38 bytecodes/s) (1736B approximate peak alloc) 2023-08-27 14:46:34.653 21676-21676 Choreographer com.example.reprochannelcrash I Skipped 69 frames! The application may be doing too much work on its main thread. 2023-08-27 14:46:34.920 21676-21760 prochannelcras com.example.reprochannelcrash W Verification of void androidx.profileinstaller.ProfileInstaller.diagnostic(java.util.concurrent.Executor, androidx.profileinstaller.ProfileInstaller$DiagnosticsCallback, int, java.lang.Object) took 334.539ms (26.90 bytecodes/s) (1576B approximate peak alloc) 2023-08-27 14:46:35.181 21676-21760 prochannelcras com.example.reprochannelcrash W Verification of void androidx.profileinstaller.ProfileInstaller.noteProfileWrittenFor(android.content.pm.PackageInfo, java.io.File) took 229.182ms (170.17 bytecodes/s) (2664B approximate peak alloc) 2023-08-27 14:46:35.373 21676-21760 prochannelcras com.example.reprochannelcrash W Verification of void androidx.profileinstaller.ProfileInstaller.result(java.util.concurrent.Executor, androidx.profileinstaller.ProfileInstaller$DiagnosticsCallback, int, java.lang.Object) took 184.708ms (48.73 bytecodes/s) (1576B approximate peak alloc) 2023-08-27 14:46:35.410 21676-21676 Looper com.example.reprochannelcrash W PerfMonitor doFrame : time=797ms vsyncFrame=23714100 latency=1146ms procState=2 historyMsgCount=3 (msgIndex=1 wall=1525ms seq=131 running=9ms runnable=1ms io=63ms reclaim=4ms binder=1ms slowpath=2ms late=1026ms h=android.view.Choreographer$FrameHandler w=1) (msgIndex=2 wall=62ms seq=132 running=20ms runnable=12ms io=29ms reclaim=19ms slowpath=6ms late=3334ms h=android.os.Handler c=androidx.profileinstaller.ProfileInstallerInitializer$$ExternalSyntheticLambda0) (msgIndex=3 wall=206ms seq=133 running=77ms runnable=15ms io=112ms reclaim=40ms slowpath=39ms late=3376ms h=android.os.Handler c=androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1) 2023-08-27 14:46:35.620 21676-21703 OpenGLRenderer com.example.reprochannelcrash I Davey! duration=2142ms; Flags=0, IntendedVsync=1135720929970422, Vsync=1135722079970376, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=1135722339488933, AnimationStart=1135722342534090, PerformTraversalsStart=1135722582187215, DrawStart=1135722656691642, SyncQueued=1135722765269037, SyncStart=1135722794852787, IssueDrawCommandsStart=1135722794939923, SwapBuffers=1135723070752371, FrameCompleted=1135723102523621, DequeueBufferDuration=9665000, QueueBufferDuration=14071094, GpuCompleted=0, 2023-08-27 14:46:35.633 21676-21760 ProfileInstaller com.example.reprochannelcrash D Installing profile for com.example.reprochannelcrash 2023-08-27 14:46:35.781 21676-21760 prochannelcras com.example.reprochannelcrash W Verification of androidx.profileinstaller.DeviceProfileWriter androidx.profileinstaller.DeviceProfileWriter.addMetadata(androidx.profileinstaller.DexProfileData[], byte[]) took 103.774ms (741.99 bytecodes/s) (3464B approximate peak alloc) 2023-08-27 14:46:35.931 21676-21760 prochannelcras com.example.reprochannelcrash W Verification of java.io.InputStream androidx.profileinstaller.DeviceProfileWriter.openStreamFromAssets(android.content.res.AssetManager, java.lang.String) took 122.164ms (278.31 bytecodes/s) (2392B approximate peak alloc)

on Emulator above

Full logcat --------- beginning of main --------- beginning of system 2023-08-27 14:49:51.298 2279-2279 prochannelcras com.example.reprochannelcrash I Late-enabling -Xcheck:jni 2023-08-27 14:49:51.625 2279-2279 prochannelcras com.example.reprochannelcrash W Unexpected CPU variant for X86 using defaults: x86_64 2023-08-27 14:49:52.368 2279-2279 ActivityThread com.example.reprochannelcrash I Relaunch all activities: onCoreSettingsChange 2023-08-27 14:49:52.369 2279-2279 Compatibil...geReporter com.example.reprochannelcrash D Compat change id reported: 171979766; UID 10153; state: ENABLED 2023-08-27 14:49:53.097 2279-2279 GraphicsEnvironment com.example.reprochannelcrash V ANGLE Developer option for 'com.example.reprochannelcrash' set to: 'default' 2023-08-27 14:49:53.097 2279-2279 GraphicsEnvironment com.example.reprochannelcrash V ANGLE GameManagerService for com.example.reprochannelcrash: false 2023-08-27 14:49:53.097 2279-2279 GraphicsEnvironment com.example.reprochannelcrash V Neither updatable production driver nor prerelease driver is supported. 2023-08-27 14:49:53.105 2279-2279 NetworkSecurityConfig com.example.reprochannelcrash D No Network Security Config specified, using platform default 2023-08-27 14:49:53.106 2279-2279 NetworkSecurityConfig com.example.reprochannelcrash D No Network Security Config specified, using platform default 2023-08-27 14:49:53.480 2279-2279 prochannelcras com.example.reprochannelcrash E Invalid ID 0x00000000. 2023-08-27 14:49:53.488 2279-2479 libEGL com.example.reprochannelcrash D loaded /vendor/lib64/egl/libEGL_emulation.so 2023-08-27 14:49:53.502 2279-2479 libEGL com.example.reprochannelcrash D loaded /vendor/lib64/egl/libGLESv1_CM_emulation.so 2023-08-27 14:49:53.527 2279-2479 libEGL com.example.reprochannelcrash D loaded /vendor/lib64/egl/libGLESv2_emulation.so 2023-08-27 14:49:54.011 2279-2279 Choreographer com.example.reprochannelcrash I Skipped 47 frames! The application may be doing too much work on its main thread. 2023-08-27 14:49:54.276 2279-2279 prochannelcras com.example.reprochannelcrash W Verification of java.util.Iterator androidx.compose.runtime.collection.IdentityArraySet.iterator() took 143.168ms (55.88 bytecodes/s) (1424B approximate peak alloc) 2023-08-27 14:49:54.894 2279-2279 prochannelcras com.example.reprochannelcrash W Class androidx.compose.runtime.snapshots.SnapshotStateMap failed lock verification and will run slower. Common causes for lock verification issues are non-optimized dex code and incorrect proguard optimizations. 2023-08-27 14:49:55.626 2279-2477 HostConnection com.example.reprochannelcrash D createUnique: call 2023-08-27 14:49:55.628 2279-2477 HostConnection com.example.reprochannelcrash D HostConnection::get() New Host Connection established 0x77cebef68f90, tid 2477 2023-08-27 14:49:55.678 2279-2477 HostConnection com.example.reprochannelcrash D HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 2023-08-27 14:49:55.737 2279-2477 OpenGLRenderer com.example.reprochannelcrash W Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without... 2023-08-27 14:49:55.738 2279-2477 OpenGLRenderer com.example.reprochannelcrash W Failed to initialize 101010-2 format, error = EGL_SUCCESS 2023-08-27 14:49:55.752 2279-2477 EGL_emulation com.example.reprochannelcrash D eglCreateContext: 0x77cebef68810: maj 3 min 0 rcv 3 2023-08-27 14:49:55.791 2279-2477 EGL_emulation com.example.reprochannelcrash D eglMakeCurrent: 0x77cebef68810: ver 3 0 (tinfo 0x77d0de1c4080) (first time) 2023-08-27 14:49:55.869 2279-2477 Gralloc4 com.example.reprochannelcrash I mapper 4.x is not supported 2023-08-27 14:49:55.878 2279-2477 HostConnection com.example.reprochannelcrash D createUnique: call 2023-08-27 14:49:55.878 2279-2477 HostConnection com.example.reprochannelcrash D HostConnection::get() New Host Connection established 0x77cebef67310, tid 2477 2023-08-27 14:49:55.880 2279-2477 goldfish-address-space com.example.reprochannelcrash D allocate: Ask for block of size 0x100 2023-08-27 14:49:55.880 2279-2477 goldfish-address-space com.example.reprochannelcrash D allocate: ioctl allocate returned offset 0x3f3ffe000 size 0x2000 2023-08-27 14:49:55.888 2279-2477 Gralloc4 com.example.reprochannelcrash W allocator 4.x is not supported 2023-08-27 14:49:55.913 2279-2477 HostConnection com.example.reprochannelcrash D HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 2023-08-27 14:49:55.985 2279-2340 OpenGLRenderer com.example.reprochannelcrash I Davey! duration=2750ms; Flags=1, FrameTimelineVsyncId=2104, IntendedVsync=51618576353, Vsync=52401909655, InputEventId=0, HandleInputStart=52403518953, AnimationStart=52403555053, PerformTraversalsStart=52403940953, DrawStart=54306532253, FrameDeadline=51635243019, FrameInterval=52403416853, FrameStartTime=16666666, SyncQueued=54311408553, SyncStart=54311903053, IssueDrawCommandsStart=54314732753, SwapBuffers=54357776953, FrameCompleted=54369435453, DequeueBufferDuration=18800, QueueBufferDuration=2722900, GpuCompleted=54369435453, SwapBuffersCompleted=54362475853, DisplayPresentTime=0, 2023-08-27 14:49:56.031 2279-2279 Choreographer com.example.reprochannelcrash I Skipped 89 frames! The application may be doing too much work on its main thread. 2023-08-27 14:49:56.821 2279-2279 Choreographer com.example.reprochannelcrash I Skipped 41 frames! The application may be doing too much work on its main thread. 2023-08-27 14:49:59.301 2279-2915 ProfileInstaller com.example.reprochannelcrash D Installing profile for com.example.reprochannelcrash 2023-08-27 14:49:59.650 575-629 VerityUtils system_server E Failed to measure fs-verity, errno 1: /data/app/~~OZQd1RcEv1thu8ETRVL7hA==/com.example.reprochannelcrash-7WvJysRDh-7syV1DtiGLZg==/base.apk 2023-08-27 14:50:01.604 575-629 VerityUtils system_server E Failed to measure fs-verity, errno 1: /data/app/~~OZQd1RcEv1thu8ETRVL7hA==/com.example.reprochannelcrash-7WvJysRDh-7syV1DtiGLZg==/base.apk 2023-08-27 14:50:08.035 2279-3092 HostConnection com.example.reprochannelcrash D createUnique: call 2023-08-27 14:50:08.036 2279-3092 HostConnection com.example.reprochannelcrash D HostConnection::get() New Host Connection established 0x77cebef6ebd0, tid 3092 2023-08-27 14:50:08.040 2279-3092 HostConnection com.example.reprochannelcrash D HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 2023-08-27 14:50:08.041 2279-3092 OpenGLRenderer com.example.reprochannelcrash W Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without... 2023-08-27 14:50:08.041 2279-3092 OpenGLRenderer com.example.reprochannelcrash W Failed to initialize 101010-2 format, error = EGL_SUCCESS 2023-08-27 14:50:08.059 2279-3092 EGL_emulation com.example.reprochannelcrash D eglCreateContext: 0x77cebef70910: maj 3 min 0 rcv 3 2023-08-27 14:50:08.091 2279-3092 EGL_emulation com.example.reprochannelcrash D eglMakeCurrent: 0x77cebef70910: ver 3 0 (tinfo 0x77d0de1c4100) (first time) 2023-08-27 14:50:08.102 2279-2646 HostConnection com.example.reprochannelcrash D createUnique: call 2023-08-27 14:50:08.103 2279-2646 HostConnection com.example.reprochannelcrash D HostConnection::get() New Host Connection established 0x77cebef6f110, tid 2646 2023-08-27 14:50:08.112 2279-2646 HostConnection com.example.reprochannelcrash D HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 2023-08-27 14:50:10.004 2279-2646 prochannelcras com.example.reprochannelcrash W Verification of void kotlin.io.CloseableKt.closeFinally(java.io.Closeable, java.lang.Throwable) took 921.286ms (20.62 bytecodes/s) (1728B approximate peak alloc) 2023-08-27 14:50:10.067 2279-2332 prochannelcras com.example.reprochannelcrash I NativeAlloc concurrent copying GC freed 28653(2249KB) AllocSpace objects, 1(20KB) LOS objects, 49% free, 4241KB/8482KB, paused 462us,295us total 1.289s 2023-08-27 14:50:18.138 2279-3092 HostConnection com.example.reprochannelcrash D createUnique: call 2023-08-27 14:50:18.142 2279-3092 HostConnection com.example.reprochannelcrash D HostConnection::get() New Host Connection established 0x77cebef6ebd0, tid 3092 2023-08-27 14:50:18.149 2279-3092 HostConnection com.example.reprochannelcrash D HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 2023-08-27 14:50:18.149 2279-3092 OpenGLRenderer com.example.reprochannelcrash W Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without... 2023-08-27 14:50:18.150 2279-3092 OpenGLRenderer com.example.reprochannelcrash W Failed to initialize 101010-2 format, error = EGL_SUCCESS 2023-08-27 14:50:18.163 2279-3092 EGL_emulation com.example.reprochannelcrash D eglCreateContext: 0x77cebef70910: maj 3 min 0 rcv 3 2023-08-27 14:50:18.216 2279-3092 EGL_emulation com.example.reprochannelcrash D eglMakeCurrent: 0x77cebef70910: ver 3 0 (tinfo 0x77d0de1c4100) (first time) 2023-08-27 14:50:18.228 2279-2645 HostConnection com.example.reprochannelcrash D createUnique: call 2023-08-27 14:50:18.228 2279-2645 HostConnection com.example.reprochannelcrash D HostConnection::get() New Host Connection established 0x77cebef6f590, tid 2645 2023-08-27 14:50:18.234 2279-2645 HostConnection com.example.reprochannelcrash D HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 2023-08-27 14:50:19.036 2279-2477 EGL_emulation com.example.reprochannelcrash D app_time_stats: avg=2882.09ms min=21.38ms max=14357.17ms count=8 2023-08-27 14:50:19.101 2279-2332 prochannelcras com.example.reprochannelcrash I NativeAlloc concurrent copying GC freed 3957(306KB) AllocSpace objects, 1(20KB) LOS objects, 49% free, 4303KB/8607KB, paused 953us,93us total 283.739ms 2023-08-27 14:50:19.115 2279-2334 System com.example.reprochannelcrash W A resource failed to call close. 2023-08-27 14:51:41.301 2279-2477 EGL_emulation com.example.reprochannelcrash D app_time_stats: avg=82256.05ms min=82256.05ms max=82256.05ms count=1 --------- beginning of crash ---------------------------- PROCESS STARTED (6939) for package com.example.reprochannelcrash ---------------------------- 2023-08-27 14:54:26.290 6939-6939 GraphicsEnvironment com.example.reprochannelcrash V ANGLE Developer option for 'com.example.reprochannelcrash' set to: 'default' 2023-08-27 14:54:26.291 6939-6939 GraphicsEnvironment com.example.reprochannelcrash V ANGLE GameManagerService for com.example.reprochannelcrash: false 2023-08-27 14:54:26.291 6939-6939 GraphicsEnvironment com.example.reprochannelcrash V Neither updatable production driver nor prerelease driver is supported. 2023-08-27 14:54:26.294 6939-6939 NetworkSecurityConfig com.example.reprochannelcrash D No Network Security Config specified, using platform default 2023-08-27 14:54:26.297 6939-6939 NetworkSecurityConfig com.example.reprochannelcrash D No Network Security Config specified, using platform default 2023-08-27 14:54:26.377 6939-6964 libEGL com.example.reprochannelcrash D loaded /vendor/lib64/egl/libEGL_emulation.so 2023-08-27 14:54:26.379 6939-6964 libEGL com.example.reprochannelcrash D loaded /vendor/lib64/egl/libGLESv1_CM_emulation.so 2023-08-27 14:54:26.383 6939-6964 libEGL com.example.reprochannelcrash D loaded /vendor/lib64/egl/libGLESv2_emulation.so 2023-08-27 14:54:26.427 6939-6939 prochannelcras com.example.reprochannelcrash E Invalid ID 0x00000000. 2023-08-27 14:54:26.833 6939-6939 prochannelcras com.example.reprochannelcrash W Class androidx.compose.runtime.snapshots.SnapshotStateMap failed lock verification and will run slower. Common causes for lock verification issues are non-optimized dex code and incorrect proguard optimizations. 2023-08-27 14:54:27.182 6939-6962 HostConnection com.example.reprochannelcrash D createUnique: call 2023-08-27 14:54:27.182 6939-6962 HostConnection com.example.reprochannelcrash D HostConnection::get() New Host Connection established 0x77cebef6c4d0, tid 6962 2023-08-27 14:54:27.187 6939-6962 HostConnection com.example.reprochannelcrash D HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 2023-08-27 14:54:27.194 6939-6962 OpenGLRenderer com.example.reprochannelcrash W Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without... 2023-08-27 14:54:27.196 6939-6962 OpenGLRenderer com.example.reprochannelcrash W Failed to initialize 101010-2 format, error = EGL_SUCCESS 2023-08-27 14:54:27.214 6939-6962 EGL_emulation com.example.reprochannelcrash D eglCreateContext: 0x77cebef6c590: maj 3 min 0 rcv 3 2023-08-27 14:54:27.272 6939-6962 EGL_emulation com.example.reprochannelcrash D eglMakeCurrent: 0x77cebef6c590: ver 3 0 (tinfo 0x77d0de1c6080) (first time) 2023-08-27 14:54:27.284 6939-6962 Gralloc4 com.example.reprochannelcrash I mapper 4.x is not supported 2023-08-27 14:54:27.289 6939-6962 HostConnection com.example.reprochannelcrash D createUnique: call 2023-08-27 14:54:27.289 6939-6962 HostConnection com.example.reprochannelcrash D HostConnection::get() New Host Connection established 0x77cebef6d9d0, tid 6962 2023-08-27 14:54:27.289 6939-6962 goldfish-address-space com.example.reprochannelcrash D allocate: Ask for block of size 0x100 2023-08-27 14:54:27.289 6939-6962 goldfish-address-space com.example.reprochannelcrash D allocate: ioctl allocate returned offset 0x3f3ffe000 size 0x2000 2023-08-27 14:54:27.292 6939-6962 Gralloc4 com.example.reprochannelcrash W allocator 4.x is not supported 2023-08-27 14:54:27.312 6939-6962 HostConnection com.example.reprochannelcrash D HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 2023-08-27 14:54:27.363 6939-6958 OpenGLRenderer com.example.reprochannelcrash I Davey! duration=971ms; Flags=1, FrameTimelineVsyncId=3252, IntendedVsync=324768565427, Vsync=324918565421, InputEventId=0, HandleInputStart=324930889353, AnimationStart=324930910153, PerformTraversalsStart=324931192953, DrawStart=325705340353, FrameDeadline=324785232093, FrameInterval=324930852653, FrameStartTime=16666666, SyncQueued=325712123253, SyncStart=325725106153, IssueDrawCommandsStart=325726001953, SwapBuffers=325748313953, FrameCompleted=325752941753, DequeueBufferDuration=21000, QueueBufferDuration=953200, GpuCompleted=325752941753, SwapBuffersCompleted=325751087453, DisplayPresentTime=0, 2023-08-27 14:54:27.386 6939-6939 Choreographer com.example.reprochannelcrash I Skipped 42 frames! The application may be doing too much work on its main thread. 2023-08-27 14:54:29.440 6939-6972 HostConnection com.example.reprochannelcrash D createUnique: call 2023-08-27 14:54:29.440 6939-6972 HostConnection com.example.reprochannelcrash D HostConnection::get() New Host Connection established 0x77cebef700d0, tid 6972 2023-08-27 14:54:29.444 6939-6972 HostConnection com.example.reprochannelcrash D HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 2023-08-27 14:54:29.445 6939-6972 OpenGLRenderer com.example.reprochannelcrash W Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without... 2023-08-27 14:54:29.447 6939-6972 OpenGLRenderer com.example.reprochannelcrash W Failed to initialize 101010-2 format, error = EGL_SUCCESS 2023-08-27 14:54:29.460 6939-6972 EGL_emulation com.example.reprochannelcrash D eglCreateContext: 0x77cebef6f950: maj 3 min 0 rcv 3 2023-08-27 14:54:29.493 6939-6972 EGL_emulation com.example.reprochannelcrash D eglMakeCurrent: 0x77cebef6f950: ver 3 0 (tinfo 0x77d0de1c6100) (first time) 2023-08-27 14:54:29.495 6939-6968 HostConnection com.example.reprochannelcrash D createUnique: call 2023-08-27 14:54:29.496 6939-6968 HostConnection com.example.reprochannelcrash D HostConnection::get() New Host Connection established 0x77cebef6f710, tid 6968 2023-08-27 14:54:29.500 6939-6968 HostConnection com.example.reprochannelcrash D HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 2023-08-27 14:54:31.252 6939-6975 HostConnection com.example.reprochannelcrash D createUnique: call 2023-08-27 14:54:31.253 6939-6975 HostConnection com.example.reprochannelcrash D HostConnection::get() New Host Connection established 0x77cebef70a90, tid 6975 2023-08-27 14:54:31.256 6939-6975 HostConnection com.example.reprochannelcrash D HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 2023-08-27 14:54:31.330 6939-6962 EGL_emulation com.example.reprochannelcrash D app_time_stats: avg=496.35ms min=18.24ms max=2391.65ms count=8 2023-08-27 14:54:31.746 6939-6983 ProfileInstaller com.example.reprochannelcrash D Installing profile for com.example.reprochannelcrash 2023-08-27 14:54:35.503 6939-6962 EGL_emulation com.example.reprochannelcrash D app_time_stats: avg=4173.32ms min=4173.32ms max=4173.32ms count=1 2023-08-27 14:54:38.132 6939-6962 EGL_emulation com.example.reprochannelcrash D app_time_stats: avg=90.53ms min=1.18ms max=2129.30ms count=27 2023-08-27 14:54:38.217 6939-6939 Choreographer com.example.reprochannelcrash I Skipped 47 frames! The application may be doing too much work on its main thread. 2023-08-27 14:54:38.591 6939-6955 OpenGLRenderer com.example.reprochannelcrash I Davey! duration=890ms; Flags=0, FrameTimelineVsyncId=3651, IntendedVsync=335635231659, Vsync=335768564987, InputEventId=687861992, HandleInputStart=335769874853, AnimationStart=335812330453, PerformTraversalsStart=336159395353, DrawStart=336425000653, FrameDeadline=335651898325, FrameInterval=335769829653, FrameStartTime=16666666, SyncQueued=336504731053, SyncStart=336505148753, IssueDrawCommandsStart=336505342053, SwapBuffers=336506719253, FrameCompleted=336526088053, DequeueBufferDuration=100700, QueueBufferDuration=15522300, GpuCompleted=336523135853, SwapBuffersCompleted=336526088053, DisplayPresentTime=1304640434540843546, 2023-08-27 14:54:38.651 6939-6958 OpenGLRenderer com.example.reprochannelcrash I Davey! duration=891ms; Flags=0, FrameTimelineVsyncId=3653, IntendedVsync=335785231653, Vsync=336568564955, InputEventId=754799186, HandleInputStart=336609970453, AnimationStart=336619012953, PerformTraversalsStart=336663325353, DrawStart=336663577253, FrameDeadline=335818564985, FrameInterval=336580318253, FrameStartTime=16666666, SyncQueued=336664909353, SyncStart=336670328453, IssueDrawCommandsStart=336670352953, SwapBuffers=336670722353, FrameCompleted=336682574753, DequeueBufferDuration=276900, QueueBufferDuration=10337400, GpuCompleted=336682082753, SwapBuffersCompleted=336682574753, DisplayPresentTime=2065494891758623911, 2023-08-27 14:54:39.234 6939-6962 EGL_emulation com.example.reprochannelcrash D app_time_stats: avg=181.72ms min=125.14ms max=318.21ms count=6 2023-08-27 14:54:40.796 6939-6962 EGL_emulation com.example.reprochannelcrash D app_time_stats: avg=780.24ms min=28.96ms max=1531.53ms count=2 2023-08-27 14:54:40.856 6939-6988 OpenGLRenderer com.example.reprochannelcrash I Davey! duration=979ms; Flags=0, FrameTimelineVsyncId=3707, IntendedVsync=338201898223, Vsync=338285231553, InputEventId=500749686, HandleInputStart=338292377253, AnimationStart=338390704853, PerformTraversalsStart=338532222753, DrawStart=338921224353, FrameDeadline=338218564889, FrameInterval=338292303853, FrameStartTime=16666666, SyncQueued=339076816753, SyncStart=339084000153, IssueDrawCommandsStart=339094060153, SwapBuffers=339145406453, FrameCompleted=339188661853, DequeueBufferDuration=196800, QueueBufferDuration=40745900, GpuCompleted=339186695953, SwapBuffersCompleted=339188661853, DisplayPresentTime=2127420331640038232, 2023-08-27 14:55:21.102 6939-6939 Choreographer com.example.reprochannelcrash I Skipped 2446 frames! The application may be doing too much work on its main thread. ---------------------------- PROCESS ENDED (6939) for package com.example.reprochannelcrash ----------------------------

Edit:

Did manage to get the error message now: channel '1b9baa6 com.example.reprochannelcrash/com.example.reprochannelcrash.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!

saket commented 10 months ago

Oh whoops. Turns out my fixes are actually on a different branch. Let me merge them into master.

saket commented 10 months ago

Done! Can you try again Maarten?

MV-GH commented 10 months ago

Sure but I don't see the new snapshot yet

saket commented 10 months ago

Oh it's the same 0.6.0-SNAPSHOT version: https://oss.sonatype.org/content/repositories/snapshots/me/saket/telephoto/zoomable-image-coil/0.6.0-SNAPSHOT/

MV-GH commented 10 months ago

Still crashes, tested on real device and emulator

The exact steps that I do are:

also threw this one-off stacktrace that I didnt see before yet

Stacktrace Second failure launching com.example.reprochannelcrash/.MainActivity, giving up android.os.DeadObjectException at android.os.BinderProxy.transactNative(Native Method) at android.os.BinderProxy.transact(BinderProxy.java:571) at android.app.IApplicationThread$Stub$Proxy.scheduleTransaction(IApplicationThread.java:2732) at android.app.servertransaction.ClientTransaction.schedule(ClientTransaction.java:136) at com.android.server.wm.ClientLifecycleManager.scheduleTransaction(ClientLifecycleManager.java:47) at com.android.server.wm.ActivityTaskSupervisor.realStartActivityLocked(ActivityTaskSupervisor.java:868) at com.android.server.wm.ActivityTaskSupervisor.startSpecificActivity(ActivityTaskSupervisor.java:986) at com.android.server.wm.Task.resumeTopActivityInnerLocked(Task.java:6508) at com.android.server.wm.Task.resumeTopActivityUncheckedLocked(Task.java:6105) at com.android.server.wm.Task.resumeTopActivityUncheckedLocked(Task.java:6150) at com.android.server.wm.ActivityRecord.makeActiveIfNeeded(ActivityRecord.java:5235) at com.android.server.wm.EnsureActivitiesVisibleHelper.setActivityVisibilityState(EnsureActivitiesVisibleHelper.java:164) at com.android.server.wm.EnsureActivitiesVisibleHelper.lambda$process$0$EnsureActivitiesVisibleHelper(EnsureActivitiesVisibleHelper.java:100) at com.android.server.wm.EnsureActivitiesVisibleHelper$$ExternalSyntheticLambda0.accept(Unknown Source:8) at com.android.server.wm.ActivityRecord.forAllActivities(ActivityRecord.java:4034) at com.android.server.wm.WindowContainer.forAllActivities(WindowContainer.java:1442) at com.android.server.wm.WindowContainer.forAllActivities(WindowContainer.java:1436) at com.android.server.wm.EnsureActivitiesVisibleHelper.process(EnsureActivitiesVisibleHelper.java:99) at com.android.server.wm.Task.lambda$ensureActivitiesVisible$20(Task.java:5978) at com.android.server.wm.Task$$ExternalSyntheticLambda23.accept(Unknown Source:10) at com.android.server.wm.Task.forAllLeafTasks(Task.java:3859) at com.android.server.wm.Task.ensureActivitiesVisible(Task.java:5978) at com.android.server.wm.DisplayContent.lambda$ensureActivitiesVisible$44(DisplayContent.java:5768) at com.android.server.wm.DisplayContent$$ExternalSyntheticLambda17.accept(Unknown Source:10) at com.android.server.wm.Task.forAllRootTasks(Task.java:3871) at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1755) at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1755) at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1755) at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1755) at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1755) at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1755) at com.android.server.wm.WindowContainer.forAllRootTasks(WindowContainer.java:1748) at com.android.server.wm.DisplayContent.ensureActivitiesVisible(DisplayContent.java:5767) at com.android.server.wm.RootWindowContainer.ensureActivitiesVisible(RootWindowContainer.java:1987) at com.android.server.wm.RootWindowContainer.ensureActivitiesVisible(RootWindowContainer.java:1969) at com.android.server.wm.Task.completePauseLocked(Task.java:5915) at com.android.server.wm.ActivityRecord.activityPaused(ActivityRecord.java:5456) at com.android.server.wm.ActivityClientController.activityPaused(ActivityClientController.java:165) at android.app.IActivityClientController$Stub.onTransact(IActivityClientController.java:540) at com.android.server.wm.ActivityClientController.onTransact(ActivityClientController.java:111) at android.os.Binder.execTransactInternal(Binder.java:1179) at android.os.Binder.execTransact(Binder.java:1143) ---------------------------- PROCESS STARTED (5337) for package com.example.reprochannelcrash ---------------------------- Compat change id reported: 171979766; UID 10147; state: ENABLED ANGLE Developer option for 'com.example.reprochannelcrash' set to: 'default' Neither updatable production driver nor prerelease driver is supported. No Network Security Config specified, using platform default No Network Security Config specified, using platform default Installing profile for com.example.reprochannelcrash
saket commented 10 months ago

Hmm that's weird. I am able to see significant performance gains on my Pixel 6a with the recent changes. Could you verify that gradle isn't caching a stale version of 0.6.0-SNAPSHOT in your project? You can do this by pinning the version to the latest one:

implementation("me.saket.telephoto:zoomable-image-coil:0.6.0-20230827.201548-9")
MV-GH commented 10 months ago

I had deleted the cache, I just retested with the pinned version and the results are the same.

saket commented 10 months ago

Oh hey I was able to reproduce the crash on the emulator with the second image. I was earlier only testing with the first image because it had a larger file size, but turns out the second one has a worse performance despite being smaller.

I'm disabling parallel decoding of bitmaps completely for large images which should solve this. I tested the changes on various devices including a Galaxy A20 and a Unihertz Jelly, and their performance looks good in release mode. I'll make a new release soon, but you can try out the newest snapshot once this action finishes running.

FWIW the reason these two images bring telephoto to a crawl is because Android's bitmap decoder is not super optimized for progressive JPEGs. Running multiple decoders in parallel makes the situation worse.

MV-GH commented 10 months ago

I can confirm it no longer crashes. But it does not seem to "subsample" or make the image sharper after zooming in.

Example now: image

Example with prev version: image

saket commented 10 months ago

Amazing, just as I was about to cut a release. Is that happening on a real device? And are you able to consistently reproduce it? If so, could you help me investigate what might be happening? I'm unable to reproduce this on any of my devices or the emulator.

You can add a local build of telephoto to your project by adding this in your settings.gradle.kts file:

includeBuild("../telephoto") {
    dependencySubstitution {
        substitute(module("me.saket.telephoto:zoomable-image-coil")).using(project(":zoomable-image:coil"))
    }
}

My suspicion would be this line. Does anything change if you comment it out?

https://github.com/saket/telephoto/blob/dbc5655236f441e5aecd41187f2912b55cb95633/zoomable-image/sub-sampling-image/src/main/kotlin/me/saket/telephoto/subsamplingimage/internal/BitmapCache.kt#L39

Could also try replacing this line:

https://github.com/saket/telephoto/blob/dbc5655236f441e5aecd41187f2912b55cb95633/zoomable-image/sub-sampling-image/src/main/kotlin/me/saket/telephoto/subsamplingimage/SubSamplingImageState.kt#L140

with this:

val bitmapCache = BitmapCache(scope, decoder)
MV-GH commented 10 months ago

It was in a emulator, I can still reproduce it sometimes, but not consistently anymore. It happens when i load a few chunks when zoomed in a keep moving over the place and then stop on some place. Even after 10m+ it still hasn't sharpened. I have not been able to reproduce this on actual device though. I have some time in two days to test the above

saket commented 10 months ago

Even after 10m+ it still hasn't sharpened.

Does it load if you move again?

I have some time in two days to test the above

Sounds good! Let's also move the new discussion in a new issue. I'll go ahead and close this one.