godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
88.95k stars 20.17k forks source link

Crash loading big GLTF Model #18620

Closed wolfviking0 closed 4 years ago

wolfviking0 commented 6 years ago

Hi,

I am trying to find the best way to load GLTF model, so far after comparing Unity / Unreal / JMonkey only Godot has a support of blend shape.

I first test loading a basing AnimatedCube from the official Khronos Model repository, everything is fine.

But now I want to try on a bigger model with around 55 blend shape. But each time I try I have a crash of Godot.

I add the stack trace I was able to grab from the console.

Godot version: Godot_v3.0.2-stable_mono_osx64

Issue log:

Bugsquad edit: formatting

Native stacktrace: 0 Godot 0x000000010df39911 mono_handle_native_crash + 257 1 Godot 0x000000010df47cce mono_sigill_signal_handler + 46 2 libsystem_platform.dylib 0x00007fff57aeff5a _sigtramp + 26 3 ??? 0x000000011205da00 0x0 + 4597340672 4 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 5 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 6 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 7 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 8 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 9 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 10 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 11 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 12 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 13 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 14 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 15 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 16 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 17 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 18 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 19 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 20 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 21 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 22 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 23 Godot 0x000000010ee669d0 _ZN23EditorSceneImporterGLTF14_generate_boneERNS_9GLTFStateEiR6VectorIP8SkeletonERKS2_IiEP4Node + 1424 24 Godot 0x000000010ee65f59 _ZN23EditorSceneImporterGLTF14_generate_nodeERNS_9GLTFStateEiP4NodeS3_R6VectorIP8SkeletonE + 1753 25 Godot 0x000000010ee65f8e _ZN23EditorSceneImporterGLTF14_generate_nodeERNS_9GLTFStateEiP4NodeS3_R6VectorIP8SkeletonE + 1806 26 Godot 0x000000010ee65f8e _ZN23EditorSceneImporterGLTF14_generate_nodeERNS_9GLTFStateEiP4NodeS3_R6VectorIP8SkeletonE + 1806 27 Godot 0x000000010ee65f8e _ZN23EditorSceneImporterGLTF14_generate_nodeERNS_9GLTFStateEiP4NodeS3_R6VectorIP8SkeletonE + 1806 28 Godot 0x000000010ee65f8e _ZN23EditorSceneImporterGLTF14_generate_nodeERNS_9GLTFStateEiP4NodeS3_R6VectorIP8SkeletonE + 1806 29 Godot 0x000000010ee6b121 _ZN23EditorSceneImporterGLTF15_generate_sceneERNS_9GLTFStateEi + 961 30 Godot 0x000000010ee6bdc7 _ZN23EditorSceneImporterGLTF12import_sceneERK6StringjiP4ListIS0_16DefaultAllocatorEP5Error + 1495 31 Godot 0x000000010ee93f02 _ZN21ResourceImporterScene6importERK6StringS2_RK3MapI10StringName7Variant10ComparatorIS4_E16DefaultAllocatorEP4ListIS0_S8_ESE_ + 2226 32 Godot 0x000000010ead3d44 _ZN16EditorFileSystem14_reimport_fileERK6String + 2628 33 Godot 0x000000010eaccdf2 _ZN16EditorFileSystem14reimport_filesERK6VectorI6StringE + 1410 34 Godot 0x000000010eacba20 _ZN16EditorFileSystem20_update_scan_actionsEv + 1936 35 Godot 0x000000010ead0832 _ZN16EditorFileSystem13_notificationEi + 802 36 Godot 0x000000010ead8edc _ZN16EditorFileSystem14_notificationvEib + 76 37 Godot 0x000000010fe79426 _ZN6Object12notificationEib + 22 38 Godot 0x000000010f199059 _ZN9SceneTree19_notify_group_pauseERK10StringNamei + 473 39 Godot 0x000000010f19951a _ZN9SceneTree4idleEf + 394 40 Godot 0x000000010e129db6 _ZN4Main9iterationEv + 870 41 Godot 0x000000010e105542 _ZN6OS_OSX3runEv + 402 42 Godot 0x000000010e1083c2 main + 866 43 libdyld.dylib 0x00007fff5786e115 start + 1
Debug info from gdb: ``` (lldb) command source -s 0 '/tmp/mono-gdb-commands.u2Fur4' Executing commands in '/tmp/mono-gdb-commands.u2Fur4'. (lldb) process attach --pid 40945 Traceback (most recent call last): File "", line 1, in File "/usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/copy.py", line 52, in import weakref File "/usr/local/Cellar/python@2/2.7.14_3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/weakref.py", line 14, in from _weakref import ( ImportError: cannot import name _remove_dead_weakref error: libmonosgen-2.0.a(libmini_la-mini-exceptions.o) failed to load objfile for /Library/Frameworks/Mono.framework/Versions/Current/lib/libmonosgen-2.0.a error: libmonosgen-2.0.a(libmini_la-mini-runtime.o) failed to load objfile for /Library/Frameworks/Mono.framework/Versions/Current/lib/libmonosgen-2.0.a Process 40945 stopped * thread #1, name = 'tid_307', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP frame #0: 0x00007fff579be502 libsystem_kernel.dylib`__wait4 + 10 libsystem_kernel.dylib`__wait4: -> 0x7fff579be502 <+10>: jae 0x7fff579be50c ; <+20> 0x7fff579be504 <+12>: movq %rax, %rdi 0x7fff579be507 <+15>: jmp 0x7fff579b50dd ; cerror 0x7fff579be50c <+20>: retq Target 0: (Godot) stopped. Executable module set to "/Applications/Godot_v3.0.2-stable_mono_osx64.app/Contents/MacOS/Godot". Architecture set to: x86_64-apple-macosx. (lldb) thread list error: libmonosgen-2.0.a(libmonosgen_la-sgen-thread-pool.o) failed to load objfile for /Library/Frameworks/Mono.framework/Versions/Current/lib/libmonosgen-2.0.a error: libmonosgen-2.0.a(libmonoruntimesgen_la-gc.o) failed to load objfile for /Library/Frameworks/Mono.framework/Versions/Current/lib/libmonosgen-2.0.a error: libmonosgen-2.0.a(libmonoruntimesgen_la-threads.o) failed to load objfile for /Library/Frameworks/Mono.framework/Versions/Current/lib/libmonosgen-2.0.a Process 40945 stopped * thread #1: tid = 0xdb06ca, 0x00007fff579be502 libsystem_kernel.dylib`__wait4 + 10, name = 'tid_307', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP thread #2: tid = 0xdb06f6, 0x00007fff579bf41a libsystem_kernel.dylib`read + 10 thread #3: tid = 0xdb0701, 0x00007fff579bf41a libsystem_kernel.dylib`read + 10 thread #4: tid = 0xdb0708, 0x00007fff579b47c2 libsystem_kernel.dylib`mach_msg_trap + 10, name = 'com.apple.audio.IOThread.client' thread #5: tid = 0xdb0734, 0x00007fff579bdcee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'SGen worker' thread #6: tid = 0xdb0735, 0x00007fff579bdcee libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'SGen worker' thread #7: tid = 0xdb0736, 0x00007fff579b47fe libsystem_kernel.dylib`semaphore_wait_trap + 10, name = 'Finalizer' thread #8: tid = 0xdb07a2, 0x00007fff579be05a libsystem_kernel.dylib`__semwait_signal + 10 thread #9: tid = 0xdb07a5, 0x00007fff579bf41a libsystem_kernel.dylib`read + 10 thread #10: tid = 0xdb07a6, 0x00007fff579be05a libsystem_kernel.dylib`__semwait_signal + 10 thread #11: tid = 0xdb07ba, 0x00007fff579b47c2 libsystem_kernel.dylib`mach_msg_trap + 10, name = 'com.apple.NSEventThread' thread #12: tid = 0xdb1f30, 0x00007fff579be562 libsystem_kernel.dylib`__workq_kernreturn + 10 (lldb) thread backtrace all * thread #1, name = 'tid_307', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP * frame #0: 0x00007fff579be502 libsystem_kernel.dylib`__wait4 + 10 frame #1: 0x000000010df3999e Godot`mono_handle_native_crash + 398 frame #2: 0x000000010df47cce Godot`mono_sigill_signal_handler + 46 frame #3: 0x00007fff57aeff5a libsystem_platform.dylib`_sigtramp + 26 frame #4: 0x000000010ee6717a Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 3386 frame #5: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #6: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #7: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #8: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #9: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #10: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #11: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #12: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #13: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #14: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #15: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #16: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #17: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #18: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #19: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #20: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #21: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #22: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #23: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #24: 0x000000010ee669d0 Godot`EditorSceneImporterGLTF::_generate_bone(EditorSceneImporterGLTF::GLTFState&, int, Vector&, Vector const&, Node*) + 1424 frame #25: 0x000000010ee65f59 Godot`EditorSceneImporterGLTF::_generate_node(EditorSceneImporterGLTF::GLTFState&, int, Node*, Node*, Vector&) + 1753 frame #26: 0x000000010ee65f8e Godot`EditorSceneImporterGLTF::_generate_node(EditorSceneImporterGLTF::GLTFState&, int, Node*, Node*, Vector&) + 1806 frame #27: 0x000000010ee65f8e Godot`EditorSceneImporterGLTF::_generate_node(EditorSceneImporterGLTF::GLTFState&, int, Node*, Node*, Vector&) + 1806 frame #28: 0x000000010ee65f8e Godot`EditorSceneImporterGLTF::_generate_node(EditorSceneImporterGLTF::GLTFState&, int, Node*, Node*, Vector&) + 1806 frame #29: 0x000000010ee65f8e Godot`EditorSceneImporterGLTF::_generate_node(EditorSceneImporterGLTF::GLTFState&, int, Node*, Node*, Vector&) + 1806 frame #30: 0x000000010ee6b121 Godot`EditorSceneImporterGLTF::_generate_scene(EditorSceneImporterGLTF::GLTFState&, int) + 961 frame #31: 0x000000010ee6bdc7 Godot`EditorSceneImporterGLTF::import_scene(String const&, unsigned int, int, List*, Error*) + 1495 frame #32: 0x000000010ee93f02 Godot`ResourceImporterScene::import(String const&, String const&, Map, DefaultAllocator> const&, List*, List*) + 2226 frame #33: 0x000000010ead3d44 Godot`EditorFileSystem::_reimport_file(String const&) + 2628 frame #34: 0x000000010eaccdf2 Godot`EditorFileSystem::reimport_files(Vector const&) + 1410 frame #35: 0x000000010eacba20 Godot`EditorFileSystem::_update_scan_actions() + 1936 frame #36: 0x000000010ead0832 Godot`EditorFileSystem::_notification(int) + 802 frame #37: 0x000000010ead8edc Godot`EditorFileSystem::_notificationv(int, bool) + 76 frame #38: 0x000000010fe79426 Godot`Object::notification(int, bool) + 22 frame #39: 0x000000010f199059 Godot`SceneTree::_notify_group_pause(StringName const&, int) + 473 frame #40: 0x000000010f19951a Godot`SceneTree::idle(float) + 394 frame #41: 0x000000010e129db6 Godot`Main::iteration() + 870 frame #42: 0x000000010e105542 Godot`OS_OSX::run() + 402 frame #43: 0x000000010e1083c2 Godot`main + 866 frame #44: 0x00007fff5786e115 libdyld.dylib`start + 1 frame #45: 0x00007fff5786e115 libdyld.dylib`start + 1 thread #2 frame #0: 0x00007fff579bf41a libsystem_kernel.dylib`read + 10 frame #1: 0x000000010e108549 Godot`SemaphoreOSX::wait() + 25 frame #2: 0x000000011005755c Godot`_IP_ResolverPrivate::_thread_function(void*) + 60 frame #3: 0x000000010e8a0966 Godot`ThreadPosix::thread_callback(void*) + 54 frame #4: 0x00007fff57af96c1 libsystem_pthread.dylib`_pthread_body + 340 frame #5: 0x00007fff57af956d libsystem_pthread.dylib`_pthread_start + 377 frame #6: 0x00007fff57af8c5d libsystem_pthread.dylib`thread_start + 13 thread #3 frame #0: 0x00007fff579bf41a libsystem_kernel.dylib`read + 10 frame #1: 0x000000010e108549 Godot`SemaphoreOSX::wait() + 25 frame #2: 0x000000010fcf61ad Godot`VisualServerScene::_gi_probe_bake_thread() + 29 frame #3: 0x000000010e8a0966 Godot`ThreadPosix::thread_callback(void*) + 54 frame #4: 0x00007fff57af96c1 libsystem_pthread.dylib`_pthread_body + 340 frame #5: 0x00007fff57af956d libsystem_pthread.dylib`_pthread_start + 377 frame #6: 0x00007fff57af8c5d libsystem_pthread.dylib`thread_start + 13 thread #4, name = 'com.apple.audio.IOThread.client' frame #0: 0x00007fff579b47c2 libsystem_kernel.dylib`mach_msg_trap + 10 frame #1: 0x00007fff579b3cdc libsystem_kernel.dylib`mach_msg + 60 frame #2: 0x00007fff2f92095a CoreAudio`HALB_MachPort::SendMessageWithReply(unsigned int, unsigned int, unsigned int, unsigned int, mach_msg_header_t*, bool, unsigned int) + 124 frame #3: 0x00007fff2f9208cd CoreAudio`HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int) + 45 frame #4: 0x00007fff2f91d939 CoreAudio`HALC_ProxyIOContext::IOWorkLoop() + 977 frame #5: 0x00007fff2f91d39c CoreAudio`HALC_ProxyIOContext::IOThreadEntry(void*) + 128 frame #6: 0x00007fff2f91d0de CoreAudio`HALB_IOThread::Entry(void*) + 72 frame #7: 0x00007fff57af96c1 libsystem_pthread.dylib`_pthread_body + 340 frame #8: 0x00007fff57af956d libsystem_pthread.dylib`_pthread_start + 377 frame #9: 0x00007fff57af8c5d libsystem_pthread.dylib`thread_start + 13 thread #5, name = 'SGen worker' frame #0: 0x00007fff579bdcee libsystem_kernel.dylib`__psynch_cvwait + 10 frame #1: 0x00007fff57afa662 libsystem_pthread.dylib`_pthread_cond_wait + 732 frame #2: 0x000000010e0cf62f Godot`thread_func + 687 frame #3: 0x00007fff57af96c1 libsystem_pthread.dylib`_pthread_body + 340 frame #4: 0x00007fff57af956d libsystem_pthread.dylib`_pthread_start + 377 frame #5: 0x00007fff57af8c5d libsystem_pthread.dylib`thread_start + 13 thread #6, name = 'SGen worker' frame #0: 0x00007fff579bdcee libsystem_kernel.dylib`__psynch_cvwait + 10 frame #1: 0x00007fff57afa662 libsystem_pthread.dylib`_pthread_cond_wait + 732 frame #2: 0x000000010e0cf612 Godot`thread_func + 658 frame #3: 0x00007fff57af96c1 libsystem_pthread.dylib`_pthread_body + 340 frame #4: 0x00007fff57af956d libsystem_pthread.dylib`_pthread_start + 377 frame #5: 0x00007fff57af8c5d libsystem_pthread.dylib`thread_start + 13 thread #7, name = 'Finalizer' frame #0: 0x00007fff579b47fe libsystem_kernel.dylib`semaphore_wait_trap + 10 frame #1: 0x000000010dfb1065 Godot`finalizer_thread + 293 frame #2: 0x000000010e061833 Godot`start_wrapper + 675 frame #3: 0x00007fff57af96c1 libsystem_pthread.dylib`_pthread_body + 340 frame #4: 0x00007fff57af956d libsystem_pthread.dylib`_pthread_start + 377 frame #5: 0x00007fff57af8c5d libsystem_pthread.dylib`thread_start + 13 thread #8 frame #0: 0x00007fff579be05a libsystem_kernel.dylib`__semwait_signal + 10 frame #1: 0x00007fff5793975c libsystem_c.dylib`nanosleep + 199 frame #2: 0x000000010e89952b Godot`OS_Unix::delay_usec(unsigned int) const + 59 frame #3: 0x000000010e94ddd5 Godot`EditorExportAndroid::_device_poll_thread(void*) + 8901 frame #4: 0x000000010e8a0966 Godot`ThreadPosix::thread_callback(void*) + 54 frame #5: 0x00007fff57af96c1 libsystem_pthread.dylib`_pthread_body + 340 frame #6: 0x00007fff57af956d libsystem_pthread.dylib`_pthread_start + 377 frame #7: 0x00007fff57af8c5d libsystem_pthread.dylib`thread_start + 13 thread #9 frame #0: 0x00007fff579bf41a libsystem_kernel.dylib`read + 10 frame #1: 0x000000010e108549 Godot`SemaphoreOSX::wait() + 25 frame #2: 0x000000010eba44ac Godot`EditorResourcePreview::_thread() + 76 frame #3: 0x000000010e8a0966 Godot`ThreadPosix::thread_callback(void*) + 54 frame #4: 0x00007fff57af96c1 libsystem_pthread.dylib`_pthread_body + 340 frame #5: 0x00007fff57af956d libsystem_pthread.dylib`_pthread_start + 377 frame #6: 0x00007fff57af8c5d libsystem_pthread.dylib`thread_start + 13 thread #10 frame #0: 0x00007fff579be05a libsystem_kernel.dylib`__semwait_signal + 10 frame #1: 0x00007fff5793975c libsystem_c.dylib`nanosleep + 199 frame #2: 0x000000010e89952b Godot`OS_Unix::delay_usec(unsigned int) const + 59 frame #3: 0x000000010ee20584 Godot`EditorFileServer::_thread_start(void*) + 884 frame #4: 0x000000010e8a0966 Godot`ThreadPosix::thread_callback(void*) + 54 frame #5: 0x00007fff57af96c1 libsystem_pthread.dylib`_pthread_body + 340 frame #6: 0x00007fff57af956d libsystem_pthread.dylib`_pthread_start + 377 frame #7: 0x00007fff57af8c5d libsystem_pthread.dylib`thread_start + 13 thread #11, name = 'com.apple.NSEventThread' frame #0: 0x00007fff579b47c2 libsystem_kernel.dylib`mach_msg_trap + 10 frame #1: 0x00007fff579b3cdc libsystem_kernel.dylib`mach_msg + 60 frame #2: 0x00007fff2feb9dc5 CoreFoundation`__CFRunLoopServiceMachPort + 341 frame #3: 0x00007fff2feb9117 CoreFoundation`__CFRunLoopRun + 1783 frame #4: 0x00007fff2feb8787 CoreFoundation`CFRunLoopRunSpecific + 487 frame #5: 0x00007fff2d5ce3c8 AppKit`_NSEventThread + 184 frame #6: 0x00007fff57af96c1 libsystem_pthread.dylib`_pthread_body + 340 frame #7: 0x00007fff57af956d libsystem_pthread.dylib`_pthread_start + 377 frame #8: 0x00007fff57af8c5d libsystem_pthread.dylib`thread_start + 13 thread #12 frame #0: 0x00007fff579be562 libsystem_kernel.dylib`__workq_kernreturn + 10 frame #1: 0x00007fff57af906a libsystem_pthread.dylib`_pthread_wqthread + 1035 frame #2: 0x00007fff57af8c4d libsystem_pthread.dylib`start_wqthread + 13 (lldb) detach ================================================================= Got a SIGILL while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= Process 40945 detached (lldb) quit ```
vnen commented 6 years ago

Does this happen on import or when you load in-game? Also, have you tried in the non-Mono version?

wolfviking0 commented 6 years ago

Hi @vnen, the crash happen during the import. And it happen with both version mono and non-mono.

The same big model is loading fine with the three.js viewer.

wolfviking0 commented 6 years ago

@vnen is it possible to run godot directly from Xcode to breakpoint and try to give you more information about the crash ?

vnen commented 6 years ago

@wolfviking0 yes, it's possible. You need to set up the command line arguments to run the editor directly and not the project manager. There's a doc page about configuring Xcode, though I'm not sure if it's up to date: http://docs.godotengine.org/en/latest/development/cpp/configuring_an_ide.html#xcode

wolfviking0 commented 6 years ago

@vnen I was able to configure the project to start with Xcode and breakpoint, unfortunately the loading of the path directly do not seem to work for me, any suggestion ?

Console: arguments 0: /Users/anthony.liot/Desktop/engine/godot/bin/godot.osx.tools.64 1: --path 2: /Users/anthony.liot/Desktop/github/aliot/gltfloader/godot/BasicGLTF 3: --editor 4: -NSDocumentRevisionsDebugMode 5: YES Current path: / 2018-05-07 11:45:59.078545-0700 godot.osx.tools.64[23775:16434992] MessageTracer: Falling back to default whitelist OpenGL ES 3.0 Renderer: AMD Radeon HD - FirePro D500 OpenGL Engine 2018-05-07 11:46:06.103666-0700 godot.osx.tools.64[23775:16434992] ERROR: load_interactive: Condition ' err != OK ' is true. returned: Ref() At: scene/resources/scene_format_text.cpp:1225. ERROR: load_interactive: Condition ' err != OK ' is true. returned: Ref()  At: scene/resources/scene_format_text.cpp:1225. 2018-05-07 11:46:06.104178-0700 godot.osx.tools.64[23775:16434992] ERROR: _load: Failed loading resource: res:/Users/anthony.liot/Library/Application Support/Godot/editor_settings-3.tres At: core/io/resource_loader.cpp:186. ERROR: _load: Failed loading resource: res:/Users/anthony.liot/Library/Application Support/Godot/editor_settings-3.tres  At: core/io/resource_loader.cpp:186. 2018-05-07 11:46:06.104209-0700 godot.osx.tools.64[23775:16434992] WARNING: create: Could not open config file. At: editor/editor_settings.cpp:855. WARNING: create: Could not open config file.  At: editor/editor_settings.cpp:855.
vnen commented 6 years ago

@wolfviking0 looks like it can't find nor create the config file. I'm not sure why this is a problem but you can try to put a blank file called ._sc_ in the same directory as the executable which will the run in self-contained mode (it will create settings and needed files in the same directory).

wolfviking0 commented 6 years ago

@vnen I can see the issue of the loading the config file is gone, but still Godot is not launching directly the project using --path.

wolfviking0 commented 6 years ago

@vnen, finally here more information I was able to catch, the crash happen in the line 1743 of the file editor_scene_importer_gltf.cpp

The p_parent_bones size is 3, but the index request is 3 too. So the operator [] crash of course.

I am not sure why it's happening in Godot, as I say before this model load fine with three.js.

vnen commented 6 years ago

I don't know about glTF, but maybe it could be fixed by checking the actual size of vector in the condition: https://github.com/godotengine/godot/blob/c32b24da70ebf345a2c6aa4092ee7b96c1a2a6ac/editor/import/editor_scene_importer_gltf.cpp#L1742-L1744

wolfviking0 commented 6 years ago

@vnen right if I add something like, if (i >= 0 && i< p_parent_bones.size()) { s->set_bone_parent(bone_index, p_parent_bones[i]); }

Godot it's not crashing anymore, but the model is incorrect, is missing one big part (The head ...)

wolfviking0 commented 6 years ago

@vnen I wanted to try another model a little bit simpler, but with a similar structure, I try to load this model https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/CesiumMan And it seems the animation is not working, it seems the mesh is not attached properly to the squeleton. It the same issue with other gltf model with squeleton.

fire commented 6 years ago

There have been improvements to GLTF2 loading. Please try your test models.

Calinou commented 4 years ago

@wolfviking0 Can you still reproduce this on 3.2 beta4?

fire commented 4 years ago

Can we close this bug after two weeks?

akien-mga commented 4 years ago

Yes. Please comment if you can still reproduce the issue, and share the affected model.