question

Matthew Draper avatar image
Matthew Draper asked

Android crash using C++ sdk

Hi, we're using the (newest) C++ sdk which is working fine for the PC version of our game.

But on Android we get a crash when PlayFab tries to destruct a RequestTask, immediately after the game attempts to log in; please see the LogCat and call stack below;

V/GamesNativeSDK: Detaching from JVM on thread main_dispatch A/art: art/runtime/thread_list.cc:1109] Check failed: self->GetState() != kRunnable (self->GetState()=Runnable, kRunnable=Runnable) A/art: art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: thread Thread[16,tid=4077,Native,Thread*=0xaef16000,peer=0x12e242e0,"SDLThread"] using JNIEnv* from thread Thread[16,tid=4077,Native,Thread*=0xaef16000,peer=0x12e242e0,"SDLThread"] A/art: art/runtime/java_vm_ext.cc:410] in call to DeleteGlobalRef A/art: art/runtime/java_vm_ext.cc:410] from int org.libsdl.app.SDLActivity.nativeRunMain(java.lang.String, java.lang.String, java.lang.Object) A/art: art/runtime/java_vm_ext.cc:410] "SDLThread" prio=5 tid=16 Runnable A/art: art/runtime/java_vm_ext.cc:410] | group="main" sCount=0 dsCount=0 obj=0x12e242e0 self=0xaef16000 A/art: art/runtime/java_vm_ext.cc:410] | sysTid=4077 nice=0 cgrp=default sched=0/0 handle=0x9a7a0930 A/art: art/runtime/java_vm_ext.cc:410] | state=R schedstat=( 0 0 0 ) utm=661 stm=119 core=0 HZ=100 A/art: art/runtime/java_vm_ext.cc:410] | stack=0x9a69e000-0x9a6a0000 stackSize=1038KB A/art: art/runtime/java_vm_ext.cc:410] | held mutexes= "mutator lock"(shared held) A/art: art/runtime/java_vm_ext.cc:410] native: #00 pc 00370e01 /system/lib/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiPKcPNS_9ArtMethodEPv+160) A/art: art/runtime/java_vm_ext.cc:410] native: #01 pc 0035046f /system/lib/libart.so (_ZNK3art6Thread4DumpERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEE+150) A/art: art/runtime/java_vm_ext.cc:410] native: #02 pc 0025a725 /system/lib/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+740) A/art: art/runtime/java_vm_ext.cc:410] native: #03 pc 0025adfd /system/lib/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+64) A/art: art/runtime/java_vm_ext.cc:410] native: #04 pc 000fd1d1 /system/lib/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+32) A/art: art/runtime/java_vm_ext.cc:410] native: #05 pc 00102273 /system/lib/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE.constprop.95+4958) A/art: art/runtime/java_vm_ext.cc:410] native: #06 pc 00116e2d /system/lib/libart.so (_ZN3art8CheckJNI9DeleteRefEPKcP7_JNIEnvP8_jobjectNS_15IndirectRefKindE+456) A/art: art/runtime/java_vm_ext.cc:410] native: #07 pc 018e8513 /data/app/com.xx.xx-1/lib/arm/libGame.so (_ZN7_JNIEnv15DeleteGlobalRefEP8_jobject+36) A/art: art/runtime/java_vm_ext.cc:410] native: #08 pc 01f5f911 /data/app/com.xx.xx-1/lib/arm/libGame.so (_ZN7PlayFab24PlayFabAndroidHttpPlugin11RequestImplD2Ev+44) A/art: art/runtime/java_vm_ext.cc:410] native: #09 pc 01f5f945 /data/app/com.xx.xx-1/lib/arm/libGame.so (_ZN7PlayFab24PlayFabAndroidHttpPlugin11RequestImplD0Ev+16) A/art: art/runtime/java_vm_ext.cc:410] native: #10 pc 01f5f827 /data/app/com.xx.xx-1/lib/arm/libGame.so (???) A/art: art/runtime/java_vm_ext.cc:410] native: #11 pc 01f5f7cf /data/app/com.xx.xx-1/lib/arm/libGame.so (???) A/art: art/runtime/java_vm_ext.cc:410] native: #12 pc 01f5bde5 /data/app/com.xx.xx-1/lib/arm/libGame.so (???) A/art: art/runtime/java_vm_ext.cc:410] native: #13 pc 01f5bdaf /data/app/com.xx.xx-1/lib/arm/libGame.so (_ZN7PlayFab24PlayFabAndroidHttpPlugin11RequestTaskD1Ev+46) A/art: art/runtime/java_vm_ext.cc:410] native: #14 pc 01f601db /data/app/com.xx.xx-1/lib/arm/libGame.so (_ZNSt6__ndk120__shared_ptr_emplaceIN7PlayFab24PlayFabAndroidHttpPlugin11RequestTaskENS_9allocatorIS3_EEE16__on_zero_sharedEv+24) A/art: art/runtime/java_vm_ext.cc:410] native: #15 pc 0219391f /data/app/com.xx.xx-1/lib/arm/libGame.so (???) A/art: art/runtime/java_vm_ext.cc:410] native: #16 pc 01f5c25f /data/app/com.xx.xx-1/lib/arm/libGame.so (_ZNSt6__ndk110shared_ptrIN7PlayFab24PlayFabAndroidHttpPlugin11RequestTaskEED2Ev+30) A/art: art/runtime/java_vm_ext.cc:410] native: #17 pc 01f5c915 /data/app/com.xx.xx-1/lib/arm/libGame.so (_ZN7PlayFab24PlayFabAndroidHttpPlugin6UpdateEv+324) A/art: art/runtime/java_vm_ext.cc:410] native: #18 pc 01f662ef /data/app/com.xx.xx-1/lib/arm/libGame.so (_ZN7PlayFab16PlayFabClientAPI6UpdateEv+82) A/art: art/runtime/java_vm_ext.cc:410] native: #19 pc 015f0c47 /data/app/com.xx.xx-1/lib/arm/libGame.so (_Z11PlayFabTestv+246) A/art: art/runtime/java_vm_ext.cc:410] native: #20 pc 015f1133 /data/app/com.xx.xx-1/lib/arm/libGame.so (_ZN15PlayFab7ProcessEv+6) A/art: art/runtime/java_vm_ext.cc:410] native: #21 pc 015c519b /data/app/com.xx.xx-1/lib/arm/libGame.so (_Z9SysUpdateb+266) A/art: art/runtime/java_vm_ext.cc:410] native: #22 pc 0167e3eb /data/app/com.xx.xx-1/lib/arm/libGame.so (_ZN6UIBase3RunEv+750) A/art: art/runtime/java_vm_ext.cc:410] native: #23 pc 015c9993 /data/app/com.xx.xx-1/lib/arm/libGame.so (_Z8GameMainiPPc+3590) A/art: art/runtime/java_vm_ext.cc:410] native: #24 pc 015ca7fb /data/app/com.xx.xx-1/lib/arm/libGame.so (_Z12MainiPPc+350) A/art: art/runtime/java_vm_ext.cc:410] native: #25 pc 015cb53d /data/app/com.xx.xx-1/lib/arm/libGame.so (_Z7nm_mainiPPc+156) A/art: art/runtime/java_vm_ext.cc:410] native: #26 pc 015cb427 /data/app/com.xx.xx-1/lib/arm/libGame.so (SDL_main+118) A/art: art/runtime/java_vm_ext.cc:410] native: #27 pc 01e2d4c5 /data/app/com.xx.xx-1/lib/arm/libGame.so (Java_org_libsdl_app_SDLActivity_nativeRunMain+424) A/art: art/runtime/java_vm_ext.cc:410] native: #28 pc 00487645 /data/app/com.xx.xx-1/oat/arm/base.odex (int org.libsdl.app.SDLActivity.nativeRunMain(java.lang.String, java.lang.String, java.lang.Object)+144) A/art: art/runtime/java_vm_ext.cc:410] native: #29 pc 004911b5 /data/app/com.xx.xx-1/oat/arm/base.odex (void org.libsdl.app.SDLMain.run()+880) A/art: art/runtime/java_vm_ext.cc:410] native: #30 pc 0001d8d1 /data/dalvik-cache/arm/system@framework@boot.oat (???) A/art: art/runtime/java_vm_ext.cc:410] at org.libsdl.app.SDLActivity.nativeRunMain(Native method) A/art: art/runtime/java_vm_ext.cc:410] at org.libsdl.app.SDLMain.run(SDLActivity.java:1133) A/art: art/runtime/java_vm_ext.cc:410] at java.lang.Thread.run(Thread.java:818) A/art: art/runtime/java_vm_ext.cc:410] E/art: Unexpected time out during dump checkpoint. A/art: art/runtime/barrier.cc:90] Check failed: count_ == 0 (count_=-1, 0=0) Attempted to destroy barrier with non zero count A/art: art/runtime/runtime.cc:366] Runtime aborting --- recursively, so no thread-specific detail! A/art: art/runtime/runtime.cc:366]

Please can anyone help shed some light on this?

Kind regards

-Mat Draper

sdksandroid
2 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Seth Du avatar image Seth Du ♦ commented ·

Can you provide more information about your development environment? Are you using any game engine? Which SDK are you currently using?

0 Likes 0 ·
Matthew Draper avatar image Matthew Draper Seth Du ♦ commented ·

Hi, we have a custom game engine built on BGFX and SDL, using CMAKE to generate projects for Visual Studio, Android Studio, XCode etc. We are using XPlatXPPSdk, up-to-date from GitHub as of 2 days ago.

Many thanks

-Mat

0 Likes 0 ·

1 Answer

·
Seth Du avatar image
Seth Du answered

We will dig into it to see if the XPlatCPPSdk has issues when implementing to Android environment. I will keep this thread updated when there is any feedback from the SDK team.

3 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Matthew Draper avatar image Matthew Draper commented ·

That's wonderful, many thanks!

0 Likes 0 ·
Matthew Draper avatar image Matthew Draper commented ·

@SethDu we have a workaround for now, using the CURL plugin for the transport, which seems to work fine.

Thanks

-Mat

0 Likes 0 ·
franklinchen avatar image franklinchen Matthew Draper commented ·

Hi @Matthew Draper, we have filed this android app crash issue using CPP SDK and reached out to the SDK team. Good to see you have a workaround to move forward. I will share the update here. Thanks.

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.