Status Update
Comments
di...@google.com <di...@google.com> #2
1. Android Studio version and OS type and version
2. Screenshots or videos of the issue
3. idea.log file (select Help > Show Log in Finder / Explorer)
4. Thread dumps if the issue is a freezing or non-responding UI.
For more information on what’s needed and how to obtain this information please read the guide at
cm...@gmail.com <cm...@gmail.com> #3
1. Download the source for the above given link.
2. Compiled and install onto an android device.
3. You should see the above problem after the app is launched.
4. If (3) does not produce the problem, proceed to login to an xmpp server with the given account in playstore aTalk.
5. Repeat steps 2 & 3, you should see the SIGSEGV happen a few times
6. Just click resume to continue
7. If you start going through some the the app features e.g. settings, making call, the above problem again will happen.
8. After that, the app works as normal
ha...@google.com <ha...@google.com>
sp...@google.com <sp...@google.com> #4
Where do SIGSEGV (signal SIGSEGV: invalid address (fault address: 0x0))
errors appear?
Please attach idea.log. Thank you.
cm...@gmail.com <cm...@gmail.com> #5
The problems happen ONLY after a newly compiled apk is adb installed onto the android device; where a piece of code (feature) is being executed the very FIRST TIME. There is no logcat error being displayed when this happens. The problem seems to relate to ART (JIT) executions. After the encountered of the SIGSEGV problems, all debug will return to normal operation, until another newly compiled apk is adb installed and the same cycle repeated.
sp...@google.com <sp...@google.com> #6
Do I understand correctly that your app is crashing with SIGSEGV after deployment? Why do you think that this is a problem with Studio?
cm...@gmail.com <cm...@gmail.com> #7
No, the app does not crash on SIGSEGV, but just break; and user just has to click continue to resume.
Please refer to the title: Android Studio keeps "pausing" with SIGSEGV ...
> Why do you think that this is a problem with Studio?
I think this is your team needs to find out and answer. I am merely report my observation when doing debug using AS.
sp...@google.com <sp...@google.com> #8
Messages like
022-07-18 08:37:34,196 [8581988] INFO - n.AndroidNativeAppDebugProcess - Got SIGSEGV signal, PC address: 0x00000000d6fd8f96
are just informational. They can be safely ignored.
cm...@gmail.com <cm...@gmail.com> #9
<unknown> 0x00000000d6fd846e
SIGSEGV (signal SIGSEGV: invalid address (fault address: 0x0))
Also giving such an info does not help in debug, but only to confuse the developer in the whole software development process.
It misleds the developer thinking it is a problem in the software source. I spent almost a week just to figure out and ignore them.
I would strongly recommend your team should remove such garbage info which offers no help at all to the whole software development process.
em...@google.com <em...@google.com> #11
If (3) does not produce the problem
It did not. Do I have to be on arm64 to reproduce? I only tested debugging playstoreDebug variant of :aTalk module on an x86_64 emulator.
proceed to login to an xmpp server with the given account in playstore aTalk.
What's a "given account"? Is there a developer account that I can use for testing the "debug" mode (e.g. debug/debug or admin/admin)?
cm...@gmail.com <cm...@gmail.com> #12
test1@atalk.sytes.net; pwd 1234
test2@atalk.sytes.net; pwd 1234
This is using aTalk home server at host
em...@google.com <em...@google.com> #13
What Android device are you running on?
- Is it 32-bit or 64-bit?
- Does it run Android Oreo or newer/older?
cm...@gmail.com <cm...@gmail.com> #14
a. Samsung Note-10+ (android-12 API-31) 64-bit
b. Samsung SM-730GM (android-9 API-28) 32-bit
cm...@gmail.com <cm...@gmail.com> #15
following is the observation:
After a newly compiled apk is adb installed on the device, the device crashes immediately, and the device will restart from cold boot.
This will also disconnect the ADB debugger from the device. So I cannot tell if SIGSEGV is still happen on this device.
Note: SIGSEGV will not happen if there is no debugger attached.
em...@google.com <em...@google.com> #16
Can you:
-
Share the stack trace displayed on Android Studio debugger when execution stops with SIGSEGV? Does it just have that top frame that says SIGSEGV?
-
When execution stops, go to the debugger's LLDB tab, and type;
process handle SIGSEGV
, what does it print back?
em...@google.com <em...@google.com> #17
Some a background on the technical aspect of SEGVs:
Android Runtime (ART) uses SEGV for various internal purposes (it triggers a SEGV and handles it without crashing the app, the app doesn't know it happened). When the native debugger is connected, the debugger must intercept all SEGV signals.
- When running the debugger on Android API level 27 and newer, we make the debugger skip these SEGV signals (i.e., forward them to be handled by ART), because we know how to handle real SEGV signals inside ART.
- For older Android versions (26 or older), we did not have this support, so the debugger stops at every SEGV (i.e., it cannot know if the signal is a real crash or an ART-internal thing).
cm...@gmail.com <cm...@gmail.com> #18
Yes, there is no thread info available. (see the previous attached png)
> When execution stops, go to the debugger's LLDB tab, and type; process handle SIGSEGV, what does it print back?
(lldb) process handle SIGSEGV
NAME PASS STOP NOTIFY
=========== ===== ===== ======
SIGSEGV true true true
> When running the debugger on Android API level 27 and newer, we make the debugger skip these SEGV signals, because we know how to handle real SEGV signals inside ART.
The problems happen on the two test android devices with API-28 and API-32; still causing the whole apk execution to pause.
Is there any option that I can enabled to disable this SIGSEGV. It really creates problem when debugging real-time apk likes aTalk e.g. during call setup etc.
I need to click Resume button a few times for SIGSEGV when a new apk is installed. It is really a problem for the developer, and disrupt the whole debug process.
em...@google.com <em...@google.com> #19
(lldb) process handle SIGSEGV
NAME PASS STOP NOTIFY
=========== ===== ===== ======
SIGSEGV true true true
This is extremely odd. For any device that is running Android Oreo (API level 27) and newer, this really should have printed pass=true, stop=false, notify=false
.
It's puzzling to me why it's different. Either Android Studio cannot set them (which means it couldn't read the Android API level, or read it wrong?!) , or the value it set gets overwritten by some other mechanism.
I don't have a repro for this, but I only have Pixel devices with me. Tomorrow I'll try with a Samsung phone (but I don't have identical devices, unfortunately).
A shot in the dark (nothing more than possible "workaround"), but can you try going to Edit Configurations > Debugger > LLDB Post-Attach Commands
and then add process handle SIGSEGV --pass true --stop false --notify true
there?
em...@google.com <em...@google.com> #20
This does not reproduce on a Samsung Galaxy S22 device running Android 12 either.
cm...@gmail.com <cm...@gmail.com> #21
Thanks, this has helped to disable the SIGSEGV pause for both the android devices:
a. Samsung Note-10+ (android-12 API-31) 64-bit
b. Samsung SM-730GM (android-9 API-28) 32-bit
> FYI: Must ensure the android device under test has a new apk installed for the SIGSEGV to happen.
cm...@gmail.com <cm...@gmail.com> #22
On checking -> Edit Configurations > Debugger > LLDB Post-Attach Commands, found that the previous added command has been cleared i.e. process handle SIGSEGV --pass true --stop false --notify.
Even after I have added the command, there is no change in the behavior. Without ABD USB cable attached, everything works as normal.
// =================== AS environment setup ==============
Build: AI-212.5712.43.2112.8815526, 202207101541,
AI-212.5712.43.2112.8815526, JRE 11.0.12+0-b1504.28-7817840x64 JetBrains s.r.o., OS Linux(amd64) v5.15.0-48-generic, screens 3840.0x2160.0, 2560.0x1600.0
AS: Chipmunk | 2021.2.1 Patch 2; Kotlin plugin: 212-1.7.10-release-333-AS5457.46; Android Gradle Plugin: 4.2.2; Gradle: 6.9; Gradle JDK: version 11.0.12; NDK: from local.properties: (not specified), latest from SDK: 22.1.7171670; LLDB: pinned revision 3.1 not found, latest from SDK: (package not found); CMake: from local.properties: (not specified), latest from SDK: 3.18.1-g262b901, from PATH: 3.22.1
em...@google.com <em...@google.com> #23
This doesn't seem related to the SEGV issue above. Can you file a separate bug, and upload your idea.log file, report Android device information, etc?
FYI: There hasn't been any C++ debugger related changes between Chipmunk and Chipmunk Patch 2 that can affect this, so this is unlikely to be a regression in Chipmunk Patch 2.
em...@google.com <em...@google.com> #25
Thanks. We will continue investigating over in that bug.
Meanwhile, I don't think there is anything we can do related to this current issue, as we are unable to reproduce it. Please let us know if the workaround no longer helps.
cm...@gmail.com <cm...@gmail.com> #26
By the way the fix i.e. "process handle SIGSEGV --pass true --stop false --notify true" really fix the problem. The SIGSEGV problems always return if I remove the statement.
em...@google.com <em...@google.com> #27
The problem does not reproduce on any Samsung (or non-Samsung) phone that we tested with.
Further, that process handle SIGSEGV
command is included inside Android Studio (and has always been), and is executed automatically for all native debug sessions as soon as the debugger starts. So, there seems to be something very peculiar that we are unable to identify.
cm...@gmail.com <cm...@gmail.com> #28
Thanks for the updates. As mentioned in the #22, found that the "process handle SIGSEGV" was removed (date unknown).
I did not realise this until I experienced the slow speed execution, as the removal of the statement did not cause SIGSEGV in my debug process.
I added back the "process handle SIGSEGV", as I experienced SIGSEGV problem but only once after the above incident.
Yesterday I removed the "process handle SIGSEGV" statement, strangely the SIGSEGV did not happen again, which was 100% reproducible earlier. Will continue monitoring the outcome.
In my mind, I just wonder on the very first inclusion of "process handle SIGSEGV" statement, this setting actually get saved in the AS or the device itself in a persistence storage.
This value remains until it is again RESET manually; hence gave rise to all the unexplained observations.
cm...@gmail.com <cm...@gmail.com> #29
After upgrading the android studio to new release i.e.:
Android Studio Dolphin | 2021.3.1 Patch 1 Build #AI-213.7172.25.2113.9123335, built on September 30, 2022 Runtime version: 11.0.13+0-b1751.21-8125866 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Linux 5.15.0-52-generic GC: G1 Young Generation, G1 Old Generation Memory: 3072M Cores: 16 Registry: external.system.auto.import.disabled=true ide.text.editor.with.preview.show.floating.toolbar=false ide.instant.shutdown=false
Non-Bundled Plugins: name.kropp.intellij.makefile (213.5744.224) idea.plugin.protoeditor (213.6461.28) org.intellij.plugins.markdown (213.6777.22) com.tang (1.3.6.251-IDEA213) com.huawei.h3dstudio (1.1.0.300) com.thoughtworks.gauge (213.5744.125) com.haulmont.jpab (2022.3.6-213)
Current Desktop: GNOME-Flashback:GNOME
The same problem starts again i.e. SIGSEGV (signal SIGSEGV: invalid address (fault address: 0x0)) at random
I have to make the below patch to get it to work properly again. A shot in the dark (nothing more than possible "workaround"), but can you try going to Edit Configurations > Debugger > LLDB Post-Attach Commands and then add process handle SIGSEGV --pass true --stop false --notify true there?
ap...@feralinteractive.com <ap...@feralinteractive.com> #30
cr...@gmail.com <cr...@gmail.com> #31
I was able to reproduce the issue on a MacBook Pro M1 with NDK 26 and Android SDK 34.
See
It looks like the Java exceptions are being forwarded down the chain and the IDE is picking them up. Setting process handle SIGSEGV --pass true --stop false --notify true
didn't help.
em...@google.com <em...@google.com> #32
In the QT bug, there are videos attached, but I don't see anything about SIGSEGV being the signal that was raised.
Is it possible that you are hitting SIGBUS? See this:
cr...@gmail.com <cr...@gmail.com> #33
Here is a stack trace for more visibility:
* thread #1, name = 'ct.example.dice', stop reason = signal SIGSEGV: invalid address (fault address: 0x0)
* frame #0: 0x000000009c8b6550 JIT(0x9a8b6900)`java.lang.String.equals + 48
frame #1: 0x00000077b95301a8 libart.so`art_quick_invoke_stub + 616
frame #2: 0x00000077b971a0c4 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 1980
frame #3: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #4: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #5: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #6: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #7: 0x00000077b96a3ae0 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 1844
frame #8: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #9: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #10: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #11: 0x00000077b96a3ae0 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 1844
frame #12: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #13: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #14: 0x00000077b971b2e4 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 6620
frame #15: 0x00000077b96a3ba8 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 2044
frame #16: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #17: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #18: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #19: 0x00000077b96a3ae0 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 1844
frame #20: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #21: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #22: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #23: 0x00000077b96a3ae0 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 1844
frame #24: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #25: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #26: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #27: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #28: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #29: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #30: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #31: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #32: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #33: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #34: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #35: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #36: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #37: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #38: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #39: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #40: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #41: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #42: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #43: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #44: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #45: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #46: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #47: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #48: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #49: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #50: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #51: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #52: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #53: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #54: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #55: 0x00000077b96a3ba8 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 2044
frame #56: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #57: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #58: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #59: 0x00000077b96a3ae0 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 1844
frame #60: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #61: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #62: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #63: 0x00000077b96a3ae0 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 1844
frame #64: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #65: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #66: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #67: 0x00000077b96a3ba8 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 2044
frame #68: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #69: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #70: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #71: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #72: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #73: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #74: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #75: 0x00000077b96a3ba8 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 2044
frame #76: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #77: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #78: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #79: 0x00000077b96a3ae0 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 1844
frame #80: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #81: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #82: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #83: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #84: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #85: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #86: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #87: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #88: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #89: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #90: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #91: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #92: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #93: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #94: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #95: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #96: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #97: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #98: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #99: 0x00000077b96a3ba8 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 2044
frame #100: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #101: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #102: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #103: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #104: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #105: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #106: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #107: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #108: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #109: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #110: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #111: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #112: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #113: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #114: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #115: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #116: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #117: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #118: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #119: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #120: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #121: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #122: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #123: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #124: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #125: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #126: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #127: 0x00000077b96a3ae0 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 1844
frame #128: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #129: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #130: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #131: 0x00000077b96a3ae0 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 1844
frame #132: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #133: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #134: 0x00000077b9564ffc libart.so`artQuickToInterpreterBridge + 968
frame #135: 0x00000077b9546d6c libart.so`art_quick_to_interpreter_bridge + 92
frame #136: 0x00000077b9530484 libart.so`art_quick_invoke_static_stub + 644
frame #137: 0x00000077b958ae30 libart.so`_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long) + 1592
frame #138: 0x00000077b958a7ec libart.so`art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277) + 36
frame #139: 0x00000077b9546c34 libart.so`art_quick_generic_jni_trampoline + 148
frame #140: 0x00000077b95301a8 libart.so`art_quick_invoke_stub + 616
frame #141: 0x00000077b971a0c4 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 1980
frame #142: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #143: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #144: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #145: 0x00000077b9564ffc libart.so`artQuickToInterpreterBridge + 968
frame #146: 0x00000077b9546d6c libart.so`art_quick_to_interpreter_bridge + 92
frame #147: 0x0000000071ee4f5c boot-framework.oat`com.android.internal.os.ZygoteInit.main + 3164
frame #148: 0x00000077b9530484 libart.so`art_quick_invoke_static_stub + 644
frame #149: 0x00000077b96eb370 libart.so`art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list) + 732
frame #150: 0x00000077b9792784 libart.so`art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list) + 160
frame #151: 0x0000007a675f0ab8 libandroid_runtime.so`_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...) + 108
frame #152: 0x0000007a675fc7c8 libandroid_runtime.so`android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool) + 844
frame #153: 0x0000006242850530 app_process`main + 1244
frame #154: 0x0000007a524e0614 libc.so`__libc_init + 108
thread #2, name = 'Runtime worker '
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x00000077b94377f4 libart.so`art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 144
frame #2: 0x00000077b97bce44 libart.so`art::ThreadPool::GetTask(art::Thread*) + 124
frame #3: 0x00000077b97bcbf0 libart.so`art::ThreadPoolWorker::Run() + 76
frame #4: 0x00000077b97bcb0c libart.so`art::ThreadPoolWorker::Callback(void*) + 168
frame #5: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #6: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #3, name = 'Runtime worker '
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x00000077b94377f4 libart.so`art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 144
frame #2: 0x00000077b97bce44 libart.so`art::ThreadPool::GetTask(art::Thread*) + 124
frame #3: 0x00000077b97bcbf0 libart.so`art::ThreadPoolWorker::Run() + 76
frame #4: 0x00000077b97bcb0c libart.so`art::ThreadPoolWorker::Callback(void*) + 168
frame #5: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #6: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #4, name = 'Runtime worker '
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x00000077b94377f4 libart.so`art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 144
frame #2: 0x00000077b97bce44 libart.so`art::ThreadPool::GetTask(art::Thread*) + 124
frame #3: 0x00000077b97bcbf0 libart.so`art::ThreadPoolWorker::Run() + 76
frame #4: 0x00000077b97bcb0c libart.so`art::ThreadPoolWorker::Callback(void*) + 168
frame #5: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #6: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #5, name = 'Runtime worker '
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x00000077b94377f4 libart.so`art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 144
frame #2: 0x00000077b97bce44 libart.so`art::ThreadPool::GetTask(art::Thread*) + 124
frame #3: 0x00000077b97bcbf0 libart.so`art::ThreadPoolWorker::Run() + 76
frame #4: 0x00000077b97bcb0c libart.so`art::ThreadPoolWorker::Callback(void*) + 168
frame #5: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #6: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #6, name = 'Signal Catcher'
frame #0: 0x0000007a52539078 libc.so`__rt_sigtimedwait + 8
frame #1: 0x0000007a524f6b50 libc.so`sigwait64 + 92
frame #2: 0x00000077b96e1420 libart.so`art::SignalCatcher::WaitForSignal(art::Thread*, art::SignalSet&) + 112
frame #3: 0x00000077b96e0c54 libart.so`art::SignalCatcher::Run(void*) + 240
frame #4: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #5: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #7, name = 'perfetto_hprof_'
frame #0: 0x0000007a52538374 libc.so`read + 4
frame #1: 0x00000077ad83f364 libperfetto_hprof.so`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, ArtPlugin_Initialize::$_7>>(void*) + 320
frame #2: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #3: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #8, name = 'ADB-JDWP Connec'
frame #0: 0x0000007a52539754 libc.so`__ppoll + 4
frame #1: 0x0000007a524f3ed4 libc.so`poll + 96
frame #2: 0x00000077aeaa2760 libadbconnection.so`adbconnection::AdbConnectionState::RunPollLoop(art::Thread*) + 728
frame #3: 0x00000077aeaa0ed0 libadbconnection.so`adbconnection::CallbackFunction(void*) + 1460
frame #4: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #5: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #9, name = 'Jit thread pool'
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x00000077b94377f4 libart.so`art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 144
frame #2: 0x00000077b97bce44 libart.so`art::ThreadPool::GetTask(art::Thread*) + 124
frame #3: 0x00000077b97bcc30 libart.so`art::ThreadPoolWorker::Run() + 140
frame #4: 0x00000077b97bcb0c libart.so`art::ThreadPoolWorker::Callback(void*) + 168
frame #5: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #6: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #10, name = 'HeapTaskDaemon'
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x00000077b948fb24 libart.so`art::ConditionVariable::TimedWait(art::Thread*, long, int) + 256
frame #2: 0x00000077b95a3420 libart.so`art::gc::TaskProcessor::GetTask(art::Thread*) + 200
frame #3: 0x00000077b95a32dc libart.so`art::gc::TaskProcessor::RunAllTasks(art::Thread*) + 52
frame #4: 0x00000077b9546c34 libart.so`art_quick_generic_jni_trampoline + 148
frame #5: 0x00000077b95301a8 libart.so`art_quick_invoke_stub + 616
frame #6: 0x00000077b971a0c4 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 1980
frame #7: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #8: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #9: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #10: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #11: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #12: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #13: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #14: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #15: 0x00000077b96a461c libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 4720
frame #16: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #17: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #18: 0x00000077b9564ffc libart.so`artQuickToInterpreterBridge + 968
frame #19: 0x00000077b9546d6c libart.so`art_quick_to_interpreter_bridge + 92
frame #20: 0x00000077b95301a8 libart.so`art_quick_invoke_stub + 616
frame #21: 0x00000077b943ea68 libart.so`art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) + 148
frame #22: 0x00000077b9744ca0 libart.so`art::Thread::CreateCallback(void*) + 1604
frame #23: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #24: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #11, name = 'ReferenceQueueD'
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x00000077b94377f4 libart.so`art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 144
frame #2: 0x00000077b948f29c libart.so`art::Monitor::Wait(art::Thread*, art::ObjPtr<art::mirror::Object>, long, int, bool, art::ThreadState) + 6100
frame #3: 0x00000077b9546c34 libart.so`art_quick_generic_jni_trampoline + 148
frame #4: 0x00000077b95301a8 libart.so`art_quick_invoke_stub + 616
frame #5: 0x00000077b971a0c4 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 1980
frame #6: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #7: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #8: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #9: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #10: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #11: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #12: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #13: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #14: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #15: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #16: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #17: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #18: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #19: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #20: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #21: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #22: 0x00000077b96a461c libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 4720
frame #23: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #24: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #25: 0x00000077b9564ffc libart.so`artQuickToInterpreterBridge + 968
frame #26: 0x00000077b9546d6c libart.so`art_quick_to_interpreter_bridge + 92
frame #27: 0x00000077b95301a8 libart.so`art_quick_invoke_stub + 616
frame #28: 0x00000077b943ea68 libart.so`art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) + 148
frame #29: 0x00000077b9744ca0 libart.so`art::Thread::CreateCallback(void*) + 1604
frame #30: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #31: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #12, name = 'FinalizerDaemon'
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x00000077b94377f4 libart.so`art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 144
frame #2: 0x00000077b948f29c libart.so`art::Monitor::Wait(art::Thread*, art::ObjPtr<art::mirror::Object>, long, int, bool, art::ThreadState) + 6100
frame #3: 0x00000077b9546c34 libart.so`art_quick_generic_jni_trampoline + 148
frame #4: 0x00000077b95301a8 libart.so`art_quick_invoke_stub + 616
frame #5: 0x00000077b971a0c4 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 1980
frame #6: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #7: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #8: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #9: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #10: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #11: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #12: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #13: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #14: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #15: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #16: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #17: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #18: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #19: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #20: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #21: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #22: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #23: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #24: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #25: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #26: 0x00000077b96a461c libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 4720
frame #27: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #28: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #29: 0x00000077b9564ffc libart.so`artQuickToInterpreterBridge + 968
frame #30: 0x00000077b9546d6c libart.so`art_quick_to_interpreter_bridge + 92
frame #31: 0x00000077b95301a8 libart.so`art_quick_invoke_stub + 616
frame #32: 0x00000077b943ea68 libart.so`art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) + 148
frame #33: 0x00000077b9744ca0 libart.so`art::Thread::CreateCallback(void*) + 1604
frame #34: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #35: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #13, name = 'FinalizerWatchd'
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x00000077b94377f4 libart.so`art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 144
frame #2: 0x00000077b948f29c libart.so`art::Monitor::Wait(art::Thread*, art::ObjPtr<art::mirror::Object>, long, int, bool, art::ThreadState) + 6100
frame #3: 0x00000077b9546c34 libart.so`art_quick_generic_jni_trampoline + 148
frame #4: 0x00000077b95301a8 libart.so`art_quick_invoke_stub + 616
frame #5: 0x00000077b971a0c4 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 1980
frame #6: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #7: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #8: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #9: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #10: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #11: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #12: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #13: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #14: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #15: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #16: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #17: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #18: 0x00000077b96a3ba8 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 2044
frame #19: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #20: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #21: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #22: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #23: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #24: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #25: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #26: 0x00000077b96a461c libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 4720
frame #27: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #28: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #29: 0x00000077b9564ffc libart.so`artQuickToInterpreterBridge + 968
frame #30: 0x00000077b9546d6c libart.so`art_quick_to_interpreter_bridge + 92
frame #31: 0x00000077b95301a8 libart.so`art_quick_invoke_stub + 616
frame #32: 0x00000077b943ea68 libart.so`art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) + 148
frame #33: 0x00000077b9744ca0 libart.so`art::Thread::CreateCallback(void*) + 1604
frame #34: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #35: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #14, name = 'binder:25344_1'
frame #0: 0x0000007a52538698 libc.so`__ioctl + 8
frame #1: 0x0000007a524f166c libc.so`ioctl + 160
frame #2: 0x0000007a71d20b20 libbinder.so`android::IPCThreadState::joinThreadPool(bool) + 352
frame #3: 0x0000007a71d209b0 libbinder.so`android::PoolThread::threadLoop() + 28
frame #4: 0x0000007a4acdfe2c libutils.so`android::Thread::_threadLoop(void*) + 588
frame #5: 0x0000007a675fcb1c libandroid_runtime.so`android::AndroidRuntime::javaThreadShell(void*) + 144
frame #6: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #7: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #15, name = 'binder:25344_2'
frame #0: 0x0000007a52538698 libc.so`__ioctl + 8
frame #1: 0x0000007a524f166c libc.so`ioctl + 160
frame #2: 0x0000007a71d20b20 libbinder.so`android::IPCThreadState::joinThreadPool(bool) + 352
frame #3: 0x0000007a71d209b0 libbinder.so`android::PoolThread::threadLoop() + 28
frame #4: 0x0000007a4acdfe2c libutils.so`android::Thread::_threadLoop(void*) + 588
frame #5: 0x0000007a675fcb1c libandroid_runtime.so`android::AndroidRuntime::javaThreadShell(void*) + 144
frame #6: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #7: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #16, name = 'binder:25344_3'
frame #0: 0x0000007a52538698 libc.so`__ioctl + 8
frame #1: 0x0000007a524f166c libc.so`ioctl + 160
frame #2: 0x0000007a71d20b20 libbinder.so`android::IPCThreadState::joinThreadPool(bool) + 352
frame #3: 0x0000007a71d209b0 libbinder.so`android::PoolThread::threadLoop() + 28
frame #4: 0x0000007a4acdfe2c libutils.so`android::Thread::_threadLoop(void*) + 588
frame #5: 0x0000007a675fcb1c libandroid_runtime.so`android::AndroidRuntime::javaThreadShell(void*) + 144
frame #6: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #7: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #17, name = 'Profile Saver'
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x00000077b948fb24 libart.so`art::ConditionVariable::TimedWait(art::Thread*, long, int) + 256
frame #2: 0x00000077b95d6f0c libart.so`art::ProfileSaver::Run() + 264
frame #3: 0x00000077b95ccb60 libart.so`art::ProfileSaver::RunProfileSaverThread(void*) + 156
frame #4: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #5: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #18, name = 'JDWP Transport '
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x0000007a524e87cc libc.so`__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 148
frame #2: 0x0000007a5254b974 libc.so`pthread_cond_wait + 80
frame #3: 0x0000007a86f98e60
frame #4: 0x000000773832e3c0 libopenjdkjvmti.so`bool openjdkjvmti::JvmtiMonitor::Wait<openjdkjvmti::JvmtiMonitor::Wait(art::Thread*)::'lambda'(std::__1::unique_lock<std::__1::mutex>&)>(art::Thread*, openjdkjvmti::JvmtiMonitor::Wait(art::Thread*)::'lambda'(std::__1::unique_lock<std::__1::mutex>&)) + 92
frame #5: 0x000000773832d948 libopenjdkjvmti.so`openjdkjvmti::MonitorUtil::RawMonitorWait(_jvmtiEnv*, _jrawMonitorID*, long) + 192
frame #6: 0x000000779e29721c libjdwp.so`debugMonitorWait + 56
frame #7: 0x000000779e27f174 libjdwp.so`debugLoop_run + 176
frame #8: 0x000000779e2924e8 libjdwp.so`acceptThread + 300
frame #9: 0x0000007738370a28 libopenjdkjvmti.so`openjdkjvmti::AgentCallback(void*) + 1524
frame #10: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #11: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #19, name = 'JDWP Event Help'
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x0000007a524e87cc libc.so`__futex_wait_ex(void volatile*, bool, int, bool, timespec const*) + 148
frame #2: 0x0000007a5254b974 libc.so`pthread_cond_wait + 80
frame #3: 0x0000007a86f98e60
frame #4: 0x000000773832e3c0 libopenjdkjvmti.so`bool openjdkjvmti::JvmtiMonitor::Wait<openjdkjvmti::JvmtiMonitor::Wait(art::Thread*)::'lambda'(std::__1::unique_lock<std::__1::mutex>&)>(art::Thread*, openjdkjvmti::JvmtiMonitor::Wait(art::Thread*)::'lambda'(std::__1::unique_lock<std::__1::mutex>&)) + 92
frame #5: 0x000000773832d948 libopenjdkjvmti.so`openjdkjvmti::MonitorUtil::RawMonitorWait(_jvmtiEnv*, _jrawMonitorID*, long) + 192
frame #6: 0x000000779e29721c libjdwp.so`debugMonitorWait + 56
frame #7: 0x000000779e2867e4 libjdwp.so`commandLoop + 160
frame #8: 0x0000007738370a28 libopenjdkjvmti.so`openjdkjvmti::AgentCallback(void*) + 1524
frame #9: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #10: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #20, name = 'JDWP Command Re'
frame #0: 0x0000007a52539754 libc.so`__ppoll + 4
frame #1: 0x0000007a524f3ed4 libc.so`poll + 96
frame #2: 0x000000778f6d400c libdt_fd_forward.so`dt_fd_forward::FdForwardTransport::ReadFully(void*, unsigned long) + 232
frame #3: 0x000000778f6d4bf0 libdt_fd_forward.so`dt_fd_forward::PacketReader::ReadFully() + 84
frame #4: 0x000000778f6d54fc libdt_fd_forward.so`dt_fd_forward::JdwpTransportFunctions::ReadPacket(_jdwpTransportEnv*, jdwpPacket*) + 48
frame #5: 0x000000779e2927f0 libjdwp.so`transport_receivePacket + 44
frame #6: 0x000000779e27f4c4 libjdwp.so`reader + 168
frame #7: 0x0000007738370a28 libopenjdkjvmti.so`openjdkjvmti::AgentCallback(void*) + 1524
frame #8: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #9: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #21, name = 'RenderThread'
frame #0: 0x0000007a52539658 libc.so`__epoll_pwait + 8
frame #1: 0x0000007a4acdf1dc libutils.so`android::Looper::pollOnce(int, int*, int*, void**) + 208
frame #2: 0x0000007a7a6aa950 libhwui.so`android::uirenderer::renderthread::RenderThread::threadLoop() + 216
frame #3: 0x0000007a4acdfe2c libutils.so`android::Thread::_threadLoop(void*) + 588
frame #4: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #5: 0x0000007a524e9220 libc.so`__start_thread + 68
thread #23, name = 'qtMainLoopThrea'
frame #0: 0x0000007a524e3e1c libc.so`syscall + 28
frame #1: 0x00000077b94377f4 libart.so`art::ConditionVariable::WaitHoldingLocks(art::Thread*) + 144
frame #2: 0x00000077b948f29c libart.so`art::Monitor::Wait(art::Thread*, art::ObjPtr<art::mirror::Object>, long, int, bool, art::ThreadState) + 6100
frame #3: 0x00000077b9546c34 libart.so`art_quick_generic_jni_trampoline + 148
frame #4: 0x00000077b95301a8 libart.so`art_quick_invoke_stub + 616
frame #5: 0x00000077b971a0c4 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 1980
frame #6: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #7: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #8: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #9: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #10: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #11: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #12: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #13: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #14: 0x00000077b96a3770 libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 964
frame #15: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #16: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #17: 0x00000077b971ad90 libart.so`bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*) + 5256
frame #18: 0x00000077b96a461c libart.so`void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*) + 4720
frame #19: 0x00000077b95493dc libart.so`ExecuteSwitchImplAsm + 12
frame #20: 0x00000077b9565704 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.7812499533165573080) + 236
frame #21: 0x00000077b9564ffc libart.so`artQuickToInterpreterBridge + 968
frame #22: 0x00000077b9546d6c libart.so`art_quick_to_interpreter_bridge + 92
frame #23: 0x00000077b95301a8 libart.so`art_quick_invoke_stub + 616
frame #24: 0x00000077b943ea68 libart.so`art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) + 148
frame #25: 0x00000077b9744ca0 libart.so`art::Thread::CreateCallback(void*) + 1604
frame #26: 0x0000007a5254c6ac libc.so`__pthread_start(void*) + 212
frame #27: 0x0000007a524e9220 libc.so`__start_thread + 68
This is reproduceable every time when the application is new installed on the device.
em...@google.com <em...@google.com> #34
Do you have access to LLDB shell? When LLDB intercepts the SIGSEGV, can you run process handle SIGSEGV
and verify that its output matches the settings you passed? (I suspect Qt might be overwriting the settings you passed).
cr...@gmail.com <cr...@gmail.com> #35
I do have access to the lldb shell. As it turns out lldb sets SIGSEGV to ignore by default, without having me to specify something additionally:
>lldbversion="lldb version 17.0.2 (/Volumes/Android/buildbot/src/android/llvm-r487747/out/llvm-project/lldb revision d9f89f4d16663d5012e5c09495f3b30ece3d2362)
> clang revision d9f89f4d16663d5012e5c09495f3b30ece3d2362
> llvm revision d9f89f4d16663d5012e5c09495f3b30ece3d2362"@
>(lldb) pro hand -p true -s false SIGSEGV
>NAME PASS STOP NOTIFY
>=========== ======= ======= =======
>SIGSEGV true false not set
>(lldb) process handle SIGSEGV --pass true --stop false --notify true
>NAME PASS STOP NOTIFY
>=========== ======= ======= =======
>SIGSEGV true false true
>(lldb) script theDumper.loadDumpers({"token":230})
And at the first SIGSEGV hit I've ran process handle SIGSEGV
and got:
(lldb) script theDumper.executeDebuggerCommand({"command":"process handle SIGSEGV","token":605})
>@
>token("605")@
>@
>success="1",output="NAME PASS STOP NOTIFY\n=========== ===== ===== ======\nSIGSEGV true true true \n",error=""@
Somehow the --stop
parameter changes to true
. 🤔
cr...@gmail.com <cr...@gmail.com> #36
But a subsequent debugging session (without uninstalling the application first) is also displaying:
>success="1",output="NAME PASS STOP NOTIFY\n=========== ===== ===== ======\nSIGSEGV true true true \n",error=""@
but no SIGSEGVs
are coming from the system. I assume something gets cached somewhere.
em...@google.com <em...@google.com> #37
Is it possible that Qt (or any script it runs at startup) issues some debugger commands? Or, is it possible that you have an .lldbinit
file sitting somewhere that is imported automatically when you run from inside an IDE (and that it overwrites the SIGSEGV handling)?
cr...@gmail.com <cr...@gmail.com> #38
I had pro hand -p true -s false SIGSEGV
and process handle SIGSEGV --pass true --stop false --notify true
passed from Qt Creator (one global and one local to the project).
I don't know why the setting for SIGSEGV
turns into true true true
. What should the default setting for SIGSEGV
from lldb
be?
Description
AI-212.5712.43.2112.8512546, JRE 11.0.12+0-b1504.28-7817840x64 JetBrains s.r.o., OS Linux(amd64) v5.15.0-41-generic, screens 3840.0x2160.0, 2560.0x1600.0
AS: Chipmunk | 2021.2.1; Kotlin plugin: 212-1.7.0-release-281-AS5457.46; Android Gradle Plugin: 4.2.2; Gradle: 6.9; Gradle JDK: version 11.0.12; NDK: from local.properties: (not specified), latest from SDK: 22.1.7171670; LLDB: pinned revision 3.1 not found, latest from SDK: (package not found); CMake: from local.properties: (not specified), latest from SDK: 3.18.1-g262b901, from PATH: 3.22.1
IMPORTANT: Please read
Project aTalk:
During aTalk project development, whenever developer starts a new aTalk debug cycle i.e. build | Debug 'aTalk';
android studio keeps pausing multiple times (at various app locations) with the following errors without any apparent reason
> SIGSEGV (signal SIGSEGV: invalid address (fault address: 0x0))
Developer has to click on the 'Resume Program' whenever this happen to continue. Alternatively just close the 'aTalk' native debug window after adb install.
The signal SIGSEGV problems only happen after every newly adb install and debug. After the first phase of initial testing, then everything returns to normal.