Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ANR DumpForSigQuit 遇到ART abort #42

Closed
xuqnqn opened this issue Jun 9, 2020 · 2 comments
Closed

ANR DumpForSigQuit 遇到ART abort #42

xuqnqn opened this issue Jun 9, 2020 · 2 comments
Labels
enhancement New feature or request

Comments

@xuqnqn
Copy link
Collaborator

xuqnqn commented Jun 9, 2020

发现xCrash 在处理ANR时,调用art 的 DumpForSigQuit 有比较大的crash 概率,下面是一个比较常见的crash backtrace. 而且绝大部分是发生在anroid 9上,art在dump java stack时发生循环abort了

backtrace <<<
#00 pc 0001d796 /system/lib/libc.so (abort+57)
#1 pc 0037160b /system/lib/libart.so (_ZN3art7Runtime5AbortEPKc+950)
#2 pc 0000720b /system/lib/libbase.so (_ZN7android4base10LogMessageD2Ev+578)
#3 pc 003c526b /system/lib/libart.so (_ZN3art8verifier14MethodVerifier20GetMethodIdxOfInvokeEPKNS_11InstructionE+210)
#4 pc 003c3f01 /system/lib/libart.so (_ZN3art8verifier14MethodVerifier20VerifyInvocationArgsEPKNS_11InstructionENS0_10MethodTypeEb+28)
#5 pc 003bd1bf /system/lib/libart.so (_ZN3art8verifier14MethodVerifier25CodeFlowVerifyInstructionEPj+5486)
#6 pc 003bb9bf /system/lib/libart.so (_ZN3art8verifier14MethodVerifier20CodeFlowVerifyMethodEv+214)
#7 pc 003ba3c9 /system/lib/libart.so (_ZN3art8verifier14MethodVerifier14VerifyCodeFlowEv+576)
#8 pc 003b887b /system/lib/libart.so (_ZN3art8verifier14MethodVerifier6VerifyEv+5798)
#9 pc 003b9bb9 /system/lib/libart.so (_ZN3art8verifier14MethodVerifier16FindLocksAtDexPcEv+88)
#10 pc 003b9af7 /system/lib/libart.so (_ZN3art8verifier14MethodVerifier16FindLocksAtDexPcEPNS_9ArtMethodEjPNSt3__16vectorINS1_11DexLockInfoENS4_9allocatorIS6_EEEE+378)
#11 pc 002ebe85 /system/lib/libart.so (_ZN3art7Monitor10VisitLocksEPNS_12StackVisitorEPFvPNS_6mirror6ObjectEPvES6_b+296)
#12 pc 003a0a7f /system/lib/libart.so (_ZN3art26MonitorObjectsStackVisitor10VisitFrameEv+98)
#13 pc 00385c23 /system/lib/libart.so (_ZN3art12StackVisitor9WalkStackILNS0_16CountTransitionsE0EEEvb+506)
#14 pc 0039715f /system/lib/libart.so (_ZNK3art6Thread13DumpJavaStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbb+222)
#15 pc 00393bdf /system/lib/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMapb+226)
#16 pc 003901af /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMapb+34)
#17 pc 003a9a77 /system/lib/libart.so (_ZN3art14DumpCheckpoint3RunEPNS_6ThreadE+654)
#18 pc 003a3ed9 /system/lib/libart.so (ZN3art10ThreadList13RunCheckpointEPNS_7ClosureES2+1152)
#19 pc 003a30d1 /system/lib/libart.so (_ZN3art10ThreadList4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEb+384)
#20 pc 003713af /system/lib/libart.so (_ZN3art7Runtime5AbortEPKc+346)
#21 pc 0000720b /system/lib/libbase.so (_ZN7android4base10LogMessageD2Ev+578)
#22 pc 003c526b /system/lib/libart.so (_ZN3art8verifier14MethodVerifier20GetMethodIdxOfInvokeEPKNS_11InstructionE+210)
#23 pc 003c3f01 /system/lib/libart.so (_ZN3art8verifier14MethodVerifier20VerifyInvocationArgsEPKNS_11InstructionENS0_10MethodTypeEb+28)
#24 pc 003bd1bf /system/lib/libart.so (_ZN3art8verifier14MethodVerifier25CodeFlowVerifyInstructionEPj+5486)
#25 pc 003bb9bf /system/lib/libart.so (_ZN3art8verifier14MethodVerifier20CodeFlowVerifyMethodEv+214)
#26 pc 003ba3c9 /system/lib/libart.so (_ZN3art8verifier14MethodVerifier14VerifyCodeFlowEv+576)
#27 pc 003b887b /system/lib/libart.so (_ZN3art8verifier14MethodVerifier6VerifyEv+5798)
#28 pc 003b9bb9 /system/lib/libart.so (_ZN3art8verifier14MethodVerifier16FindLocksAtDexPcEv+88)
#29 pc 003b9af7 /system/lib/libart.so (_ZN3art8verifier14MethodVerifier16FindLocksAtDexPcEPNS_9ArtMethodEjPNSt3__16vectorINS1_11DexLockInfoENS4_9allocatorIS6_EEEE+378)
#30 pc 002ebe85 /system/lib/libart.so (_ZN3art7Monitor10VisitLocksEPNS_12StackVisitorEPFvPNS_6mirror6ObjectEPvES6_b+296)
#31 pc 003a0a7f /system/lib/libart.so (_ZN3art26MonitorObjectsStackVisitor10VisitFrameEv+98)
#32 pc 00385c23 /system/lib/libart.so (_ZN3art12StackVisitor9WalkStackILNS0_16CountTransitionsE0EEEvb+506)
#33 pc 0039715f /system/lib/libart.so (_ZNK3art6Thread13DumpJavaStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbb+222)
#34 pc 00393bdf /system/lib/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMapb+226)
#35 pc 003901af /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMapb+34)
#36 pc 003a9a77 /system/lib/libart.so (_ZN3art14DumpCheckpoint3RunEPNS_6ThreadE+654)
#37 pc 003a3ed9 /system/lib/libart.so (ZN3art10ThreadList13RunCheckpointEPNS_7ClosureES2+1152)
#38 pc 003a3269 /system/lib/libart.so (_ZN3art10ThreadList4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEb+792)
#39 pc 003a2e7b /system/lib/libart.so (_ZN3art10ThreadList14DumpForSigQuitERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+650)
#40 pc 0037bdb9 /system/lib/libart.so (_ZN3art7Runtime14DumpForSigQuitERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+120)
#41 pc 000054d3 /data/app/com.xxx.yyy-cqz0wiwhy9CKKL7O9TNArg==/lib/arm/libxcrash.so
#42 pc 00065ac7 /system/lib/libc.so (_ZL15__pthread_startPv+22)
#43 pc 0001e9ad /system/lib/libc.so (__start_thread+32)

@caikelun
Copy link
Collaborator

嗯,我们以后可以针对DumpForSigQuit加个“忽略sigabrt的逻辑”,应该是无害的。

@caikelun caikelun added the enhancement New feature or request label Jul 29, 2020
@xuqnqn
Copy link
Collaborator Author

xuqnqn commented Aug 12, 2020

v2.5.7中,已经针对DumpForSigQuit加个“忽略sigabrt的逻辑”

@xuqnqn xuqnqn closed this as completed Aug 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants