lets-plot-skia
lets-plot-skia copied to clipboard
Android: fast plot rebuild can cause a crash
In rare cases, clicking the "Keep Aspect Ratio" checkbox too quickly can cause a crash:
Crash dump:
eglCreateContext: 0xb400007d5fdcfa90: maj 3 min 0 rcv 3
claimShared: Ask to claim region [0x1e7010000 0x1e7b88000]
eglMakeCurrent: 0xb400007d5fdcfa90: ver 3 0 (tinfo 0x7f710b5100) (first time)
claimShared: Ask to claim region [0x1e5f40000 0x1e6ab8000]
claimShared: Ask to claim region [0x1eb340000 0x1ebeb8000]
A resource failed to call release.
A resource failed to call release.
A resource failed to call release.
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x4 in tid 8011 (RenderThread), pid 7985 (o.plot.SkiaDemo)
obtaining output fd from tombstoned, type: kDebuggerdTombstoneProto
received crash request for pid 8011
performing dump of process 7985 (target tid = 8011)
failed to read /proc/uptime: Permission denied
Failed to initialize DEX file support: dlopen failed: library "libdexfile.so" not found
logdr: UID=10146 GID=10146 PID=8160 n tail=0 logMask=8 pid=7985 start=0ns deadline=0ns
logdr: UID=10146 GID=10146 PID=8160 n tail=0 logMask=1 pid=7985 start=0ns deadline=0ns
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/sdk_gphone64_arm64/emulator64_arm64:12/SE1A.220630.001.A1/9056438:userdebug/dev-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2023-11-27 19:07:26.868209708+0100
Process uptime: 0s
Cmdline: demo.plot.SkiaDemo
pid: 7985, tid: 8011, name: RenderThread >>> demo.plot.SkiaDemo <<<
uid: 10146
tagged_addr_ctrl: 0000000000000001
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x4
Cause: null pointer dereference
x0 b400007d3fe2c530 x1 0000007c4d664890 x2 b400007d7fdf9b10 x3 b400007d3fe2c530
x4 0000000000000001 x5 0000000000000001 x6 b400007d6fe06ab0 x7 b400007d6fe06ab0
x8 0000000000000000 x9 0000000000000004 x10 0000000000430000 x11 0000007ccda18a78
x12 0000007ccda18acc x13 0000007ccda18b20 x14 0000007ccda18b80 x15 0000000000000000
x16 0000007f7bbf24a0 x17 0000007f6bdcecc0 x18 0000007c4c5d2000 x19 0000000000000001
x20 0000000000000001 x21 b400007d7fdf9b10 x22 b400007d3fe2c530 x23 0000007c4d667000
x24 0000000000000001 x25 b400007dafdd6100 x26 0000007c4d667000 x27 00000000000001ae
x28 0000007c4d665030 x29 0000007c4d6648a0
lr 0000007f7bb27efc sp 0000007c4d664890 pc 0000007f6bdcecc8 pst 00000000a0001000
backtrace:
#00 pc 000000000000dcc8 /system/lib64/libutils.so (android::RefBase::incStrong(void const*) const+8) (BuildId: a3acb0eba7fd91ea48db6f0befa41c65)
#01 pc 0000000000127ef8 /system/lib64/libandroid_runtime.so (android::nativeSetFlags(_JNIEnv*, _jclass*, long, long, int, int)+84) (BuildId: db04fb413e0fca096fdfcb015acb2940)
#02 pc 0000000000187c88 /system/framework/arm64/boot-framework.oat (art_jni_trampoline+120) (BuildId: 56fb928acef1792118f6001991e3f57d774e28ed)
#03 pc 0000000002378a80 /memfd:jit-cache (deleted) (android.view.SurfaceControl.access$3300+96)
#04 pc 0000000000218be8 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#05 pc 0000000000284224 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+216) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#06 pc 00000000003e34ac /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+400) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#07 pc 00000000003df500 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+700) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#08 pc 000000000022ca08 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+22904) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#09 pc 0000000000224bd8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#10 pc 0000000000304f08 /system/framework/framework.jar
#11 pc 00000000003ddd00 /apex/com.android.art/lib64/libart.so (art::interpreter::ExecuteSwitch(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool)+316) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#12 pc 00000000003d60f8 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool)+216) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#13 pc 00000000003dd890 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+204) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#14 pc 00000000003de2fc /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+768) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#15 pc 000000000022d7a8 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+26392) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#16 pc 0000000000224bd8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#17 pc 0000000000308598 /system/framework/framework.jar
#18 pc 00000000003ddd00 /apex/com.android.art/lib64/libart.so (art::interpreter::ExecuteSwitch(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool)+316) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#19 pc 00000000003d60f8 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool)+216) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#20 pc 00000000003dd890 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+204) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#21 pc 00000000003de2fc /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+768) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#22 pc 000000000022dc08 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+27512) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#23 pc 0000000000224bd8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#24 pc 000000000043ba7c /system/framework/framework.jar
#25 pc 00000000003ddd00 /apex/com.android.art/lib64/libart.so (art::interpreter::ExecuteSwitch(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool)+316) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#26 pc 00000000003d60f8 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool)+216) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#27 pc 000000000073b6b8 /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+776) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#28 pc 0000000000222378 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#29 pc 0000000000218964 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#30 pc 0000000000284208 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+188) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#31 pc 000000000061ff04 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+468) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#32 pc 00000000006200a4 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#33 pc 00000000004d7668 /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+620) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#34 pc 00000000004447e8 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, std::__va_list, art::Primitive::Type, art::InvokeType)+2472) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#35 pc 0000000000432e24 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list) (.llvm.11195161549560735479)+72) (BuildId: e6c658201ef1ec3760112fa1b838ab2c)
#36 pc 000000000048ca0c /system/lib64/libhwui.so (_JNIEnv::CallVoidMethod(_jobject*, _jmethodID*, ...)+120) (BuildId: a241a5dc738c2fe8686d91f83b94d911)
#37 pc 0000000000491e58 /system/lib64/libhwui.so (_ZZN7androidL46android_view_RenderNode_requestPositionUpdatesEP7_JNIEnvP8_jobjectlS3_EN26PositionListenerTrampoline14onPositionLostERNS_10uirenderer10RenderNodeEPKNS5_8TreeInfoE$e08e5be7d6b9d462d36dec99da9de1de+192) (BuildId: a241a5dc738c2fe8686d91f83b94d911)
#38 pc 00000000002c6cd8 /system/lib64/libhwui.so (android::uirenderer::RenderNode::deleteDisplayList(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo*)+348) (BuildId: a241a5dc738c2fe8686d91f83b94d911)
#39 pc 000000000041c650 /system/lib64/libhwui.so (android::uirenderer::RenderNode::destroyHardwareResources(android::uirenderer::TreeInfo*)+92) (BuildId: a241a5dc738c2fe8686d91f83b94d911)
#40 pc 000000000034b10c /system/lib64/libhwui.so (android::uirenderer::MarkAndSweepRemoved::~MarkAndSweepRemoved()+288) (BuildId: a241a5dc738c2fe8686d91f83b94d911)
#41 pc 000000000034af68 /system/lib64/libhwui.so (android::uirenderer::RenderNode::prepareTree(android::uirenderer::TreeInfo&)+164) (BuildId: a241a5dc738c2fe8686d91f83b94d911)
#42 pc 00000000004cf218 /system/lib64/libhwui.so (android::uirenderer::RootRenderNode::prepareTree(android::uirenderer::TreeInfo&)+176) (BuildId: a241a5dc738c2fe8686d91f83b94d911)
#43 pc 00000000003ba42c /system/lib64/libhwui.so (android::uirenderer::renderthread::CanvasContext::prepareTree(android::uirenderer::TreeInfo&, long*, long, android::uirenderer::RenderNode*)+336) (BuildId: a241a5dc738c2fe8686d91f83b94d911)
#44 pc 00000000003b99fc /system/lib64/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c1671e787f244890c877724752face20+420) (BuildId: a241a5dc738c2fe8686d91f83b94d911)
#45 pc 00000000003c68d8 /system/lib64/libhwui.so (android::uirenderer::WorkQueue::process()+156) (BuildId: a241a5dc738c2fe8686d91f83b94d911)
#46 pc 00000000003c6644 /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+84) (BuildId: a241a5dc738c2fe8686d91f83b94d911)
#47 pc 00000000000120ac /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260) (BuildId: a3acb0eba7fd91ea48db6f0befa41c65)
#48 pc 0000000000011964 /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+404) (BuildId: a3acb0eba7fd91ea48db6f0befa41c65)
#49 pc 00000000000b1910 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: ba489d4985c0cf173209da67405662f9)
#50 pc 00000000000513f0 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: ba489d4985c0cf173209da67405662f9)