Skip to content

Instantly share code, notes, and snippets.

@jmpews
Created November 18, 2020 15:45
Show Gist options
  • Save jmpews/ac58b5a69809748fed13f92290cd2bfd to your computer and use it in GitHub Desktop.
Save jmpews/ac58b5a69809748fed13f92290cd2bfd to your computer and use it in GitHub Desktop.
android interpreter
* thread #1, name = 'm.example.dobby', stop reason = signal SIGABRT
  * frame #0: 0x000074c1722b32a8 libc.so`syscall + 24
    frame #1: 0x000074c1722b6213 libc.so`abort + 195
    frame #2: 0x000074c172322162 libc.so`__fortify_fatal(char const*, ...) + 162
    frame #3: 0x000074c172321929 libc.so`HandleUsingDestroyedMutex(pthread_mutex_t*, char const*) + 41
    frame #4: 0x000074c172321804 libc.so`pthread_mutex_lock + 132
    frame #5: 0x000074c171de3e06 libc++.so`std::__1::mutex::lock() + 6
    frame #6: 0x000074be8600a004 libopenjdkjvmti.so`___lldb_unnamed_symbol281$$libopenjdkjvmti.so + 36
    frame #7: 0x000074be86009230 libopenjdkjvmti.so`___lldb_unnamed_symbol280$$libopenjdkjvmti.so + 112
    frame #8: 0x000074beddd0465f libart.so`art::RuntimeCallbacks::ClassPrepare(art::Handle<art::mirror::Class>, art::Handle<art::mirror::Class>) + 671
    frame #9: 0x000074bedd8ed15b libart.so`art::ClassLinker::DefineClass(art::Thread*, char const*, unsigned long, art::Handle<art::mirror::ClassLoader>, art::DexFile const&, art::dex::ClassDef const&) + 1739
    frame #10: 0x000074bedd917a5f libart.so`void* art::VisitClassLoaderDexFiles<void art::VisitClassLoaderDexFiles<art::ClassLinker::FindClassInBaseDexClassLoaderClassPath(art::ScopedObjectAccessAlreadyRunnable&, char const*, unsigned long, art::Handle<art::mirror::ClassLoader>)::$_30>(art::ScopedObjectAccessAlreadyRunnable&, art::Handle<art::mirror::ClassLoader>, art::ClassLinker::FindClassInBaseDexClassLoaderClassPath(art::ScopedObjectAccessAlreadyRunnable&, char const*, unsigned long, art::Handle<art::mirror::ClassLoader>)::$_30)::'lambda'(art::DexFile const*, void**), void*>(art::ScopedObjectAccessAlreadyRunnable&, art::Handle<art::mirror::ClassLoader>, art::ClassLinker::FindClassInBaseDexClassLoaderClassPath(art::ScopedObjectAccessAlreadyRunnable&, char const*, unsigned long, art::Handle<art::mirror::ClassLoader>)::$_30, void*) + 783
    frame #11: 0x000074bedd8ec149 libart.so`art::ClassLinker::FindClassInBaseDexClassLoader(art::ScopedObjectAccessAlreadyRunnable&, art::Thread*, char const*, unsigned long, art::Handle<art::mirror::ClassLoader>, art::ObjPtr<art::mirror::Class>*) + 665
    frame #12: 0x000074bedd8edc83 libart.so`art::ClassLinker::FindClass(art::Thread*, char const*, art::Handle<art::mirror::ClassLoader>) + 1379
    frame #13: 0x000074bedd8d832d libart.so`art::ClassLinker::DoResolveType(art::dex::TypeIndex, art::Handle<art::mirror::DexCache>, art::Handle<art::mirror::ClassLoader>) + 141
    frame #14: 0x000074beddd9e79f libart.so`art::verifier::RegType const& art::verifier::impl::(anonymous namespace)::MethodVerifier<false>::ResolveClass<(art::verifier::impl::(anonymous namespace)::CheckAccess)2>(art::dex::TypeIndex) + 175
    frame #15: 0x000074bedddb1939 libart.so`art::verifier::impl::(anonymous namespace)::MethodVerifier<false>::GetStaticField(int) + 57
    frame #16: 0x000074bedddac576 libart.so`void art::verifier::impl::(anonymous namespace)::MethodVerifier<false>::VerifyISFieldAccess<(art::verifier::impl::(anonymous namespace)::FieldAccessType)0>(art::Instruction const*, art::verifier::RegType const&, bool, bool) + 70
    frame #17: 0x000074beddda56ee libart.so`art::verifier::impl::(anonymous namespace)::MethodVerifier<false>::CodeFlowVerifyInstruction(unsigned int*) + 12910
    frame #18: 0x000074beddd82615 libart.so`_ZN3art8verifier4impl12_GLOBAL__N_114MethodVerifierILb0EE6VerifyEv$56e57d29407519c2e5b6f0fe4b92f70f + 7909
    frame #19: 0x000074beddd7f88e libart.so`art::verifier::MethodVerifier::FailureData art::verifier::MethodVerifier::VerifyMethod<false>(art::Thread*, art::ClassLinker*, art::ArenaPool*, unsigned int, art::DexFile const*, art::Handle<art::mirror::DexCache>, art::Handle<art::mirror::ClassLoader>, art::dex::ClassDef const&, art::dex::CodeItem const*, art::ArtMethod*, unsigned int, art::CompilerCallbacks*, art::verifier::VerifierCallback*, bool, art::verifier::HardFailLogMode, bool, unsigned int, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) + 366
    frame #20: 0x000074beddd7e73a libart.so`art::verifier::MethodVerifier::VerifyMethod(art::Thread*, art::ClassLinker*, art::ArenaPool*, unsigned int, art::DexFile const*, art::Handle<art::mirror::DexCache>, art::Handle<art::mirror::ClassLoader>, art::dex::ClassDef const&, art::dex::CodeItem const*, art::ArtMethod*, unsigned int, art::CompilerCallbacks*, art::verifier::VerifierCallback*, bool, art::verifier::HardFailLogMode, bool, unsigned int, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) + 122
    frame #21: 0x000074beddd7d29a libart.so`art::verifier::ClassVerifier::VerifyClass(art::Thread*, art::DexFile const*, art::Handle<art::mirror::DexCache>, art::Handle<art::mirror::ClassLoader>, art::dex::ClassDef const&, art::CompilerCallbacks*, art::verifier::VerifierCallback*, bool, art::verifier::HardFailLogMode, unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) + 1626
    frame #22: 0x000074beddd7c8eb libart.so`art::verifier::ClassVerifier::CommonVerifyClass(art::Thread*, art::ObjPtr<art::mirror::Class>, art::CompilerCallbacks*, art::verifier::VerifierCallback*, bool, art::verifier::HardFailLogMode, unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) + 555
    frame #23: 0x000074beddd7cc1b libart.so`art::verifier::ClassVerifier::VerifyClass(art::Thread*, art::ObjPtr<art::mirror::Class>, art::CompilerCallbacks*, bool, art::verifier::HardFailLogMode, unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) + 75
    frame #24: 0x000074bedd8f6919 libart.so`art::ClassLinker::PerformClassVerification(art::Thread*, art::Handle<art::mirror::Class>, art::verifier::HardFailLogMode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) + 73
    frame #25: 0x000074bedd8f56be libart.so`art::ClassLinker::VerifyClass(art::Thread*, art::Handle<art::mirror::Class>, art::verifier::HardFailLogMode) + 1422
    frame #26: 0x000074bedd8f9359 libart.so`art::ClassLinker::InitializeClass(art::Thread*, art::Handle<art::mirror::Class>, bool, bool) + 1129
    frame #27: 0x000074bedd8d2a21 libart.so`art::ClassLinker::EnsureInitialized(art::Thread*, art::Handle<art::mirror::Class>, bool, bool) + 65
    frame #28: 0x000074bedd84e8ec libart.so`void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*) + 65308
    frame #29: 0x000074bedd83bf66 libart.so`ExecuteSwitchImplAsm + 6
    frame #30: 0x000074bedda48ad7 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.7156190274679362403) + 679
    frame #31: 0x000074bedda516c9 libart.so`art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*) + 201
    frame #32: 0x000074bedda521fa libart.so`bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) + 1226
    frame #33: 0x000074bedd8461fc libart.so`void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*) + 30764
    frame #34: 0x000074bedd83bf66 libart.so`ExecuteSwitchImplAsm + 6
    frame #35: 0x000074bedda48ad7 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.7156190274679362403) + 679
    frame #36: 0x000074bedda516c9 libart.so`art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*) + 201
    frame #37: 0x000074bedda521fa libart.so`bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) + 1226
    frame #38: 0x000074bedd8461fc libart.so`void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*) + 30764
    frame #39: 0x000074bedd83bf66 libart.so`ExecuteSwitchImplAsm + 6
    frame #40: 0x000074bedda48ad7 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.7156190274679362403) + 679
    frame #41: 0x000074bedda516c9 libart.so`art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*) + 201
    frame #42: 0x000074bedda521fa libart.so`bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) + 1226
    frame #43: 0x000074bedd8461fc libart.so`void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*) + 30764
    frame #44: 0x000074bedd83bf66 libart.so`ExecuteSwitchImplAsm + 6
    frame #45: 0x000074bedda48ad7 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.7156190274679362403) + 679
    frame #46: 0x000074bedda516c9 libart.so`art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*) + 201
    frame #47: 0x000074bedda521fa libart.so`bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*) + 1226
    frame #48: 0x000074bedd8461fc libart.so`void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*) + 30764
    frame #49: 0x000074bedd83bf66 libart.so`ExecuteSwitchImplAsm + 6
    frame #50: 0x000074bedda48ad7 libart.so`art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.7156190274679362403) + 679
    frame #51: 0x000074bedde2ab90 libart.so`artQuickToInterpreterBridge + 1104
    frame #52: 0x000074bedd83a04d libart.so`art_quick_to_interpreter_bridge + 141
    frame #53: 0x000074bedd82eab5 libart.so`art_quick_invoke_stub + 757
    frame #54: 0x000074bedd8c1893 libart.so`art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*) + 243
    frame #55: 0x000074beddc22229 libart.so`art::Class_newInstance(_JNIEnv*, _jobject*) + 793
    frame #56: 0x0000000070838269 boot.oat
@Tobe-Young
Copy link

How do you solve the bug ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment