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 when com.tencent.mmkv.MMKV.decodeLong #756

Closed
liuefng opened this issue Sep 8, 2021 · 1 comment
Closed

ANR when com.tencent.mmkv.MMKV.decodeLong #756

liuefng opened this issue Sep 8, 2021 · 1 comment

Comments

@liuefng
Copy link

liuefng commented Sep 8, 2021

The language of MMKV

Java, or Kotlin

The version of MMKV

v1.2.5

The platform of MMKV

Android

The installation of MMKV

Maven

What's the issue?

ANR when com.tencent.mmkv.MMKV.decodeLong

What's the log of MMKV when that happened?

"main" prio=5 tid=1 Native
| group="main" sCount=1 dsCount=0 flags=1 obj=0x73817650 self=0xf071fc00
| sysTid=31574 nice=0 cgrp=default sched=0/0 handle=0xf0b7dfc0
| state=S schedstat=( 4706403182 14439754388 25426 ) utm=113 stm=356 core=0 HZ=100
| stack=0xff1df000-0xff1e1000 stackSize=8192KB
| held mutexes=
kernel: (couldn't read /proc/self/task/31574/stack)
native: #00 pc 000532e8 /apex/com.android.runtime/lib/bionic/libc.so (syscall+28)
native: #1 pc 000f2a17 /apex/com.android.runtime/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+82)
native: #2 pc 0044a68f /apex/com.android.runtime/lib/libart.so (_ZN3artL12GoToRunnableEPNS_6ThreadE.llvm.494761104702206909+330)
native: #3 pc 0044a51d /apex/com.android.runtime/lib/libart.so (art::JniMethodEnd(unsigned int, art::Thread*)+8)
native: #4 pc 000744cd /data/dalvik-
native: #5 pc 000e5bc5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68)
native: #6 pc 004624e5 /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub+252)
native: #7 pc 000ee04d /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+184)
native: #8 pc 00229c55 /apex/com.android.runtime/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+280)
native: #9 pc 00226251 /apex/com.android.runtime/lib/libart.so (bool art::interpreter::DoCall<true, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+552)
native: #10 pc 0045bf41 /apex/com.android.runtime/lib/libart.so (MterpInvokeDirectRange+220)
native: #11 pc 000e0c14 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_direct_range+20)
native: #12 pc 0136708e /data/dalvik-(com.tencent.mmkv.MMKV.getLong+22)
native: #13 pc 0045cf27 /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtualQuick+1178)
native: #14 pc 000e4594 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual_quick+20)
native: #15 pc 002ef332 /data/dalvik-
native: #16 pc 00459f05 /apex/com.android.runtime/lib/libart.so (MterpInvokeStatic+932)
native: #17 pc 000e0994 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20)
native: #19 pc 00459f05 /apex/com.android.runtime/lib/libart.so (MterpInvokeStatic+932)
native: #20 pc 000e0994 /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20)
native: #22 pc 00204e61 /apex/com.android.runtime/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.11600764668953545505+536)
native: #23 pc 002096d3 /apex/com.android.runtime/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+126)
native: #24 pc 0044b8e5 /apex/com.android.runtime/lib/libart.so (artQuickToInterpreterBridge+852)
native: #25 pc 000ea5a1 /apex/com.android.runtime/lib/libart.so (art_quick_to_interpreter_bridge+32)
at com.tencent.mmkv.MMKV.decodeLong(Native method)
at com.tencent.mmkv.MMKV.getLong(Proguard:638)

@lingol
Copy link
Collaborator

lingol commented Sep 8, 2021

native: #3 pc 0044a51d /apex/com.android.runtime/lib/libart.so (art::JniMethodEnd(unsigned int, art::Thread*)+8)

No is not ANR when MMKV.decodeLong. It's ANR after MMKV.decodeLong.
And for that, you should complain to the Android team about their shitty JNI implementation.

@lingol lingol closed this as completed Sep 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants