utopia-rise / godot-kotlin-jvm

Godot Kotlin JVM Module
MIT License
576 stars 39 forks source link

Godot Editor crashes with AbstractMethodError when loading a project containing kotlin sources #550

Closed MartinHaeusler closed 8 months ago

MartinHaeusler commented 8 months ago

My godot editor tells me the following:

OpenGL API 3.3.0 NVIDIA 525.147.05 - Compatibility - Using Device: NVIDIA - NVIDIA GeForce RTX 3080

WARNING: Godot-JVM: Godot-JVM: No embedded jvm found on path: /home/martin/Documents/git/cardsmithGodotKotlin/client/jre-amd64/lib/server/libjvm.so!
     at: get_jvm_lib_path (modules/kotlin_jvm/src/jni/platforms/jvm_loader_desktop.cpp:58)
WARNING: Godot-JVM: Godot-JVM: You really should embedd a jre in your game with jlink! See the documentation if you don't know how to do that
     at: get_jvm_lib_path (modules/kotlin_jvm/src/jni/platforms/jvm_loader_desktop.cpp:60)
Godot-JVM: Starting JVM ...
Godot-JVM: Using jvm type: jvm
Godot-JVM: Loading bootstrap jar: /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot-bootstrap.jar
WARNING: JNI local refs: 33, exceeds capacity: 32
WARNING: JNI local refs: 66, exceeds capacity: 65
Godot-JVM: Starting GC thread
Exception in thread "main" java.lang.AbstractMethodError: Receiver class godot.entry.OSFsgHyNrutBMOmpuxLg.Entry does not define or inherit an implementation of the resolved method 'abstract java.lang.String getUserScriptResourcePathPrefix()' of abstract class godot.registration.Entry.
    at godot.runtime.Bootstrap.initializeUsingEntry(Bootstrap.kt:135)
    at godot.runtime.Bootstrap.doInit(Bootstrap.kt:105)
    at godot.runtime.Bootstrap.init(Bootstrap.kt:41)
ERROR: Godot-JVM: An exception has occurred!
   at: check_exceptions (modules/kotlin_jvm/src/jni/env.cpp:69)
ERROR: Condition "!texture_allocs_cache.has(p_id)" is true.
   at: texture_free_data (drivers/gles3/storage/utilities.h:111)
ERROR: Cubemap Arrays are not supported in the GL Compatibility backend.
   at: texture_2d_layered_initialize (drivers/gles3/storage/texture_storage.cpp:763)
ERROR: Attempting to use an uninitialized RID
   at: get_or_null (./core/templates/rid_owner.h:199)
ERROR: Condition "!t" is true.
   at: texture_free (drivers/gles3/storage/texture_storage.cpp:705)

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.1.2.stable.custom_build (399c9dc393f6f84c0b4e4d4117906c70c048ecf2)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /usr/lib/jvm/java-1.17.0-openjdk-amd64/lib/server/libjvm.so(+0xdcff7c) [0x7f9f231cff7c] (??:0)
[2] /usr/lib/jvm/java-1.17.0-openjdk-amd64/lib/server/libjvm.so(JVM_handle_linux_signal+0x25e) [0x7f9f231d0a8e] (??:0)
[3] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7f9f4f642520] (??:0)
[4] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x140c39e) [0x55edd627239e] (??:0)
[5] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x56f1995) [0x55edda557995] (??:0)
[6] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x1572f66) [0x55edd63d8f66] (??:0)
[7] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x1573128) [0x55edd63d9128] (??:0)
[8] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x15742bd) [0x55edd63da2bd] (??:0)
[9] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x571f735) [0x55edda585735] (??:0)
[10] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x32e2d8e) [0x55edd8148d8e] (??:0)
[11] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x571b9a0) [0x55edda5819a0] (??:0)
[12] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x400ac41) [0x55edd8e70c41] (??:0)
[13] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x400d4ef) [0x55edd8e734ef] (??:0)
[14] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x213aa6c) [0x55edd6fa0a6c] (??:0)
[15] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x213cc9f) [0x55edd6fa2c9f] (??:0)
[16] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x214e634) [0x55edd6fb4634] (??:0)
[17] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x214e8f4) [0x55edd6fb48f4] (??:0)
[18] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x2171e8b) [0x55edd6fd7e8b] (??:0)
[19] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x54585b1) [0x55edda2be5b1] (??:0)
[20] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x57219fb) [0x55edda5879fb] (??:0)
[21] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x32e367e) [0x55edd814967e] (??:0)
[22] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x204e763) [0x55edd6eb4763] (??:0)
[23] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x204bb6d) [0x55edd6eb1b6d] (??:0)
[24] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x5715798) [0x55edda57b798] (??:0)
[25] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x3332f57) [0x55edd8198f57] (??:0)
[26] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x3333af7) [0x55edd8199af7] (??:0)
[27] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0x33347f8) [0x55edd819a7f8] (??:0)
[28] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0xcddd82) [0x55edd5b43d82] (??:0)
[29] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0xc741a1) [0x55edd5ada1a1] (??:0)
[30] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0xc62e31) [0x55edd5ac8e31] (??:0)
[31] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7f9f4f629d90] (??:0)
[32] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7f9f4f629e40] (??:0)
[33] /home/martin/Documents/git/cardsmithGodotKotlin/godotEngine/godot.linuxbsd.editor.x86_64(+0xc7168e) [0x55edd5ad768e] (??:0)
-- END OF BACKTRACE --
================================================================

Godot-Kotlin-JVM version: 0.7.2-4.1.2

NOTE: I've been working on some adaptations for the godot-kotlin-jvm gradle plugin locally, so this might have lead to some mismatches. But to my understanding, this shouldn't affect the way the Godot editor behaves?

chippmann commented 8 months ago

From the log it seems you did run our binaries with a 4.1.x build of the editor (presumably a prebuilt one from our releases page) but did run it with binaries you built locally for 4.2 is that correct? These versions are incompatible.

MartinHaeusler commented 8 months ago

@chippmann I just checked the editor I'm using to open the project, its "about" dialog says:

Godot Engine v4.1.2.stable.custom_build [399c9dc39]

Seems fine to me? I also never conciously built the editor myself - may have happened as a side effect of editing the gradle plugin, but I can say for sure that this is the stable download from the releases page.

MartinHaeusler commented 8 months ago

@chippmann it just occurred to me that the gradle plugin uses the latest master git hash now (since I've been doing my changes). This means that I need an updated editor as well right?

chippmann commented 8 months ago

Yeah the editor currently released is incompatible with the current master branch (as that one is in preparation for the 4.2 release). You would need to build the editor yourself locally.

MartinHaeusler commented 8 months ago

Ah alright, sorry that was my bad - makes sense of course. Forget I said anything :)

chippmann commented 8 months ago

No worries :-) thx for reporting anyways