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

x/mobile: JNI DETECTED ERROR IN APPLICATION: use of deleted global reference 0x200942 #27652

Closed
ntop001 opened this issue Sep 13, 2018 · 3 comments
Labels
FrozenDueToAge mobile Android, iOS, and x/mobile
Milestone

Comments

@ntop001
Copy link

ntop001 commented Sep 13, 2018

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

go version go1.11 darwin/amd64

Does this issue reproduce with the latest release?

YES

What operating system and processor architecture are you using (go env)?

GOARCH="amd64"
GOBIN="/Users/ntop/tools/go"
GOCACHE="/Users/ntop/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/ntop/workspace/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/t6/8417qy4n2zn3lb370499nrl00000gn/T/go-build408118644=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

Use gomobile build -target=android ./basic to build an APK, and install it on an Android devices.

  1. Run the application
  2. Press 'Back' key to exit
  3. Run the application again(before the process killed)
  4. Press 'Back' key to exit

What did you expect to see?

The app exit normally with no crash.

What did you see instead?

The app exit with a crash. Following is the stacktrace:

09-13 17:23:11.997 19414-19434/org.golang.todo.basic E/art: JNI ERROR (app bug): accessed deleted Global 0x200942
09-13 17:23:12.029 19414-19434/org.golang.todo.basic A/art: art/runtime/java_vm_ext.cc:475] JNI DETECTED ERROR IN APPLICATION: use of deleted global reference 0x200942
    art/runtime/java_vm_ext.cc:475] "Thread-4" prio=10 tid=14 Runnable
    art/runtime/java_vm_ext.cc:475]   | group="main" sCount=0 dsCount=0 obj=0x12e17c10 self=0x7f95ecaa00
    art/runtime/java_vm_ext.cc:475]   | sysTid=19434 nice=-10 cgrp=default sched=0/0 handle=0x7fa1b51450
    art/runtime/java_vm_ext.cc:475]   | state=R schedstat=( 4617080 763646 46 ) utm=0 stm=0 core=0 HZ=100
    art/runtime/java_vm_ext.cc:475]   | stack=0x7fa1a57000-0x7fa1a59000 stackSize=1005KB
    art/runtime/java_vm_ext.cc:475]   | held mutexes= "mutator lock"(shared held)
    art/runtime/java_vm_ext.cc:475]   native: #00 pc 000000000047c570  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+220)
    art/runtime/java_vm_ext.cc:475]   native: #01 pc 000000000047c56c  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+216)
    art/runtime/java_vm_ext.cc:475]   native: #02 pc 0000000000450330  /system/lib64/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+472)
    art/runtime/java_vm_ext.cc:475]   native: #03 pc 00000000002ef730  /system/lib64/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+1128)
    art/runtime/java_vm_ext.cc:475]   native: #04 pc 00000000002eff08  /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortFEPKcS2_z+184)
    art/runtime/java_vm_ext.cc:475]   native: #05 pc 0000000000454fbc  /system/lib64/libart.so (_ZNK3art6Thread13DecodeJObjectEP8_jobject+352)
    art/runtime/java_vm_ext.cc:475]   native: #06 pc 0000000000101e90  /system/lib64/libart.so (_ZN3art11ScopedCheck13CheckInstanceERNS_18ScopedObjectAccessENS0_12InstanceKindEP8_jobjectb+196)
    art/runtime/java_vm_ext.cc:475]   native: #07 pc 00000000001000a0  /system/lib64/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+1120)
    art/runtime/java_vm_ext.cc:475]   native: #08 pc 00000000001059b4  /system/lib64/libart.so (_ZN3art8CheckJNI13CheckCallArgsERNS_18ScopedObjectAccessERNS_11ScopedCheckEP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDNS_10InvokeTypeEPKNS_7VarArgsE+140)
    art/runtime/java_vm_ext.cc:475]   native: #09 pc 0000000000104c74  /system/lib64/libart.so (_ZN3art8CheckJNI11CallMethodVEPKcP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDSt9__va_listNS_9Primitive4TypeENS_10InvokeTypeE+704)
    art/runtime/java_vm_ext.cc:475]   native: #10 pc 00000000000f7328  /system/lib64/libart.so (_ZN3art8CheckJNI13CallIntMethodEP7_JNIEnvP8_jobjectP10_jmethodIDz+160)
    art/runtime/java_vm_ext.cc:475]   native: #11 pc 000000000013fd84  /data/app/org.golang.todo.basic-1/lib/arm64/libbasic.so (_cgo_1d2d8a993525_Cfunc_getKeyRune+36)
    art/runtime/java_vm_ext.cc:475]   (no managed stack frames)
    art/runtime/java_vm_ext.cc:475] 
09-13 17:23:12.123 19414-19434/org.golang.todo.basic A/art: art/runtime/runtime.cc:422] Runtime aborting...
    art/runtime/runtime.cc:422] Aborting thread:
    art/runtime/runtime.cc:422] "Thread-4" prio=10 tid=14 Native
    art/runtime/runtime.cc:422]   | group="" sCount=0 dsCount=0 obj=0x12e17c10 self=0x7f95ecaa00
    art/runtime/runtime.cc:422]   | sysTid=19434 nice=-10 cgrp=default sched=0/0 handle=0x7fa1b51450
    art/runtime/runtime.cc:422]   | state=R schedstat=( 35130675 2551926 71 ) utm=2 stm=1 core=2 HZ=100
    art/runtime/runtime.cc:422]   | stack=0x7fa1a57000-0x7fa1a59000 stackSize=1005KB
    art/runtime/runtime.cc:422]   | held mutexes= "abort lock"
    art/runtime/runtime.cc:422]   native: #00 pc 000000000047c570  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+220)
    art/runtime/runtime.cc:422]   native: #01 pc 000000000047c56c  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+216)
    art/runtime/runtime.cc:422]   native: #02 pc 0000000000450330  /system/lib64/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+472)
    art/runtime/runtime.cc:422]   native: #03 pc 000000000043e39c  /system/lib64/libart.so (_ZNK3art10AbortState10DumpThreadERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEPNS_6ThreadE+56)
    art/runtime/runtime.cc:422]   native: #04 pc 000000000043e218  /system/lib64/libart.so (_ZNK3art10AbortState4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+668)
    art/runtime/runtime.cc:422]   native: #05 pc 0000000000431cac  /system/lib64/libart.so (_ZN3art7Runtime5AbortEPKc+144)
    art/runtime/runtime.cc:422]   native: #06 pc 00000000000e5e8c  /system/lib64/libart.so (_ZN3art10LogMessageD2Ev+1576)
    art/runtime/runtime.cc:422]   native: #07 pc 00000000002efb44  /system/lib64/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+2172)
    art/runtime/runtime.cc:422]   native: #08 pc 00000000002eff08  /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortFEPKcS2_z+184)
    art/runtime/runtime.cc:422]   native: #09 pc 0000000000454fbc  /system/lib64/libart.so (_ZNK3art6Thread13DecodeJObjectEP8_jobject+352)
    art/runtime/runtime.cc:422]   native: #10 pc 0000000000101e90  /system/lib64/libart.so (_ZN3art11ScopedCheck13CheckInstanceERNS_18ScopedObjectAccessENS0_12InstanceKindEP8_jobjectb+196)
    art/runtime/runtime.cc:422]   native: #11 pc 00000000001000a0  /system/lib64/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+1120)
    art/runtime/runtime.cc:422]   native: #12 pc 00000000001059b4  /system/lib64/libart.so (_ZN3art8CheckJNI13CheckCallArgsERNS_18ScopedObjectAccessERNS_11ScopedCheckEP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDNS_10InvokeTypeEPKNS_7VarArgsE+140)
    art/runtime/runtime.cc:422]   native: #13 pc 0000000000104c74  /system/lib64/libart.so (_ZN3art8CheckJNI11CallMethodVEPKcP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDSt9__va_listNS_9Primitive4TypeENS_10InvokeTypeE+704)
    art/runtime/runtime.cc:422]   native: #14 pc 00000000000f7328  /system/lib64/libart.so (_ZN3art8CheckJNI13CallIntMethodEP7_JNIEnvP8_jobjectP10_jmethodIDz+160)
    art/runtime/runtime.cc:422]   native: #15 pc 000000000013fd84  /data/app/org.golang.todo.basic-1/lib/arm64/libbasic.so (_cgo_1d2d8a993525_Cfunc_getKeyRune+36)
    art/runtime/runtime.cc:422]   (no managed stack frames)
    art/runtime/runtime.cc:422] Dumping all threads without appropriate locks held: thread list lock mutator lock
    art/runtime/runtime.cc:422] All threads:
    art/runtime/runtime.cc:422] DALVIK THREADS (16):
    art/runtime/runtime.cc:422] "Thread-4" prio=10 tid=14 Runnable
    art/runtime/runtime.cc:422]   | group="" sCount=0 dsCount=0 obj=0x12e17c10 self=0x7f95ecaa00
    art/runtime/runtime.cc:422]   | sysTid=19434 nice=-10 cgrp=default sched=0/0 handle=0x7fa1b51450
    art/runtime/runtime.cc:422]   | state=R schedstat=( 75131248 2551926 71 ) utm=4 stm=3 core=2 HZ=100
    art/runtime/runtime.cc:422]   | stack=0x7fa1a57000-0x7fa1a59000 stackSize=1005KB
    art/runtime/runtime.cc:422]   | held mutexes= "abort lock" "mutator lock"(shared held)
    art/runtime/runtime.cc:422]   native: #00 pc 000000000047c570  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+220)
09-13 17:23:12.124 19414-19434/org.golang.todo.basic A/art: art/runtime/runtime.cc:422]   native: #01 pc 000000000047c56c  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+216)
    art/runtime/runtime.cc:422]   native: #02 pc 0000000000450330  /system/lib64/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+472)
    art/runtime/runtime.cc:422]   native: #03 pc 00000000004683d4  /system/lib64/libart.so (_ZN3art14DumpCheckpoint3RunEPNS_6ThreadE+904)
    art/runtime/runtime.cc:422]   native: #04 pc 0000000000460188  /system/lib64/libart.so (_ZN3art10ThreadList13RunCheckpointEPNS_7ClosureEb+808)
    art/runtime/runtime.cc:422]   native: #05 pc 000000000045fbe4  /system/lib64/libart.so (_ZN3art10ThreadList4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEb+864)
    art/runtime/runtime.cc:422]   native: #06 pc 000000000043e1cc  /system/lib64/libart.so (_ZNK3art10AbortState4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+592)
    art/runtime/runtime.cc:422]   native: #07 pc 0000000000431cac  /system/lib64/libart.so (_ZN3art7Runtime5AbortEPKc+144)
    art/runtime/runtime.cc:422]   native: #08 pc 00000000000e5e8c  /system/lib64/libart.so (_ZN3art10LogMessageD2Ev+1576)
    art/runtime/runtime.cc:422]   native: #09 pc 00000000002efb44  /system/lib64/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+2172)
    art/runtime/runtime.cc:422]   native: #10 pc 00000000002eff08  /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortFEPKcS2_z+184)
    art/runtime/runtime.cc:422]   native: #11 pc 0000000000454fbc  /system/lib64/libart.so (_ZNK3art6Thread13DecodeJObjectEP8_jobject+352)
    art/runtime/runtime.cc:422]   native: #12 pc 0000000000101e90  /system/lib64/libart.so (_ZN3art11ScopedCheck13CheckInstanceERNS_18ScopedObjectAccessENS0_12InstanceKindEP8_jobjectb+196)
    art/runtime/runtime.cc:422]   native: #13 pc 00000000001000a0  /system/lib64/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+1120)
    art/runtime/runtime.cc:422]   native: #14 pc 00000000001059b4  /system/lib64/libart.so (_ZN3art8CheckJNI13CheckCallArgsERNS_18ScopedObjectAccessERNS_11ScopedCheckEP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDNS_10InvokeTypeEPKNS_7VarArgsE+140)
    art/runtime/runtime.cc:422]   native: #15 pc 0000000000104c74  /system/lib64/libart.so (_ZN3art8CheckJNI11CallMethodVEPKcP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDSt9__va_listNS_9Primitive4TypeENS_10InvokeTypeE+704)
    art/runtime/runtime.cc:422]   native: #16 pc 00000000000f7328  /system/lib64/libart.so (_ZN3art8CheckJNI13CallIntMethodEP7_JNIEnvP8_jobjectP10_jmethodIDz+160)
    art/runtime/runtime.cc:422]   native: #17 pc 000000000013fd84  /data/app/org.golang.todo.basic-1/lib/arm64/libbasic.so (_cgo_1d2d8a993525_Cfunc_getKeyRune+36)
    art/runtime/runtime.cc:422]   (no managed stack frames)
    art/runtime/runtime.cc:422] 
    art/runtime/runtime.cc:422] "main" prio=10 tid=1 Native
    art/runtime/runtime.cc:422]   | group="" sCount=1 dsCount=0 obj=0x7610dd88 self=0x7fa3240a00
    art/runtime/runtime.cc:422]   | sysTid=19414 nice=-10 cgrp=default sched=0/0 handle=0x7fa717eaa0
    art/runtime/runtime.cc:422]   | state=S schedstat=( 242695270 59235362 407 ) utm=14 stm=10 core=0 HZ=100
    art/runtime/runtime.cc:422]   | stack=0x7ff18bc000-0x7ff18be000 stackSize=8MB
    art/runtime/runtime.cc:422]   | held mutexes=
    art/runtime/runtime.cc:422]   kernel: __switch_to+0x70/0x7c
    art/runtime/runtime.cc:422]   kernel: SyS_epoll_wait+0x2d4/0x394
    art/runtime/runtime.cc:422]   kernel: SyS_epoll_pwait+0xc4/0x150
    art/runtime/runtime.cc:422]   kernel: el0_svc_naked+0x24/0x28
    art/runtime/runtime.cc:422]   native: #00 pc 000000000006a580  /system/lib64/libc.so (__epoll_pwait+8)
    art/runtime/runtime.cc:422]   native: #01 pc 000000000001e2dc  /system/lib64/libc.so (epoll_pwait+64)
    art/runtime/runtime.cc:422]   native: #02 pc 000000000001807c  /system/lib64/libutils.so (_ZN7android6Looper9pollInnerEi+156)
    art/runtime/runtime.cc:422]   native: #03 pc 0000000000017f30  /system/lib64/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+60)
    art/runtime/runtime.cc:422]   native: #04 pc 00000000000f3078  /system/lib64/libandroid_runtime.so (_ZN7android18NativeMessageQueue8pollOnceEP7_JNIEnvP8_jobjecti+48)
    art/runtime/runtime.cc:422]   native: #05 pc 00000000008c87a0  /system/framework/arm64/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+140)
    art/runtime/runtime.cc:422]   at android.os.MessageQueue.nativePollOnce(Native method)
    art/runtime/runtime.cc:422]   at android.os.MessageQueue.next(MessageQueue.java:323)
    art/runtime/runtime.cc:422]   at android.os.Looper.loop(Looper.java:142)
    art/runtime/runtime.cc:422]   at android.app.ActivityThread.main(ActivityThread.java:6221)
    art/runtime/runtime.cc:422]   at java.lang.reflect.Method.invoke!(Native method)
    art/runtime/runtime.cc:422]   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
    art/runtime/runtime.cc:422]   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
    art/runtime/runtime.cc:422] 
    art/runtime/runtime.cc:422] "Jit thread pool worker thread 0" prio=10 tid=2 Native
    art/runtime/runtime.cc:422]   | group="" sCount=1 dsCount=0 obj=0x12d95dc0 self=0x7fa3241400
    art/runtime/runtime.cc:422]   | sysTid=19419 nice=9 cgrp=default sched=0/0 handle=0x7fa2806450
    art/runtime/runtime.cc:422]   | state=S schedstat=( 17431982 34868435 11 ) utm=0 stm=1 core=0 HZ=100
    art/runtime/runtime.cc:422]   | stack=0x7fa2708000-0x7fa270a000 stackSize=1021KB
    art/runtime/runtime.cc:422]   | held mutexes=
    art/runtime/runtime.cc:422]   kernel: __switch_to+0x70/0x7c
    art/runtime/runtime.cc:422]   kernel: futex_wait_queue_me+0xe4/0x144
    art/runtime/runtime.cc:422]   kernel: futex_wait+0xfc/0x208
    art/runtime/runtime.cc:422]   kernel: do_futex+0xdc/0x8a4
    art/runtime/runtime.cc:422]   kernel: SyS_futex+0x114/0x1a0
    art/runtime/runtime.cc:422]   kernel: el0_svc_naked+0x24/0x28
    art/runtime/runtime.cc:422]   native: #00 pc 000000000001bf2c  /system/lib64/libc.so (syscall+28)
    art/runtime/runtime.cc:422]   native: #01 pc 00000000000e813c  /system/lib64/libart.so (_ZN3art17ConditionVariable16WaitHoldingLocksEPNS_6ThreadE+160)
    art/runtime/runtime.cc:422]   native: #02 pc 000000000046a18c  /system/lib64/libart.so (_ZN3art10ThreadPool7GetTaskEPNS_6ThreadE+252)
    art/runtime/runtime.cc:422]   native: #03 pc 000000000046963c  /system/lib64/libart.so (_ZN3art16ThreadPoolWorker3RunEv+124)
    art/runtime/runtime.cc:422]   native: #04 pc 0000000000468f6c  /system/lib64/libart.so (_ZN3art16ThreadPoolWorker8CallbackEPv+132)
    art/runtime/runtime.cc:422]   native: #05 pc 00000000000681e4  /system/lib64/libc.so (_ZL15__pthread_startPv+196)
    art/runtime/runtime.cc:422]   native: #06 pc 000000000001dbc0  /system/lib64/libc.so (__start_thread+16)
    art/runtime/runtime.cc:422]   (no managed stack frames)
    art/runtime/runtime.cc:422] 
    art/runtime/runtime.cc:422] "Signal Catcher" prio=10 tid=3 WaitingInMainSignalCatcherLoop
    art/runtime/runtime.cc:422]   | group="" sCount=1 dsCount=0 obj=0x12d95e50 self=0x7fa3241e00
    art/runtime/runtime.cc:422]   | sysTid=19420 nice=0 cgrp=default sched=0/0 handle=0x7fa2705450
    art/runtime/runtime.cc:422]   | state=S schedstat=( 339479 0 1 ) utm=0 stm=0 core=1 HZ=100
    art/runtime/runtime.cc:422]   | stack=0x7fa260b000-0x7fa260d000 stackSize=1005KB
    art/runtime/runtime.cc:422]   | held mutexes=
    art/runtime/runtime.cc:422]   kernel: __switch_to+0x70/0x7c
    art/runtime/runtime.cc:422]   kernel: do_sigtimedwait+0xec/0x1d8
    art/runtime/runtime.cc:422]   kernel: SyS_rt_sigtimedwait+0xd4/0x124
    art/runtime/runtime.cc:422]   kernel: el0_svc_naked+0x24/0x28
    art/runtime/runtime.cc:422]   native: #00 pc 000000000006a760  /system/lib64/libc.so (__rt_sigtimedwait+8)
    art/runtime/runtime.cc:422]   native: #01 pc 0000000000024ce0  /system/lib64/libc.so (sigwait+64)
    art/runtime/runtime.cc:422]   native: #02 pc 0000000000442a68  /system/lib64/libart.so (_ZN3art9SignalSet4WaitEv+48)
    art/runtime/runtime.cc:422]   native: #03 pc 0000000000442538  /system/lib64/libart.so (_ZN3art13SignalCatcher13WaitForSignalEPNS_6ThreadERNS_9SignalSetE+240)
    art/runtime/runtime.cc:422]   native: #04 pc 0000000000440b04  /system/lib64/libart.so (_ZN3art13SignalCatcher3RunEPv+396)
    art/runtime/runtime.cc:422]   native: #05 pc 00000000000681e4  /system/lib64/libc.so (_ZL15__pthread_startPv+196)
    art/runtime/runtime.cc:422]   native: #06 pc 000000000001dbc0  /system/lib64/libc.so (__start_thread+16)
    art/runtime/runtime.cc:422]   (no managed stack frames)
    art/runtime/runtime.cc:422] 
    art/runtime/runtime.cc:422] "JDWP" prio=10 tid=4 WaitingInMainDebuggerLoop
    art/runtime/runtime.cc:422]   | group="" sCount=1 dsCount=0 obj=0x12d95ee0 self=0x7fa3242800
    art/runtime/runtime.cc:422]   | sysTid=19421 nice=0 cgrp=default sched=0/0 handle=0x7fa2608450
    art/runtime/runtime.cc:422]   | state=S schedstat=( 2276927 206510 8 ) utm=0 stm=0 core=1 HZ=100
    art/runtime/runtime.cc:422]   | stack=0x7fa250e000-0x7fa2510000 stackSize=1005KB
09-13 17:23:12.125 19414-19434/org.golang.todo.basic A/art: art/runtime/runtime.cc:422]   | held mutexes=
    art/runtime/runtime.cc:422]   kernel: __switch_to+0x70/0x7c
    art/runtime/runtime.cc:422]   kernel: poll_schedule_timeout+0x44/0x68
    art/runtime/runtime.cc:422]   kernel: do_select+0x4cc/0x524
    art/runtime/runtime.cc:422]   kernel: core_sys_select+0x208/0x324
    art/runtime/runtime.cc:422]   kernel: SyS_pselect6+0x18c/0x238
    art/runtime/runtime.cc:422]   kernel: el0_svc_naked+0x24/0x28
    art/runtime/runtime.cc:422]   native: #00 pc 000000000006a6b8  /system/lib64/libc.so (__pselect6+8)
    art/runtime/runtime.cc:422]   native: #01 pc 0000000000023218  /system/lib64/libc.so (select+156)
    art/runtime/runtime.cc:422]   native: #02 pc 00000000005551cc  /system/lib64/libart.so (_ZN3art4JDWP12JdwpAdbState15ProcessIncomingEv+340)
    art/runtime/runtime.cc:422]   native: #03 pc 0000000000304424  /system/lib64/libart.so (_ZN3art4JDWP9JdwpState3RunEv+920)
    art/runtime/runtime.cc:422]   native: #04 pc 00000000003038f8  /system/lib64/libart.so (_ZN3art4JDWPL15StartJdwpThreadEPv+48)
    art/runtime/runtime.cc:422]   native: #05 pc 00000000000681e4  /system/lib64/libc.so (_ZL15__pthread_startPv+196)
    art/runtime/runtime.cc:422]   native: #06 pc 000000000001dbc0  /system/lib64/libc.so (__start_thread+16)
    art/runtime/runtime.cc:422]   (no managed stack frames)
    art/runtime/runtime.cc:422] 
    art/runtime/runtime.cc:422] "ReferenceQueueDaemon" prio=10 tid=5 Waiting
    art/runtime/runtime.cc:422]   | group="" sCount=1 dsCount=0 obj=0x12d95f70 self=0x7fa3243200
    art/runtime/runtime.cc:422]   | sysTid=19422 nice=0 cgrp=default sched=0/0 handle=0x7fa250b450
    art/runtime/runtime.cc:422]   | state=S schedstat=( 470989 0 5 ) utm=0 stm=0 core=0 HZ=100
    art/runtime/runtime.cc:422]   | stack=0x7fa2409000-0x7fa240b000 stackSize=1037KB
    art/runtime/runtime.cc:422]   | held mutexes=
    art/runtime/runtime.cc:422]   kernel: __switch_to+0x70/0x7c
    art/runtime/runtime.cc:422]   kernel: futex_wait_queue_me+0xe4/0x144
    art/runtime/runtime.cc:422]   kernel: futex_wait+0xfc/0x208
    art/runtime/runtime.cc:422]   kernel: do_futex+0xdc/0x8a4
    art/runtime/runtime.cc:422]   kernel: SyS_futex+0x114/0x1a0
    art/runtime/runtime.cc:422]   kernel: el0_svc_naked+0x24/0x28
    art/runtime/runtime.cc:422]   native: #00 pc 000000000001bf2c  /system/lib64/libc.so (syscall+28)
    art/runtime/runtime.cc:422]   native: #01 pc 00000000000e813c  /system/lib64/libart.so (_ZN3art17ConditionVariable16WaitHoldingLocksEPNS_6ThreadE+160)
    art/runtime/runtime.cc:422]   native: #02 pc 000000000037b134  /system/lib64/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadElibNS_11ThreadStateE+660)
    art/runtime/runtime.cc:422]   native: #03 pc 0000000000000810  /system/framework/arm64/boot.oat (Java_java_lang_Object_wait__+124)
    art/runtime/runtime.cc:422]   at java.lang.Object.wait!(Native method)
    art/runtime/runtime.cc:422]   - waiting on <0x0c6ab875> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
    art/runtime/runtime.cc:422]   at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:150)
    art/runtime/runtime.cc:422]   - locked <0x0c6ab875> (a java.lang.Class<java.lang.ref.ReferenceQueue>)
    art/runtime/runtime.cc:422]   at java.lang.Thread.run(Thread.java:760)
    art/runtime/runtime.cc:422] 
    art/runtime/runtime.cc:422] "FinalizerDaemon" prio=10 tid=6 Waiting
    art/runtime/runtime.cc:422]   | group="" sCount=1 dsCount=0 obj=0x12d9e0d0 self=0x7fa32c1200
    art/runtime/runtime.cc:422]   | sysTid=19423 nice=0 cgrp=default sched=0/0 handle=0x7fa2406450
    art/runtime/runtime.cc:422]   | state=S schedstat=( 568436 324999 10 ) utm=0 stm=0 core=1 HZ=100
    art/runtime/runtime.cc:422]   | stack=0x7fa2304000-0x7fa2306000 stackSize=1037KB
    art/runtime/runtime.cc:422]   | held mutexes=
    art/runtime/runtime.cc:422]   kernel: __switch_to+0x70/0x7c
    art/runtime/runtime.cc:422]   kernel: futex_wait_queue_me+0xe4/0x144
    art/runtime/runtime.cc:422]   kernel: futex_wait+0xfc/0x208
    art/runtime/runtime.cc:422]   kernel: do_futex+0xdc/0x8a4
    art/runtime/runtime.cc:422]   kernel: SyS_futex+0x114/0x1a0
    art/runtime/runtime.cc:422]   kernel: el0_svc_naked+0x24/0x28
    art/runtime/runtime.cc:422]   native: #00 pc 000000000001bf2c  /system/lib64/libc.so (syscall+28)
    art/runtime/runtime.cc:422]   native: #01 pc 00000000000e813c  /system/lib64/libart.so (_ZN3art17ConditionVariable16WaitHoldingLocksEPNS_6ThreadE+160)
    art/runtime/runtime.cc:422]   native: #02 pc 000000000037b134  /system/lib64/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadElibNS_11ThreadStateE+660)
    art/runtime/runtime.cc:422]   native: #03 pc 0000000000000980  /system/framework/arm64/boot.oat (Java_java_lang_Object_wait__JI+140)
    art/runtime/runtime.cc:422]   at java.lang.Object.wait!(Native method)
    art/runtime/runtime.cc:422]   - waiting on <0x0d22600a> (a java.lang.Object)
    art/runtime/runtime.cc:422]   at java.lang.Object.wait(Object.java:407)
    art/runtime/runtime.cc:422]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188)
    art/runtime/runtime.cc:422]   - locked <0x0d22600a> (a java.lang.Object)
    art/runtime/runtime.cc:422]   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209)
    art/runtime/runtime.cc:422]   at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:204)
    art/runtime/runtime.cc:422]   at java.lang.Thread.run(Thread.java:760)
    art/runtime/runtime.cc:422] 
    art/runtime/runtime.cc:422] "FinalizerWatchdogDaemon" prio=10 tid=7 Waiting
    art/runtime/runtime.cc:422]   | group="" sCount=1 dsCount=0 obj=0x12d9e160 self=0x7fa32c1c00
    art/runtime/runtime.cc:422]   | sysTid=19424 nice=0 cgrp=default sched=0/0 handle=0x7fa2301450
    art/runtime/runtime.cc:422]   | state=S schedstat=( 460833 751876 9 ) utm=0 stm=0 core=2 HZ=100
    art/runtime/runtime.cc:422]   | stack=0x7fa21ff000-0x7fa2201000 stackSize=1037KB
    art/runtime/runtime.cc:422]   | held mutexes=
    art/runtime/runtime.cc:422]   kernel: __switch_to+0x70/0x7c
    art/runtime/runtime.cc:422]   kernel: futex_wait_queue_me+0xe4/0x144
    art/runtime/runtime.cc:422]   kernel: futex_wait+0xfc/0x208
    art/runtime/runtime.cc:422]   kernel: do_futex+0xdc/0x8a4
    art/runtime/runtime.cc:422]   kernel: SyS_futex+0x114/0x1a0
    art/runtime/runtime.cc:422]   kernel: el0_svc_naked+0x24/0x28
    art/runtime/runtime.cc:422]   native: #00 pc 000000000001bf2c  /system/lib64/libc.so (syscall+28)
    art/runtime/runtime.cc:422]   native: #01 pc 00000000000e813c  /system/lib64/libart.so (_ZN3art17ConditionVariable16WaitHoldingLocksEPNS_6ThreadE+160)
    art/runtime/runtime.cc:422]   native: #02 pc 000000000037b134  /system/lib64/libart.so (_ZN3art7Monitor4WaitEPNS_6ThreadElibNS_11ThreadStateE+660)
    art/runtime/runtime.cc:422]   native: #03 pc 0000000000000810  /system/framework/arm64/boot.oat (Java_java_lang_Object_wait__+124)
    art/runtime/runtime.cc:422]   at java.lang.Object.wait!(Native method)
    art/runtime/runtime.cc:422]   - waiting on <0x02a2207b> (a java.lang.Daemons$FinalizerWatchdogDaemon)
    art/runtime/runtime.cc:422]   at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:269)
    art/runtime/runtime.cc:422]   - locked <0x02a2207b> (a java.lang.Daemons$FinalizerWatchdogDaemon)
    art/runtime/runtime.cc:422]   at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:249)
    art/runtime/runtime.cc:422]   at java.lang.Thread.run(Thread.java:760)
    art/runtime/runtime.cc:422] 
    art/runtime/runtime.cc:422] "HeapTaskDaemon" prio=10 tid=8 Blocked
09-13 17:23:12.126 19414-19434/org.golang.todo.basic A/art: art/runtime/runtime.cc:422]   | group="" sCount=1 dsCount=0 obj=0x12d9e1f0 self=0x7fa32c2600
    art/runtime/runtime.cc:422]   | sysTid=19425 nice=0 cgrp=default sched=0/0 handle=0x7fa21fc450
    art/runtime/runtime.cc:422]   | state=S schedstat=( 31003229 1274063 20 ) utm=2 stm=1 core=3 HZ=100
    art/runtime/runtime.cc:422]   | stack=0x7fa20fa000-0x7fa20fc000 stackSize=1037KB
    art/runtime/runtime.cc:422]   | held mutexes=
    art/runtime/runtime.cc:422]   kernel: __switch_to+0x70/0x7c
    art/runtime/runtime.cc:422]   kernel: futex_wait_queue_me+0xe4/0x144
    art/runtime/runtime.cc:422]   kernel: futex_wait+0xfc/0x208
    art/runtime/runtime.cc:422]   kernel: do_futex+0xdc/0x8a4
    art/runtime/runtime.cc:422]   kernel: SyS_futex+0x114/0x1a0
    art/runtime/runtime.cc:422]   kernel: el0_svc_naked+0x24/0x28
    art/runtime/runtime.cc:422]   native: #00 pc 000000000001bf2c  /system/lib64/libc.so (syscall+28)
    art/runtime/runtime.cc:422]   native: #01 pc 00000000000e813c  /system/lib64/libart.so (_ZN3art17ConditionVariable16WaitHoldingLocksEPNS_6ThreadE+160)
    art/runtime/runtime.cc:422]   native: #02 pc 0000000000241ecc  /system/lib64/libart.so (_ZN3art2gc13TaskProcessor7GetTaskEPNS_6ThreadE+360)
    art/runtime/runtime.cc:422]   native: #03 pc 00000000002427a8  /system/lib64/libart.so (_ZN3art2gc13TaskProcessor11RunAllTasksEPNS_6ThreadE+92)
    art/runtime/runtime.cc:422]   native: #04 pc 00000000001e6ac0  /system/framework/arm64/boot-core-libart.oat (Java_dalvik_system_VMRuntime_runHeapTasks__+124)
    art/runtime/runtime.cc:422]   at dalvik.system.VMRuntime.runHeapTasks(Native method)
    art/runtime/runtime.cc:422]   - waiting to lock an unknown object
    art/runtime/runtime.cc:422]   at java.lang.Daemons$HeapTaskDaemon.run(Daemons.java:433)
    art/runtime/runtime.cc:422]   at java.lang.Thread.run(Thread.java:760)
    art/runtime/runtime.cc:422] 
    art/runtime/runtime.cc:422] "Binder:19414_1" prio=10 tid=9 Native
    art/runtime/runtime.cc:422]   | group="" sCount=1 dsCount=0 obj=0x12d9e310 self=0x7f95e67000
    art/runtime/runtime.cc:422]   | sysTid=19426 nice=0 cgrp=default sched=0/0 handle=0x7fa1ff9450
    art/runtime/runtime.cc:422]   | state=S schedstat=( 5269740 12181406 22 ) utm=0 stm=0 core=3 HZ=100
    art/runtime/runtime.cc:422]   | stack=0x7fa1eff000-0x7fa1f01000 stackSize=1005KB
    art/runtime/runtime.cc:422]   | held mutexes=
    art/runtime/runtime.cc:422]   kernel: __switch_to+0x70/0x7c
    art/runtime/runtime.cc:422]   kernel: binder_thread_read+0x340/0xf08
    art/runtime/runtime.cc:422]   kernel: binder_ioctl_write_read+0x1c0/0x324
    art/runtime/runtime.cc:422]   kernel: binder_ioctl+0x1d8/0x64c
    art/runtime/runtime.cc:422]   kernel: do_vfs_ioctl+0x4d0/0x5c4
    art/runtime/runtime.cc:422]   kernel: SyS_ioctl+0x60/0x88
    art/runtime/runtime.cc:422]   kernel: el0_svc_naked+0x24/0x28
    art/runtime/runtime.cc:422]   native: #00 pc 000000000006a66c  /system/lib64/libc.so (__ioctl+4)
    art/runtime/runtime.cc:422]   native: #01 pc 000000000001fb08  /system/lib64/libc.so (ioctl+144)
    art/runtime/runtime.cc:422]   native: #02 pc 0000000000055534  /system/lib64/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+260)
    art/runtime/runtime.cc:422]   native: #03 pc 0000000000055694  /system/lib64/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+24)
    art/runtime/runtime.cc:422]   native: #04 pc 0000000000055dc0  /system/lib64/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+72)
    art/runtime/runtime.cc:422]   native: #05 pc 0000000000072dac  /system/lib64/libbinder.so (???)
    art/runtime/runtime.cc:422]   native: #06 pc 0000000000012484  /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+272)
    art/runtime/runtime.cc:422]   native: #07 pc 00000000000a0f18  /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+116)
    art/runtime/runtime.cc:422]   native: #08 pc 00000000000681e4  /system/lib64/libc.so (_ZL15__pthread_startPv+196)
    art/runtime/runtime.cc:422]   native: #09 pc 000000000001dbc0  /system/lib64/libc.so (__start_thread+16)
    art/runtime/runtime.cc:422]   (no managed stack frames)
    art/runtime/runtime.cc:422] 
    art/runtime/runtime.cc:422] "Binder:19414_2" prio=10 tid=10 Native
    art/runtime/runtime.cc:422]   | group="" sCount=1 dsCount=0 obj=0x12d9e3a0 self=0x7f95e67a00
    art/runtime/runtime.cc:422]   | sysTid=19427 nice=0 cgrp=default sched=0/0 handle=0x7fa1efc450
    art/runtime/runtime.cc:422]   | state=S schedstat=( 4727554 1760314 18 ) utm=0 stm=0 core=0 HZ=100
    art/runtime/runtime.cc:422]   | stack=0x7fa1e02000-0x7fa1e04000 stackSize=1005KB
    art/runtime/runtime.cc:422]   | held mutexes=
    art/runtime/runtime.cc:422]   kernel: __switch_to+0x70/0x7c
    art/runtime/runtime.cc:422]   kernel: binder_thread_read+0x340/0xf08
    art/runtime/runtime.cc:422]   kernel: binder_ioctl_write_read+0x1c0/0x324
    art/runtime/runtime.cc:422]   kernel: binder_ioctl+0x1d8/0x64c
    art/runtime/runtime.cc:422]   kernel: do_vfs_ioctl+0x4d0/0x5c4
    art/runtime/runtime.cc:422]   kernel: SyS_ioctl+0x60/0x88
    art/runtime/runtime.cc:422]   kernel: el0_svc_naked+0x24/0x28
09-13 17:23:12.128 19414-19434/org.golang.todo.basic A/art: art/runtime/runtime.cc:422]   kernel: __switch_to+0x70/0x7c
    art/runtime/runtime.cc:422]   kernel: SyS_ioctl+0x60/0x88
    art/runtime/runtime.cc:422]   kernel: el0_svc_naked+0x24/0x28
    art/runtime/runtime.cc:422]   native: #01 pc 000000000001fb08  /system/lib64/libc.so (ioctl+144)
    art/runtime/runtime.cc:422]   native: #02 pc 0000000000055534  /system/lib64/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+260)
    art/runtime/runtime.cc:422]   native: #03 pc 0000000000055694  /system/lib64/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+24)
    art/runtime/runtime.cc:422]   native: #04 pc 0000000000055dc0  /system/lib64/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+72)
    art/runtime/runtime.cc:422]   native: #09 pc 000000000001dbc0  /system/lib64/libc.so (__start_thread+16)
09-13 17:23:12.129 19414-19434/org.golang.todo.basic A/art: art/runtime/runtime.cc:422]   (no managed stack frames)
    art/runtime/runtime.cc:422] 
    art/runtime/runtime.cc:422] 
    art/runtime/runtime.cc:427] JNI DETECTED ERROR IN APPLICATION: use of deleted global reference 0x200942
    art/runtime/runtime.cc:427] "Thread-4" prio=10 tid=14 Runnable
    art/runtime/runtime.cc:427]   | group="main" sCount=0 dsCount=0 obj=0x12e17c10 self=0x7f95ecaa00
    art/runtime/runtime.cc:427]   | sysTid=19434 nice=-10 cgrp=default sched=0/0 handle=0x7fa1b51450
    art/runtime/runtime.cc:427]   | state=R schedstat=( 4617080 763646 46 ) utm=0 stm=0 core=0 HZ=100
    art/runtime/runtime.cc:427]   | stack=0x7fa1a57000-0x7fa1a59000 stackSize=1005KB
    art/runtime/runtime.cc:427]   | held mutexes= "mutator lock"(shared held)
    art/runtime/runtime.cc:427]   native: #00 pc 000000000047c570  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+220)
    art/runtime/runtime.cc:427]   native: #01 pc 000000000047c56c  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+216)
    art/runtime/runtime.cc:427]   native: #07 pc 00000000001000a0  /system/lib64/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+1120)
    art/runtime/runtime.cc:427]   native: #08 pc 00000000001059b4  /system/lib64/libart.so (_ZN3art8CheckJNI13CheckCallArgsERNS_18ScopedObjectAccessERNS_11ScopedCheckEP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDNS_10InvokeTypeEPKNS_7VarArgsE+140)
    art/runtime/runtime.cc:427]   native: #09 pc 0000000000104c74  /system/lib64/libart.so (_ZN3art8CheckJNI11CallMethodVEPKcP7_JNIEnvP8_jobjectP7_jclassP10_jmethodIDSt9__va_listNS_9Primitive4TypeENS_10InvokeTypeE+704)
09-13 17:23:12.129 19414-19434/org.golang.todo.basic A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 19434 (Thread-4)
@gopherbot gopherbot added this to the Unreleased milestone Sep 13, 2018
@gopherbot gopherbot added the mobile Android, iOS, and x/mobile label Sep 13, 2018
@agnivade
Copy link
Contributor

/cc @eliasnaur

@gopherbot
Copy link

Change https://golang.org/cl/135215 mentions this issue: app: make GoNativeActivity.getKey static

@eliasnaur
Copy link
Contributor

Does CL 135215 fix your issue? Remember to run go install golang.org/x/mobile/cmd/gomobile after applying the fix.

@golang golang locked and limited conversation to collaborators Sep 13, 2019
imWildCat pushed a commit to imWildCat/go-mobile that referenced this issue Apr 10, 2021
The input queue runs concurrent with the native activity lifecycle,
and so the getKey helper Java method might be called after the
app has been destroyed. This is particularly likely for "back"
key presses that destroys activities.

Change the getKey method to be static so that it can be called
outside the app lifecycle.

Run `go generate ./cmd/gomobile` to update the compiled dex file that
contains GoNativeActivity.

Fixes golang/go#27652

Change-Id: Id2c863ee07e5447f033e67d6948fbfe746916ffa
Reviewed-on: https://go-review.googlesource.com/135215
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
imWildCat pushed a commit to imWildCat/go-mobile that referenced this issue Apr 11, 2021
The input queue runs concurrent with the native activity lifecycle,
and so the getKey helper Java method might be called after the
app has been destroyed. This is particularly likely for "back"
key presses that destroys activities.

Change the getKey method to be static so that it can be called
outside the app lifecycle.

Run `go generate ./cmd/gomobile` to update the compiled dex file that
contains GoNativeActivity.

Fixes golang/go#27652

Change-Id: Id2c863ee07e5447f033e67d6948fbfe746916ffa
Reviewed-on: https://go-review.googlesource.com/135215
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge mobile Android, iOS, and x/mobile
Projects
None yet
Development

No branches or pull requests

4 participants