vircadia / vircadia-native-core

Vircadia open source agent-based metaverse ecosystem.
https://vircadia.com/
Other
533 stars 175 forks source link

Vircadia consistently crashes upon loading some avatars #1380

Open ksuprynowicz opened 2 years ago

ksuprynowicz commented 2 years ago

To replicate try loading this avatar: http://oaktown.pl/golden_dragon_2/golden_dragon_crash.fbx

Crash with following message occurs:

[10/02 14:38:19] [DEBUG] [hifi.scriptengine] [controllerScripts.js] avatar loaded
interface: /home/ksuprynowicz/Vircadia/vcpkg/139a2bcd/buildtrees/bullet3/src/392524cc77-dc9ca24e83/src/LinearMath/btVector3.h:305: btVector3& btVector3::normalize(): Assertion `!fuzzyZero()' failed.

Here's the backtrace:

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007fffef4d3537 in __GI_abort () at abort.c:79
#2  0x00007fffef4d340f in __assert_fail_base
    (fmt=0x7fffef63c128 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5555563094bb "!fuzzyZero()", file=0x555556309448 "/home/ksuprynowicz/Vircadia/vcpkg/139a2bcd/buildtrees/bullet3/src/392524cc77-dc9ca24e83/src/LinearMath/btVector3.h", line=305, function=<optimized out>) at assert.c:92
#3  0x00007fffef4e2662 in __GI___assert_fail
    (assertion=0x5555563094bb "!fuzzyZero()", file=0x555556309448 "/home/ksuprynowicz/Vircadia/vcpkg/139a2bcd/buildtrees/bullet3/src/392524cc77-dc9ca24e83/src/LinearMath/btVector3.h", line=305, function=0x555556309420 "btVector3& btVector3::normalize()") at assert.c:101
#4  0x00005555561463ee in btVector3::normalize() (this=0x7fffffff7cc0) at /home/ksuprynowicz/Vircadia/vcpkg/139a2bcd/buildtrees/bullet3/src/392524cc77-dc9ca24e83/src/LinearMath/btVector3.h:305
#5  0x00007ffff73177f1 in btSingleRayCallback::btSingleRayCallback(btVector3 const&, btVector3 const&, btCollisionWorld const*, btCollisionWorld::RayResultCallback&)
    (this=0x7fffffff7d10, rayFromWorld=..., rayToWorld=..., world=0x55556bad3fe0, resultCallback=warning: RTTI symbol not found for class 'MyCharacterController::initRayShotgun(btCollisionWorld const*)::MeOnlyResultCallback'
...)
    at /home/ksuprynowicz/Vircadia/vcpkg/139a2bcd/buildtrees/bullet3/src/392524cc77-dc9ca24e83/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp:939
#6  0x00007ffff731372c in btCollisionWorld::rayTest(btVector3 const&, btVector3 const&, btCollisionWorld::RayResultCallback&) const (this=0x55556bad3fe0, rayFromWorld=..., rayToWorld=..., resultCallback=warning: RTTI symbol not found for class 'MyCharacterController::initRayShotgun(btCollisionWorld const*)::MeOnlyResultCallback'
...)
    at /home/ksuprynowicz/Vircadia/vcpkg/139a2bcd/buildtrees/bullet3/src/392524cc77-dc9ca24e83/src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp:994
#7  0x0000555555de0f8a in MyCharacterController::initRayShotgun(btCollisionWorld const*) (this=0x5555592f1a98, world=0x55556bad3fe0) at /home/ksuprynowicz/Vircadia/source/interface/src/avatar/MyCharacterController.cpp:322
#8  0x0000555555ddf188 in MyCharacterController::addToWorld() (this=0x5555592f1a98) at /home/ksuprynowicz/Vircadia/source/interface/src/avatar/MyCharacterController.cpp:44
#9  0x00007ffff7253a0e in CharacterController::preSimulation() (this=0x5555592f1a98) at /home/ksuprynowicz/Vircadia/source/libraries/physics/src/CharacterController.cpp:1078
#10 0x0000555555b7fffa in Application::update(float) (this=0x7fffffffa820, deltaTime=0.0464776829) at /home/ksuprynowicz/Vircadia/source/interface/src/Application.cpp:6625
#11 0x0000555555b755a1 in Application::idle() (this=0x7fffffffa820) at /home/ksuprynowicz/Vircadia/source/interface/src/Application.cpp:5375
#12 0x0000555555b70c56 in Application::event(QEvent*) (this=0x7fffffffa820, event=0x7ffcc08ab1d0) at /home/ksuprynowicz/Vircadia/source/interface/src/Application.cpp:4310
#13 0x00007ffff4c9815f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7fffffffa820, e=0x7ffcc08ab1d0) at kernel/qapplication.cpp:3632
#14 0x0000555555b70a4c in Application::notify(QObject*, QEvent*) (this=0x7fffffffa820, object=0x7fffffffa820, event=0x7ffcc08ab1d0) at /home/ksuprynowicz/Vircadia/source/interface/src/Application.cpp:4280
#15 0x00007ffff3ac8fca in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7fffffffa820, event=0x7ffcc08ab1d0) at kernel/qcoreapplication.cpp:1063
#16 0x00007ffff3acba01 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x5555566066d0) at kernel/qcoreapplication.cpp:1817
#17 0x00007ffff3b20e93 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x555556d994a0) at kernel/qeventdispatcher_glib.cpp:277
#18 0x00007fffee6a285b in g_main_dispatch (context=0x555556bdcbf0) at ../../../glib/gmain.c:3337
#19 g_main_context_dispatch (context=0x555556bdcbf0) at ../../../glib/gmain.c:4055
#20 0x00007fffee6a2b08 in g_main_context_iterate (context=context@entry=0x555556bdcbf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4131
#21 0x00007fffee6a2bbf in g_main_context_iteration (context=0x555556bdcbf0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4196
#22 0x00007ffff3b2051f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555556d91420, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#23 0x00007ffff3ac798b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffa770, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#24 0x00007ffff3acfc00 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#25 0x0000555555e67e7f in main(int, char const**) (argc=1, argv=0x7fffffffde48) at /home/ksuprynowicz/Vircadia/source/interface/src/main.cpp:448
ksuprynowicz commented 2 years ago

Here's the simplified avatar, which also causes same crash: http://oaktown.pl/golden_dragon_2/golden_dragon_crash.fbx

Basinsky commented 2 years ago

Did you pack the textures? when I open it in Blender its purple. It looks for SCADA_1_colors.png in the material and could not find it.

Basinsky commented 2 years ago

I also see there is no weightpainting on the mesh

ksuprynowicz commented 2 years ago

Thanks! It turns out vertex groups were named wrong. The interesting thing about it is that when the model was exported as GLB, it was handeld gracefully - it was stuck in T-pose. For FBX it totally crashes the Interface.

stale[bot] commented 2 years ago

Hello! Is this still an issue?