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

Godot 3.1 RC2 create_trimesh_collision() and create_convex_collision() lead to instant crash on Android #26976

Closed
Tobi-La opened this issue Mar 12, 2019 · 15 comments

Comments

@Tobi-La
Copy link

Tobi-La commented Mar 12, 2019

Godot version:
3.1 RC2

OS/device including version:
Oukitel K6000 Pro, Android 6.0
Samsung Galaxy J5, Android 7

Issue description:
The methods create_convex_collision() and create_trimesh_collision() of MeshInstance (https://docs.godotengine.org/en/latest/classes/class_meshinstance.html lead to an instant crash on Android.

The last version I tested was 3.1 beta 7, there it worked, so it seems it was introduced in some of the last betas.

I think this is the relevant error description from logcat:

03-12 17:30:47.191 32301 32317 E godot : ERROR: OpenGL ES 2.0 does not allow retrieving mesh array data
03-12 17:30:47.191 32301 32317 E godot : At: drivers/gles2/rasterizer_storage_gles2.cpp:2541:mesh_surface_get_array() - OpenGL ES 2.0 does not allow retrieving mesh array data
03-12 17:30:47.191 32301 32317 E godot : ERROR: Condition ' vertex_data.size() == 0 ' is true. returned: Array()
03-12 17:30:47.191 32301 32317 E godot : At: servers/visual_server.cpp:1606:mesh_surface_get_arrays() - Condition ' vertex_data.size() == 0 ' is true. returned: Array()
03-12 17:30:47.191 32301 32317 E godot : ERROR: FATAL: Index p_index=0 out of size (((Vector *)(this))->_cowdata.size()=0)
03-12 17:30:47.191 32301 32317 E godot : At: ./core/vector.h:49:operator - FATAL: Index p_index=0 out of size (((Vector *)(this))->_cowdata.size()=0)
03-12 17:30:47.277 32343 32343 I AEE/AED : #00 pc 000000000164c5d8 /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.277 32343 32343 I AEE/AED : #1 pc 00000000010946ac /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.277 32343 32343 I AEE/AED : #2 pc 0000000000c1270c /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.277 32343 32343 I AEE/AED : #3 pc 0000000000c12854 /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.277 32343 32343 I AEE/AED : #4 pc 000000000034c1e4 /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.277 32343 32343 I AEE/AED : #5 pc 00000000016ce8b8 /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.277 32343 32343 I AEE/AED : #6 pc 0000000001781c80 /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.278 32343 32343 I AEE/AED : #7 pc 000000000028d6e0 /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.278 32343 32343 I AEE/AED : #8 pc 000000000024a738 /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.278 32343 32343 I AEE/AED : #9 pc 00000000008b58fc /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.278 32343 32343 I AEE/AED : #10 pc 0000000000bdd92c /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.278 32343 32343 I AEE/AED : #11 pc 0000000000c15654 /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.278 32343 32343 I AEE/AED : #12 pc 00000000016cb16c /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.278 32343 32343 I AEE/AED : #13 pc 00000000008b72dc /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.278 32343 32343 I AEE/AED : #14 pc 00000000008b726c /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.278 32343 32343 I AEE/AED : #15 pc 00000000008b726c /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.278 32343 32343 I AEE/AED : #16 pc 00000000008bc6a0 /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.278 32343 32343 I AEE/AED : #17 pc 00000000008e97b8 /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so
03-12 17:30:47.278 32343 32343 I AEE/AED : #18 pc 00000000001a5a84 /data/app/com.example.crashTest-1/lib/arm64/libgodot_android.so (Java_org_godotengine_godot_GodotLib_step+80)
03-12 17:30:47.278 32343 32343 I AEE/AED : #19 pc 000000000027d0a8 /data/app/com.example.crashTest-1/oat/arm64/base.odex (offset 0x147000) (void org.godotengine.godot.GodotLib.step()+124)
03-12 17:30:47.279 32343 32343 I AEE/AED : #20 pc 0000000000281f80 /data/app/com.example.crashTest-1/oat/arm64/base.odex (offset 0x147000) (void org.godotengine.godot.GodotView$Renderer.onDrawFrame(javax.microedition.khronos.opengles.GL10)+84)
03-12 17:30:47.594 942 32344 W ActivityManager: Force finishing activity com.example.crashTest/org.godotengine.godot.Godot
03-12 17:30:47.649 942 959 V WindowManager: Changing focus from Window{e32c239 u0 com.example.crashTest/org.godotengine.godot.Godot} to Window{3be8bb7 u0 Application Error: com.example.crashTest} Callers=com.android.server.wm.WindowManagerService.addWindow:2821 com.android.server.wm.Session.addToDisplay:171 android.view.ViewRootImpl.setView:647 android.view.WindowManagerGlobal.addView:319
03-12 17:30:47.649 942 963 I WindowManager: Focus moving from Window{e32c239 u0 com.example.crashTest/org.godotengine.godot.Godot} to Window{3be8bb7 u0 Application Error: com.example.crashTest}
03-12 17:30:47.703 942 963 I WindowManager: Losing delayed focus: Window{e32c239 u0 com.example.crashTest/org.godotengine.godot.Godot}
03-12 17:30:47.714 268 970 I BufferQueueProducer: com.example.crashTest/org.godotengine.godot.Godot disconnect(P): api 1
03-12 17:30:47.715 268 970 I BufferQueueConsumer: com.example.crashTest/org.godotengine.godot.Godot getReleasedBuffers: returning mask 0xffffffffffffffff
03-12 17:30:47.717 942 1815 I WindowState: WIN DEATH: Window{e32c239 u0 com.example.crashTest/org.godotengine.godot.Godot}
03-12 17:30:47.777 942 1678 V WindowManager: Removing focused app token:AppWindowToken{edbb8cd token=Token{df0be64 ActivityRecord{97c8ff7 u0 com.example.crashTest/org.godotengine.godot.Godot t148}}}
03-12 17:30:47.837 268 268 I BufferQueueConsumer: com.example.crashTest/org.godotengine.godot.Godot setDefaultBufferSize: width=1080 height=1920
03-12 17:30:47.838 942 1678 W WindowState: Failed to report 'resized' to the client of Window{e32c239 u0 com.example.crashTest/org.godotengine.godot.Godot}, removing this window.
03-12 17:30:47.841 268 384 D SurfaceFlinger: remove: com.example.crashTest/org.godotengine.godot.Godot
03-12 17:30:47.855 268 268 I BufferQueueConsumer: com.example.crashTest/org.godotengine.godot.Godot disconnect(C)
03-12 17:30:47.857 268 268 I BufferQueue: com.example.crashTest/org.godotengine.godot.Godot ~BufferQueueCore

Steps to reproduce:

  • Create a new project
  • Add a MeshInstance Object to the tree
  • Execute create_convex_collision() or create_trimesh_collision()

Minimal reproduction project:

AndroidCrash.zip

@akien-mga
Copy link
Member

Might be a regression from #26455 if it worked in beta 7. If so beta 10 should the first version where it starts crashing.

@akien-mga
Copy link
Member

I can reproduce on Samsung Galaxy S4. Here's the output from a target=debug build:

03-12 17:56:56.442 12892 12916 E godot   : **ERROR**: OpenGL ES 2.0 does not allow retrieving mesh array data
03-12 17:56:56.442 12892 12916 E godot   :    At: drivers/gles2/rasterizer_storage_gles2.cpp:2560:mesh_surface_get_array() - OpenGL ES 2.0 does not allow retrieving mesh array data
03-12 17:56:56.442 12892 12916 E godot   : **ERROR**: Condition ' vertex_data.size() == 0 ' is true. returned: Array()
03-12 17:56:56.442 12892 12916 E godot   :    At: servers/visual_server.cpp:1606:mesh_surface_get_arrays() - Condition ' vertex_data.size() == 0 ' is true. returned: Array()
03-12 17:56:56.443 12892 12916 E godot   : **ERROR**: FATAL: Index p_index=0 out of size (((Vector<T> *)(this))->_cowdata.size()=0)
03-12 17:56:56.443 12892 12916 E godot   :    At: ./core/vector.h:49:operator[]() - FATAL: Index p_index=0 out of size (((Vector<T> *)(this))->_cowdata.size()=0)
03-12 17:56:56.444 12892 12916 F libc    : Fatal signal 4 (SIGILL), code 1, fault addr 0x4f789804 in tid 12916 (GLThread 440)
03-12 17:56:56.447  1946  1946 W         : debuggerd: handling request: pid=12892 uid=10154 gid=10154 tid=12916
03-12 17:56:56.543 12930 12930 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-12 17:56:56.543 12930 12930 F DEBUG   : LineageOS Version: '14.1-20181117-NIGHTLY-i9300'
03-12 17:56:56.543 12930 12930 F DEBUG   : Build fingerprint: 'samsung/m0xx/m0:4.3/JSS15J/I9300XXUGMJ9:user/release-keys'
03-12 17:56:56.543 12930 12930 F DEBUG   : Revision: '0'
03-12 17:56:56.543 12930 12930 F DEBUG   : ABI: 'arm'
03-12 17:56:56.544 12930 12930 F DEBUG   : pid: 12892, tid: 12916, name: GLThread 440  >>> com.example.crashTest <<<
03-12 17:56:56.544 12930 12930 F DEBUG   : signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x4f789804
03-12 17:56:56.544 12930 12930 F DEBUG   :     r0 518f3a50  r1 3457b9b1  r2 00000001  r3 42610988
03-12 17:56:56.544 12930 12930 F DEBUG   :     r4 6cad7558  r5 00000000  r6 3457b9b1  r7 518f5f58
03-12 17:56:56.544 12930 12930 F DEBUG   :     r8 518f61e8  r9 5b7e4300  sl 5b7e438c  fp 518f3ac8
03-12 17:56:56.544 12930 12930 F DEBUG   :     ip 4260785c  sp 518f3a78  lr 3457b9b1  pc 4f789804  cpsr 600b0010
03-12 17:56:56.810  2374  2485 D LightsService: Excessive delay setting light: 64ms
03-12 17:56:57.043  2374  2398 I art     : Starting a blocking GC Explicit
03-12 17:56:57.191  2017  2159 I AudioFlinger: BUFFER TIMEOUT: remove(4097) from active list on thread 0x413831c0
03-12 17:56:57.224  2374  2398 I art     : Explicit concurrent mark sweep GC freed 40284(2MB) AllocSpace objects, 7(148KB) LOS objects, 33% free, 12MB/19MB, paused 2.254ms total 179.488ms
03-12 17:56:57.682 12930 12930 F DEBUG   : 
03-12 17:56:57.682 12930 12930 F DEBUG   : backtrace:
03-12 17:56:57.682 12930 12930 F DEBUG   :     #00 pc 00178804  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN16VectorWriteProxyI7VariantEixEi+280)
03-12 17:56:57.682 12930 12930 F DEBUG   :     #01 pc 01909424  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN5ArrayixEi+36)
03-12 17:56:57.683 12930 12930 F DEBUG   :     #02 pc 012f3b6c  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZNK4Mesh19create_convex_shapeEv+172)
03-12 17:56:57.683 12930 12930 F DEBUG   :     #03 pc 00e0cb40  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN12MeshInstance28create_convex_collision_nodeEv+104)
03-12 17:56:57.683 12930 12930 F DEBUG   :     #04 pc 00e0ccec  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN12MeshInstance23create_convex_collisionEv+40)
03-12 17:56:57.683 12930 12930 F DEBUG   :     #05 pc 0026df8c  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN11MethodBind04callEP6ObjectPPK7VariantiRNS2_9CallErrorE+492)
03-12 17:56:57.683 12930 12930 F DEBUG   :     #06 pc 019a3744  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN6Object4callERK10StringNamePPK7VariantiRNS3_9CallErrorE+1256)
03-12 17:56:57.683 12930 12930 F DEBUG   :     #07 pc 01a5a99c  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN7Variant8call_ptrERK10StringNamePPKS_iPS_RNS_9CallErrorE+384)
03-12 17:56:57.683 12930 12930 F DEBUG   :     #08 pc 001bb304  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN16GDScriptFunction4callEP16GDScriptInstancePPK7VariantiRNS2_9CallErrorEPNS_9CallStateE+35652)
03-12 17:56:57.683 12930 12930 F DEBUG   :     #09 pc 0017a1ac  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN16GDScriptInstance17_ml_call_reversedEP8GDScriptRK10StringNamePPK7Varianti+212)
03-12 17:56:57.683 12930 12930 F DEBUG   :     #10 pc 0017a250  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN16GDScriptInstance24call_multilevel_reversedERK10StringNamePPK7Varianti+104)
03-12 17:56:57.683 12930 12930 F DEBUG   :     #11 pc 00a5c280  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN4Node13_notificationEi+2636)
03-12 17:56:57.683 12930 12930 F DEBUG   :     #12 pc 0014eb84  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN4Node14_notificationvEib+232)
03-12 17:56:57.683 12930 12930 F DEBUG   :     #13 pc 00153134  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN7Spatial14_notificationvEib+80)
03-12 17:56:57.684 12930 12930 F DEBUG   :     #14 pc 00152fc4  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN14VisualInstance14_notificationvEib+80)
03-12 17:56:57.684 12930 12930 F DEBUG   :     #15 pc 00dd24b4  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN16GeometryInstance14_notificationvEib+80)
03-12 17:56:57.684 12930 12930 F DEBUG   :     #16 pc 00e0f644  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN12MeshInstance14_notificationvEib+80)
03-12 17:56:57.684 12930 12930 F DEBUG   :     #17 pc 0199fb50  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN6Object12notificationEib+56)
03-12 17:56:57.684 12930 12930 F DEBUG   :     #18 pc 00a5da80  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN4Node16_propagate_readyEv+248)
03-12 17:56:57.684 12930 12930 F DEBUG   :     #19 pc 00a5da0c  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN4Node16_propagate_readyEv+132)
03-12 17:56:57.684 12930 12930 F DEBUG   :     #20 pc 00a5da0c  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN4Node16_propagate_readyEv+132)
03-12 17:56:57.684 12930 12930 F DEBUG   :     #21 pc 00a62f00  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN4Node9_set_treeEP9SceneTree+152)
03-12 17:56:57.684 12930 12930 F DEBUG   :     #22 pc 00a95508  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN9SceneTree4initEv+56)
03-12 17:56:57.684 12930 12930 F DEBUG   :     #23 pc 00099268  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (_ZN10OS_Android15main_loop_beginEv+60)
03-12 17:56:57.684 12930 12930 F DEBUG   :     #24 pc 000ad298  /data/app/com.example.crashTest-1/lib/arm/libgodot_android.so (Java_org_godotengine_godot_GodotLib_step+148)
03-12 17:56:57.684 12930 12930 F DEBUG   :     #25 pc 001157cd  /data/app/com.example.crashTest-1/oat/arm/base.odex (offset 0x109000)

@Tobi-La
Copy link
Author

Tobi-La commented Mar 12, 2019

Might be a regression from #26455 if it worked in beta 7. If so beta 10 should the first version where it starts crashing.

I tested with both beta 9 and beta 10 and I can confirm this. It works with beta 9 and crashes in beta 10.

@vonflyhighace2
Copy link

I also get errors when using create_convex_static_body. not sure if this is related or not. ERROR: build: Condition ' O == E ' is true. Continuing..: At: core/math/quick_hull.cpp:401 ERROR: build: Condition ' O == E ' is true. Continuing..: At: core/math/quick_hull.cpp:401 ERROR: build: Condition ' O == E ' is true. Continuing..: At: core/math/quick_hull.cpp:401 ERROR: build: Condition ' O == E ' is true. Continuing..: At: core/math/quick_hull.cpp:401 ERROR: build: Condition ' O == __null ' is true. Continuing..:

@issork
Copy link
Contributor

issork commented Apr 2, 2019

I've just experienced the same issue on Windows 10 when using create_convex_collision or create_outline with GLES2 enabled in Godot v3.1.stable.official.

Only happened in the exported project, everything worked fine in the editor.

@akien-mga akien-mga modified the milestones: 3.1, 3.2 Apr 4, 2019
@Tobi-La
Copy link
Author

Tobi-La commented Apr 18, 2019

Is there some progress on this one? I am not able to update Godot further than 3.1 beta 7 because my game needs this functionality.

@vonflyhighace2
Copy link

vonflyhighace2 commented Apr 18, 2019

I'm currently using the 3.2 master builds and this feature seemed to have been dropped. No longer can you use create convex_collision from the editor. You will know have to manually create one using the collisionShape tool. Unless this is just a temporary removal from 3.2 builds?

@Tobi-La
Copy link
Author

Tobi-La commented Apr 18, 2019

Oh, that doesn't sound too good. Do you know something about the methods from MeshInstance I mentioned in the initial post?

@vonflyhighace2
Copy link

@Tobi-La
Copy link
Author

Tobi-La commented May 28, 2019

I'm a little confused, it doesn't say anything about the methods as far as I can see. Is there any update on this? Are the functions going to work again in a future release or are they dropped? What would be a way to work around this if they are dropped?

@qarmin
Copy link
Contributor

qarmin commented Nov 10, 2019

I have crash also on exported Linux project - The-worst-Godot-test-project.zip

[1] ./T.x86_64() [0xf4743e] (/mnt/KubuntuWolne/godot/platform/x11/crash_handler_x11.cpp:54)
[2] /lib/x86_64-linux-gnu/libc.so.6(+0x46470) [0x7f42ac080470] (??:0)
[3] VectorWriteProxy<Variant>::operator[](int) (/mnt/KubuntuWolne/godot/./core/vector.h:49 (discriminator 7))
[4] Array::operator[](int) (/mnt/KubuntuWolne/godot/core/array.cpp:76)
[5] Mesh::generate_triangle_mesh() const (/mnt/KubuntuWolne/godot/scene/resources/mesh.cpp:80 (discriminator 1))
[6] Mesh::get_faces() const (/mnt/KubuntuWolne/godot/scene/resources/mesh.cpp:167)
[7] Mesh::create_trimesh_shape() const (/mnt/KubuntuWolne/godot/scene/resources/mesh.cpp:249)
[8] MeshInstance::create_trimesh_collision_node() (/mnt/KubuntuWolne/godot/scene/3d/mesh_instance.cpp:223)
[9] MeshInstance::create_trimesh_collision() (/mnt/KubuntuWolne/godot/scene/3d/mesh_instance.cpp:235)
[10] MethodBind0::call(Object*, Variant const**, int, Variant::CallError&) (/mnt/KubuntuWolne/godot/./core/method_bind.gen.inc:61 (discriminator 4))
[11] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/mnt/KubuntuWolne/godot/core/object.cpp:921 (discriminator 1))
[12] Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) (/mnt/KubuntuWolne/godot/core/variant_call.cpp:1112 (discriminator 1))
[13] GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) (/mnt/KubuntuWolne/godot/modules/gdscript/gdscript_function.cpp:1085)
[14] GDScriptInstance::call(StringName const&, Variant const**, int, Variant::CallError&) (/mnt/KubuntuWolne/godot/modules/gdscript/gdscript.cpp:1164)
[15] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/mnt/KubuntuWolne/godot/core/object.cpp:900 (discriminator 1))
[16] Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) (/mnt/KubuntuWolne/godot/core/variant_call.cpp:1112 (discriminator 1))
[17] GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) (/mnt/KubuntuWolne/godot/modules/gdscript/gdscript_function.cpp:1085)
[18] GDScriptInstance::call(StringName const&, Variant const**, int, Variant::CallError&) (/mnt/KubuntuWolne/godot/modules/gdscript/gdscript.cpp:1164)
[19] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/mnt/KubuntuWolne/godot/core/object.cpp:900 (discriminator 1))
[20] Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) (/mnt/KubuntuWolne/godot/core/variant_call.cpp:1112 (discriminator 1))
[21] GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) (/mnt/KubuntuWolne/godot/modules/gdscript/gdscript_function.cpp:1085)
[22] GDScriptInstance::call_multilevel(StringName const&, Variant const**, int) (/mnt/KubuntuWolne/godot/modules/gdscript/gdscript.cpp:1180)
[23] Node::_notification(int) (/mnt/KubuntuWolne/godot/scene/main/node.cpp:67)
[24] Node::_notificationv(int, bool) (/mnt/KubuntuWolne/godot/./scene/main/node.h:46 (discriminator 14))
[25] Spatial::_notificationv(int, bool) (/mnt/KubuntuWolne/godot/./scene/3d/spatial.h:54 (discriminator 3))
[26] Object::notification(int, bool) (/mnt/KubuntuWolne/godot/core/object.cpp:933)
[27] SceneTree::_notify_group_pause(StringName const&, int) (/mnt/KubuntuWolne/godot/scene/main/scene_tree.cpp:981)
[28] SceneTree::iteration(float) (/mnt/KubuntuWolne/godot/scene/main/scene_tree.cpp:483 (discriminator 2))
[29] Main::iteration() (/mnt/KubuntuWolne/godot/main/main.cpp:1957)
[30] OS_X11::run() (/mnt/KubuntuWolne/godot/platform/x11/os_x11.cpp:3259)
[31] ./T.x86_64(main+0x367) [0xf3e3ed] (/mnt/KubuntuWolne/godot/platform/x11/godot_x11.cpp:57)
[32] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f42ac0611e3] (??:0)
[33] ./T.x86_64(_start+0x2e) [0xf3dfce] (??:?)

@xix-xeaon
Copy link

xix-xeaon commented Jan 6, 2020

This issue still exists in Godot_v3.2-beta5_x11.64 for GLES2. Everything works in the editor (including running the game normally) but tested exports Linux/X11, Windows Desktop, HTML5 and Android, they all give this error. It is NOT specific to the Android platform.

mesh.create_outline() is also affected by this issue.

@akien-mga akien-mga assigned clayjohn and unassigned hpvb Jan 6, 2020
@lawnjelly
Copy link
Member

This may well be fixed by #34794, which was merged just after beta5, afaik. The original logcat is showing error from reading back geometry, which should now be allowed (although you may still get the error message, I posted a note about this on the PR).

If it still crashes with a nightly build we could do with a new logcat output, from whoever tests it.

@xix-xeaon
Copy link

@lawnjelly It seems I've successfully compiled a custom template for Linux/X11 from master and it appears to be working; the game runs and the collision meshes get generated, but it does give the error:

ERROR: mesh_surface_get_array: OpenGL ES 2.0 does not allow retrieving mesh array data
   At: drivers/gles2/rasterizer_storage_gles2.cpp:2602.

So it appears the error message might be redundant but I have not tested it on a system with Only support for GLES2.

@akien-mga
Copy link
Member

Closing as fixed by #34794.

Regarding the error that is still being printed, it might actually be valid (but no longer causing a crash):

17:18 <Akien> clayjohn: See https://github.com/godotengine/godot/pull/34794#issuecomment-570775004 and https://github.com/godotengine/godot/issues/26976#issuecomment-571201234
17:18 <Akien> Should we just remove that error print?
17:26 <clayjohn> Akien: I dont think so. In GLES3 that function actually retrieves the OpenGl buffer. In GLES2 it just returns the array that was originally passed in. My understanding is that in GLES3 some operations are performed on the buffer, while in GLES2 you can only access the original buffer.
17:26 <clayjohn> That being said, I don't know reduz' intentions with the error message, so I can't say for certain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants