m4gr3d / Godot-Android-Plugin-Template

This repository serves as a quickstart template for building a Godot Android plugin for Godot 4.2+.
MIT License
43 stars 11 forks source link

Godot Engine with Plugin Enabled Crashes when Pausing and Resuming #6

Closed CoryParsnipson closed 5 months ago

CoryParsnipson commented 5 months ago

Hello, I've come across this strange issue where the godot engine appears to be crashing due to trying to initialize stuff that already exists when I background the app and then click on the app icon to bring it up again.

Here's my environment:

Info Value
Android Device Google Pixel 2 (physical device)
Android Version 11
Godot Engine version v4.2.2.stable.official [15073afe3]
Android Studio Version Android Studio Jellyfish 2023.3.1
OS Built on Windows 10 64 bit

How to reproduce:

This is reproduceable and happens every time.

Another thing is if the plugin is not enabled, this does not occur.

I was able to collect numerous logs and it looks like it spans into the GDExtensions code:

This is from android logcat:

Creating new Godot fragment instance.
out_write: retry previous failed cal level set
AUDIO_STREAMING: 0
USER ERROR: Condition "configured" is true.
   at: setup (core/string/string_name.cpp:56)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "utility_function_table.has(sname)" is true.
   at: register_utility_function (core/variant/variant_utility.cpp:1655)
USER ERROR: Condition "singleton != nullptr" is true.
   at: ResourceUID (core/io/resource_uid.cpp:261)
USER ERROR: Condition "singleton != nullptr" is true.
   at: GDExtensionManager (core/extension/gdextension_manager.cpp:289)
USER ERROR: IP singleton already exist.
   at: create (core/io/ip.cpp:335)
USER ERROR: Singleton in InputMap already exist.
   at: InputMap (core/input/input_map.cpp:809)
USER ERROR: Singleton for Time already exists.
   at: Time (core/os/time.cpp:447)
USER ERROR: Instantiating a new ProjectSettings singleton is not supported.
   at: ProjectSettings (core/config/project_settings.cpp:1295)
Fatal signal 5 (SIGTRAP), code 1 (TRAP_BRKPT), fault addr 0x73805b76e0 in tid 17107 (oid.plugin.demo), pid 17107 (oid.plugin.demo)

A little bit later down, you can see a core dump:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/walleye/walleye:11/RP1A.201005.004.A1/6934943:user/release-keys'
Revision: 'MP1'
ABI: 'arm64'
Timestamp: 2024-06-02 01:29:06-0700
pid: 17107, tid: 17107, name: oid.plugin.demo  >>> org.godotengine.android.plugin.demo <<<
uid: 10599
signal 5 (SIGTRAP), code 1 (TRAP_BRKPT), fault addr 0x73805b76e0
    x0  0000000000000000  x1  0000000000000000  x2  0000000000000000  x3  0000000000000003
    x4  0000007fc5ee2d60  x5  0000000000000038  x6  ff09283438313039  x7  7f7f7f7f7f7f7f7f
    x8  0000000000000000  x9  0000000000000001  x10 0000000000004001  x11 0000000000000000
    x12 0000007fc5ee2e80  x13 0000000000000040  x14 0000007fc5ee2f30  x15 000837afa2f38c1d
    x16 000000767b680c68  x17 000000767b678740  x18 0000007681194000  x19 00000074db0d7dc0
    x20 0000000000000000  x21 00000076804a0000  x22 0000007380a3b000  x23 0000007fc5ee57c0
    x24 0000000000000000  x25 0000007380895000  x26 0000000000000052  x27 0000000000000002
    x28 0000007fc5ee5940  x29 0000007fc5ee5000
    lr  00000073805b76e0  sp  0000007fc5ee4790  pc  00000073805b76e0  pst 0000000080000000
oneway function results will be dropped but finished with status OK and parcel size 4
backtrace:
      #00 pc 00000000039056e0  /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk!libgodot_android.so (offset 0x322000)
      #01 pc 0000000000e4d804  /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk!libgodot_android.so (offset 0x322000)
      #02 pc 0000000000e30c2c  /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk!libgodot_android.so (offset 0x322000) (Java_org_godotengine_godot_GodotLib_setup+320)
      #03 pc 000000000013ced4  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+148) (BuildId: d0f321775158ed00df284edfabf672b6)
      #04 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: d0f321775158ed00df284edfabf672b6)
      #05 pc 00000000001a9804  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: d0f321775158ed00df284edfabf672b6)
      #06 pc 000000000031c040  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: d0f321775158ed00df284edfabf672b6)
      #07 pc 0000000000312228  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912) (BuildId: d0f321775158ed00df284edfabf672b6)
      #08 pc 000000000068861c  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+548) (BuildId: d0f321775158ed00df284edfabf672b6)
      #09 pc 000000000012d994  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #10 pc 0000000000247280  [anon:dalvik-classes.dex extracted in memory from /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk] (org.godotengine.godot.Godot.onInitNativeLayer+252)
      #11 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #12 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #13 pc 00000000002452ee  [anon:dalvik-classes.dex extracted in memory from /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk] (org.godotengine.godot.GodotFragment.performEngineInitialization+14)
      #14 pc 0000000000687fe8  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+1248) (BuildId: d0f321775158ed00df284edfabf672b6)
      #15 pc 000000000012d914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #16 pc 0000000000244efe  [anon:dalvik-classes.dex extracted in memory from /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk] (org.godotengine.godot.GodotFragment.onCreate+58)
      #17 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #18 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #19 pc 0000000000129254  [anon:dalvik-classes.dex extracted in memory from /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk] (androidx.fragment.app.Fragment.performCreate+44)
      #20 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #21 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #22 pc 0000000000122440  [anon:dalvik-classes.dex extracted in memory from /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk] (androidx.fragment.app.FragmentStateManager.create+132)
      #23 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #24 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #25 pc 0000000000122e88  [anon:dalvik-classes.dex extracted in memory from /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk] (androidx.fragment.app.FragmentStateManager.moveToExpectedState+292)
      #26 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #27 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #28 pc 000000000012010a  [anon:dalvik-classes.dex extracted in memory from /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk] (androidx.fragment.app.FragmentManager.executeOpsTogether+702)
      #29 pc 0000000000687fe8  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+1248) (BuildId: d0f321775158ed00df284edfabf672b6)
      #30 pc 000000000012d914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #31 pc 0000000000120a42  [anon:dalvik-classes.dex extracted in memory from /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk] (androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute+162)
      #32 pc 0000000000687fe8  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+1248) (BuildId: d0f321775158ed00df284edfabf672b6)
      #33 pc 000000000012d914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #34 pc 000000000011fd9e  [anon:dalvik-classes.dex extracted in memory from /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk] (androidx.fragment.app.FragmentManager.execSingleAction+62)
      #35 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #36 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #37 pc 00000000001140e0  [anon:dalvik-classes.dex extracted in memory from /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk] (androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss+12)
      #38 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #39 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #40 pc 0000000000244794  [anon:dalvik-classes.dex extracted in memory from /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk] (org.godotengine.godot.GodotActivity.onCreate+180)
      #41 pc 0000000000686720  /apex/com.android.art/lib64/libart.so (MterpInvokeSuper+2480) (BuildId: d0f321775158ed00df284edfabf672b6)
      #42 pc 000000000012d894  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_super+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #43 pc 000000000000016a  [anon:dalvik-classes3.dex extracted in memory from /data/app/~~ytEawNaDbiN15EK1I7dDAw==/org.godotengine.android.plugin.demo-aSaGCsdl0LxJTTB3J1iUDg==/base.apk!classes3.dex] (com.godot.game.GodotApp.onCreate+10)
      #44 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #45 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #46 pc 00000000001a9844  /system/framework/framework.jar (android.app.Activity.performCreate+88)
      #47 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #48 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #49 pc 00000000001a97d2  /system/framework/framework.jar (android.app.Activity.performCreate+2)
      #50 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #51 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #52 pc 0000000000211ec2  /system/framework/framework.jar (android.app.Instrumentation.callActivityOnCreate+6)
      #53 pc 00000000003094d0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.7618685802058321727)+264) (BuildId: d0f321775158ed00df284edfabf672b6)
      #54 pc 0000000000311840  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+200) (BuildId: d0f321775158ed00df284edfabf672b6)
      #55 pc 0000000000312b9c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1772) (BuildId: d0f321775158ed00df284edfabf672b6)
      #56 pc 0000000000175678  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<true, false>(art::interpreter::SwitchImplContext*)+46400) (BuildId: d0f321775158ed00df284edfabf672b6)
      #57 pc 000000000013f7d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: d0f321775158ed00df284edfabf672b6)
      #58 pc 000000000019845c  /system/framework/framework.jar (android.app.ActivityThread.performLaunchActivity)
      #59 pc 00000000003095d8  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.7618685802058321727)+528) (BuildId: d0f321775158ed00df284edfabf672b6)
      #60 pc 0000000000311840  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+200) (BuildId: d0f321775158ed00df284edfabf672b6)
      #61 pc 0000000000312b9c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1772) (BuildId: d0f321775158ed00df284edfabf672b6)
      #62 pc 0000000000175678  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<true, false>(art::interpreter::SwitchImplContext*)+46400) (BuildId: d0f321775158ed00df284edfabf672b6)
      #63 pc 000000000013f7d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: d0f321775158ed00df284edfabf672b6)
      #64 pc 000000000019836c  /system/framework/framework.jar (android.app.ActivityThread.handleLaunchActivity)
      #65 pc 00000000003095d8  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.7618685802058321727)+528) (BuildId: d0f321775158ed00df284edfabf672b6)
      #66 pc 0000000000311840  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+200) (BuildId: d0f321775158ed00df284edfabf672b6)
      #67 pc 000000000031220c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+884) (BuildId: d0f321775158ed00df284edfabf672b6)
      #68 pc 00000000006856c0  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+848) (BuildId: d0f321775158ed00df284edfabf672b6)
      #69 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #70 pc 000000000028e02e  /system/framework/framework.jar (android.app.servertransaction.LaunchActivityItem.execute+134)
      #71 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #72 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #73 pc 0000000000290232  /system/framework/framework.jar (android.app.servertransaction.TransactionExecutor.executeCallbacks+154)
      #74 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #75 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #76 pc 000000000029016e  /system/framework/framework.jar (android.app.servertransaction.TransactionExecutor.execute+146)
      #77 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #78 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #79 pc 0000000000197734  /system/framework/framework.jar (android.app.ActivityThread$H.handleMessage+96)
      #80 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #81 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #82 pc 000000000036f2ba  /system/framework/framework.jar (offset 0x92b000) (android.os.Handler.dispatchMessage+38)
      #83 pc 0000000000685960  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1520) (BuildId: d0f321775158ed00df284edfabf672b6)
      #84 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #85 pc 0000000000396ab6  /system/framework/framework.jar (offset 0x92b000) (android.os.Looper.loop+482)
      #86 pc 00000000003094d0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.7618685802058321727)+264) (BuildId: d0f321775158ed00df284edfabf672b6)
      #87 pc 0000000000311840  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+200) (BuildId: d0f321775158ed00df284edfabf672b6)
      #88 pc 0000000000312b9c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1772) (BuildId: d0f321775158ed00df284edfabf672b6)
      #89 pc 0000000000178658  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<true, false>(art::interpreter::SwitchImplContext*)+58656) (BuildId: d0f321775158ed00df284edfabf672b6)
      #90 pc 000000000013f7d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: d0f321775158ed00df284edfabf672b6)
      #91 pc 00000000001a1698  /system/framework/framework.jar (android.app.ActivityThread.main)
      #92 pc 00000000003095d8  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.7618685802058321727)+528) (BuildId: d0f321775158ed00df284edfabf672b6)
      #93 pc 00000000006740c0  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+776) (BuildId: d0f321775158ed00df284edfabf672b6)
      #94 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: d0f321775158ed00df284edfabf672b6)
      #95 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: d0f321775158ed00df284edfabf672b6)
      #96 pc 00000000001a9804  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: d0f321775158ed00df284edfabf672b6)
      #97 pc 000000000055ce14  /apex/com.android.art/lib64/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1364) (BuildId: d0f321775158ed00df284edfabf672b6)
      #98 pc 00000000004dba28  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+48) (BuildId: d0f321775158ed00df284edfabf672b6)
      #99 pc 00000000000896f4  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+180) (BuildId: 13577ce71153c228ecf0eb73fc39f45010d487f8)
      #100 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: d0f321775158ed00df284edfabf672b6)
      #101 pc 00000000001a97e8  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: d0f321775158ed00df284edfabf672b6)
      #102 pc 000000000031c040  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: d0f321775158ed00df284edfabf672b6)
      #103 pc 0000000000312228  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912) (BuildId: d0f321775158ed00df284edfabf672b6)
      #104 pc 00000000006856c0  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+848) (BuildId: d0f321775158ed00df284edfabf672b6)
      #105 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: d0f321775158ed00df284edfabf672b6)
      #106 pc 000000000044930a  /system/framework/framework.jar (offset 0x125d000) (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
      #107 pc 00000000003094d0  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.7618685802058321727)+264) (BuildId: d0f321775158ed00df284edfabf672b6)
      #108 pc 00000000006740c0  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+776) (BuildId: d0f321775158ed00df284edfabf672b6)
      #109 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: d0f321775158ed00df284edfabf672b6)
      #110 pc 0000000000897668  /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2280) (BuildId: da25c976c2d1d3af123868772655a0779f8f6a48)
      #111 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: d0f321775158ed00df284edfabf672b6)
      #112 pc 00000000001a9804  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: d0f321775158ed00df284edfabf672b6)
      #113 pc 000000000055b830  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+448) (BuildId: d0f321775158ed00df284edfabf672b6)
      #114 pc 000000000055bcf4  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: d0f321775158ed00df284edfabf672b6)
      #115 pc 000000000043ecbc  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+652) (BuildId: d0f321775158ed00df284edfabf672b6)
      #116 pc 000000000009948c  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+124) (BuildId: 30f3430e4d2a28be49d3c60d623f0a29)
      #117 pc 00000000000a0a0c  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+844) (BuildId: 30f3430e4d2a28be49d3c60d623f0a29)
      #118 pc 0000000000003570  /system/bin/app_process64 (main+1320) (BuildId: d4686d3f8282764488eb9ca7cc518583)
      #119 pc 00000000000495b4  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+108) (BuildId: c78cdff5b820a550771130d6bde95081)
Tombstone written to: /data/tombstones/tombstone_27
  Force finishing activity org.godotengine.android.plugin.demo/com.godot.game.GodotApp

Thank you!

m4gr3d commented 5 months ago

@CoryParsnipson I've tested on a Samsung S8 tablet running Android 14 and I'm unable to reroduce the issue. See attached video below:

https://github.com/m4gr3d/Godot-Android-Plugin-Template/assets/914968/d0843041-1d99-4010-8dfd-6584e07e9ce1

Can you see if you can reproduce the issue on different versions of Android using the Android Studio emulator.

CoryParsnipson commented 5 months ago

Ok so I found out some more information:

Most importantly, it looks like on my physical Pixel 2 device, if I run the app normally without wireless debugging, this issue does not happen. So I guess this might not be a "real" failure scenario after all.

I may be able to get my hands on other (real) android devices in a couple days. But it looks like from the above that it might not be worth it. If you are still curious for me to try and do that, let me know.

Thanks for the fast response!

m4gr3d commented 5 months ago

Thanks for the additional data, really helpful!

This suggests it may be an issue with wireless debugging when developing with the Godot Editor. I'll give it a try and see if I can reproduce that issue, but we can close this issue.