Assertion failed in bulletnifloader
I hit an assert with TR assets. From the stack trace it's triggered by at least meshes/tr/x/tr_act_ind_mark_gorne.nif
and meshes/tr/x/tr_act_ind_mark_bos.nif
.
To reproduce: coc "nedothril region"
, then fly west above the small island.
Game log:
[13:24:42.437 W] NIFFile Warning: Null Root found
[13:24:42.437 W] File: meshes/tr/x/tr_act_ind_mark_gorne.nif
[13:24:42.594 I] Loading cell Nedothril Region (41, -27)
[13:24:42.617 I] Loading cell Nedothril Region (40, -27)
[13:24:42.633 I] Loading cell Wilderness (41, -26)
[13:24:42.635 I] Loading cell Nedothril Region (41, -28)
[13:24:42.642 I] Loading cell Padomaic Ocean Region (42, -27)
[13:24:42.643 I] Loading cell Padomaic Ocean Region (40, -26)
[13:24:42.645 I] Loading cell Nedothril Region (40, -28)
[13:24:42.654 I] Loading cell Wilderness (42, -26)
[13:24:42.655 I] Loading cell Padomaic Ocean Region (42, -28)
[13:24:45.654 I] Playing music/battle/mw battle5.mp3
[13:25:11.537 W] NIFFile Warning: Null Root found
[13:25:11.537 W] File: meshes/tr/x/tr_act_ind_mark_bos.nif
[13:25:12.423 I] Playing music/explore/mx_explore_6.mp3
[13:25:15.071 I] Unloading cell Wilderness (42, -26)
[13:25:15.071 I] Unloading cell Padomaic Ocean Region (42, -27)
[13:25:15.072 I] Unloading cell Padomaic Ocean Region (42, -28)
[13:25:15.080 I] Loading cell Nedothril Region (39, -27)
[13:25:15.085 I] Loading cell Nedothril Region (39, -26)
[13:25:15.086 I] Loading cell Nedothril Region (39, -28)
[13:25:15.497 I] Unloading cell Wilderness (41, -26)
[13:25:15.498 I] Unloading cell Padomaic Ocean Region (40, -26)
[13:25:15.499 I] Unloading cell Nedothril Region (39, -26)
[13:25:15.800 I] Loading cell Nedothril Region (40, -29)
[13:25:15.805 I] Loading cell Nedothril Region (39, -29)
[13:25:15.806 I] Loading cell Nedothril Region (41, -29)
[13:25:15.966 W] NIFFile Warning: Null Root found
[13:25:15.966 W] File: meshes/tr/x/tr_act_ind_mark_gorne.nif
Assertion failed: (r != nullptr), function load, file ../../../components/nifbullet/bulletnifloader.cpp, line 128.
Stack trace
Thread 7 (LWP 122582 of process 5616):
#0 _wait4 () at _wait4.S:4
No locals.
#1 0x00000008015da4ac in __thr_wait4 (pid=7380, status=0x7fffdf5f8078, options=0, rusage=0x0) at /usr/src/lib/libthr/thread/thr_syscalls.c:581
curthread = 0x807417b00
ret = <optimized out>
#2 0x00000000009231dc in crash_catcher (signum=<optimized out>, siginfo=<optimized out>, context=<optimized out>) at ../../../components/crashcatcher/crashcatcher.cpp:300
status = 61533768
fd = {104, 105}
dbg_pid = 7380
#3 0x00000008015d7efe in handle_signal (actp=actp@entry=0x7fffdf5f8480, sig=sig@entry=6, info=info@entry=0x7fffdf5f8870, ucp=ucp@entry=0x7fffdf5f8500) at /usr/src/lib/libthr/thread/thr_sig.c:301
uc2 = {uc_sigmask = {__bits = {0, 0, 63217976, 8}}, uc_mcontext = {mc_onstack = 34421244114, mc_rdi = 34421272083, mc_rsi = 140736940967960, mc_rdx = 1, mc_rcx = 34421244114, mc_r8 = 1, mc_r9 = 4294967296, mc_rax = 0, mc_rbx = 1, mc_rbp = 3, mc_r10 = 13122374624, mc_r11 = 1, mc_r12 = 140736940966543, mc_r13 = 0, mc_r14 = 0, mc_r15 = 1, mc_trapno = 3747578541, mc_fs = 32767, mc_gs = 0, mc_addr = 34608328896, mc_flags = 0, mc_es = 0, mc_ds = 0, mc_err = 2, mc_rip = 4294967295, mc_cs = 140736940967392, mc_rflags = 128, mc_rsp = 5, mc_ss = 140736940968648, mc_len = 140736940968640, mc_fpformat = 497668818440, mc_ownedfp = 0, mc_fpstate = {3, 2612345, 2612347, 6, 206158430240, 140736940967488, 140736940966896, 0, 206158430224, 140736940968720, 140736940968464, 34422956344, 34425203416, 2612337, 140736940967432, 1, 34421244114, 1, 0, 0, 1, 1, 8366514402, 1, 0, 34370205253, 34510848688, 140736940966848, 34421055880, 34421115312, 3059, 34421089260, 140736940966680, 34370341896, 3, 140736940966848, 140736940966816, 34370185509, 140736940966848, 34370341896, 3, 140736940966896, 140736940966864, 34370185509, 140736940966896, 34421055880, 0, 34359738368, 3, 140736940967936, 34421055880, 34421115312, 3059, 34421089260, 140736940966856, 34370341896, 0, 140736940968016, 0, 140736940968104, 0, 34474176680, 140736940966992, 34370203171}, mc_fsbase = 34511141096, mc_gsbase = 140736940968104, mc_xfpustate = 34421123265, mc_xfpustate_len = 165056732, mc_spare = {4075712602, 34474182624, 1, 34370341896}}, uc_link = 0x803a7a188, uc_stack = {ss_sp = 0x7fffdf5f8958, ss_size = 34421123265, ss_flags = 165056732}, uc_flags = 114444256, __spare__ = {8, -547387048, 32767, -219254694}}
curthread = 0x807417b00
in_sigsuspend = 0
cancel_async = <optimized out>
cancel_enable = 1
cancel_point = 0
sigfunc = 0x0
err = <optimized out>
#4 0x00000008015d74bf in thr_sighandler (sig=6, info=0x7fffdf5f8870, _ucp=0x7fffdf5f8500) at /usr/src/lib/libthr/thread/thr_sig.c:246
act = {__sigaction_u = {__sa_handler = 0x923020 <crash_catcher(int, __siginfo*, void*)>, __sa_sigaction = 0x923020 <crash_catcher(int, __siginfo*, void*)>}, sa_flags = 85, sa_mask = {__bits = {2147417823, 4294967295, 4294967295, 4294967295}}}
err = <optimized out>
ucp = <optimized out>
curthread = 0x807417b00
usa = <optimized out>
#5 <signal handler called>
No symbol table info available.
#6 thr_kill () at thr_kill.S:4
No locals.
#7 0x0000000803b17214 in __raise (s=s@entry=6) at /usr/src/lib/libc/gen/raise.c:52
id = 122582
#8 0x0000000803bcc1c9 in abort () at /usr/src/lib/libc/stdlib/abort.c:67
act = {__sigaction_u = {__sa_handler = 0x0, __sa_sigaction = 0x0}, sa_flags = 115, sa_mask = {__bits = {4294967263, 4294967295, 4294967295, 4294967295}}}
#9 0x0000000803afa121 in __assert (func=<optimized out>, file=<optimized out>, line=<optimized out>, failedexpr=<optimized out>) at /usr/src/lib/libc/gen/assert.c:51
No locals.
#10 0x0000000000879a30 in NifBullet::BulletNifLoader::load (this=<optimized out>, nif=...) at ../../../components/nifbullet/bulletnifloader.cpp:128
node = <optimized out>
r = 0x0
i = 1
roots = std::vector of length 1 = {0x88ff8e800}
filename = Python Exception <class 'UnicodeDecodeError'> 'utf-8' codec can't decode byte 0xa0 in position 0: invalid start byte:
numRoots = <optimized out>
isAnimated = <optimized out>
#11 0x00000000007c547f in Resource::BulletShapeManager::getShape (this=this@entry=0x81a52e200, name=...) at ../../../components/resource/bulletshapemanager.cpp:141
loader = {mCompoundShape = std::unique_ptr<btCompoundShape> = 0x0, mStaticMesh = std::unique_ptr<btTriangleMesh> = 0x0, mAvoidStaticMesh = std::unique_ptr<btTriangleMesh> = 0x0, mShape = {_ptr = 0x88f29eb80}}
ext = "nif"
extPos = <optimized out>
normalized = "meshes/tr/x/tr_act_ind_mark_gorne.nif"
shape = {_ptr = 0x0}
obj = {_ptr = 0x0}
#12 0x00000000007c5c92 in Resource::BulletShapeManager::createInstance (this=0x6, this@entry=0x81a52e200, name=<error reading variable: Cannot access memory at address 0x0>) at ../../../components/resource/bulletshapemanager.cpp:206
shape = {_ptr = 0x66}
#13 0x00000000007c5c1d in Resource::BulletShapeManager::cacheInstance (this=0x81a52e200, name=...) at ../../../components/resource/bulletshapemanager.cpp:186
normalized = "meshes/tr/x/tr_act_ind_mark_gorne.nif"
instance = {_ptr = 0x8803b3e20}
#14 0x000000000068cdc3 in MWWorld::PreloadItem::doWork (this=0x81aa5c3c0) at ../../../apps/openmw/mwworld/cellpreloader.cpp:125
animated = <optimized out>
slashpos = <optimized out>
e = <optimized out>
mesh = "meshes\\tr\\x\\tr_act_ind_mark_gorne.nif"
__range2 = std::vector of length 301 = {"meshes\\tr\\x\\tr_act_ind_mark_gorne.nif", "meshes\\o\\Contain_crate_01.NIF", "meshes\\o\\Contain_crate_01.NIF", "meshes\\o\\Contain_crate_01.NIF", "meshes\\o\\Contain_crate_02.NIF", "meshes\\o\\Flora_Willow_Flower_02.nif", "meshes\\o\\Flora_Black_Anther_02.nif", "meshes\\o\\Flora_Black_Anther_02.nif", "meshes\\o\\Flora_Black_Anther_01.nif", "meshes\\o\\Flora_Willow_Flower_02.nif", "meshes\\o\\Flora_chokeweed_01.NIF", "meshes\\f\\Flora_comberry_01.NIF", "meshes\\o\\Flora_gold_kanet_01.NIF", "meshes\\o\\Flora_gold_kanet_02.NIF", "meshes\\o\\Flora_gold_kanet_01.NIF", "meshes\\o\\Flora_Willow_Flower_01.nif", "meshes\\f\\Flora_heather_01.NIF", "meshes\\f\\Flora_heather_01.NIF", "meshes\\o\\Flora_Stoneflower_01.nif", "meshes\\o\\Contain_barrel_01.NIF", "meshes\\o\\Contain_barrel_01.NIF", "meshes\\o\\Contain_barrel_01.NIF", "meshes\\o\\Contain_barrel_01.NIF", "meshes\\o\\Contain_barrel_01.NIF", "meshes\\o\\Contain_barrel_01.NIF", "meshes\\o\\Contain_barrel_01.NIF", "meshes\\f\\furn_shell00.nif", "meshes\\f\\furn_shell00.nif", "meshes\\f\\furn_shell00.nif", "meshes\\f\\furn_shell20.nif", "meshes\\f\\furn_shell20.nif", "meshes\\f\\furn_shell10.nif", "meshes\\f\\furn_shell10.nif", "meshes\\o\\Contain_barrel_01.NIF", "meshes\\o\\Contain_crate_01.NIF", "meshes\\d\\EX_MH_door_02.NIF", "meshes\\d\\EX_MH_door_02.NIF", "meshes\\d\\EX_MH_door_02.NIF", "meshes\\d\\Ex_DE_ship_door.NIF", "meshes\\d\\EX_MH_door_02.NIF", "meshes\\d\\EX_MH_door_02.NIF", "meshes\\d\\Ex_DE_ship_trapdoor.NIF", "meshes\\d\\EX_MH_door_02.NIF", "meshes\\d\\EX_MH_door_02.NIF", "meshes\\d\\EX_MH_door_02.NIF", "meshes\\l\\Light_De_Lantern_09.NIF", "meshes\\l\\Light_De_Lantern_12.NIF", "meshes\\l\\Ex_MH_streetlamp_01.NIF", "meshes\\TR\\x\\tr_ex_ind_tower01.nif", "meshes\\x\\EX_MH_building_02.NIF", "meshes\\TR\\x\\TR_ex_ind_bridge_sect.NIF", "meshes\\TR\\x\\TR_ex_ind_bridge_sect.NIF", "meshes\\TR\\x\\TR_ex_ind_bridge_sect.NIF", "meshes\\TR\\x\\TR_ex_ind_bridge_sect.NIF", "meshes\\TR\\x\\TR_ex_ind_bridge_sect.NIF", "meshes\\TR\\x\\TR_ex_ind_bridge_sect.NIF", "meshes\\TR\\x\\TR_ex_ind_bridge_sect.NIF", "meshes\\TR\\x\\TR_ex_ind_bridge_sect.NIF", "meshes\\TR\\x\\TR_ex_ind_bridge_e_02.NIF", "meshes\\TR\\x\\TR_ex_ind_bridge_p_01.NIF", "meshes\\TR\\x\\TR_ex_ind_bridge_p_01.NIF", "meshes\\TR\\x\\TR_ex_ind_bridge_stair.nif", "meshes\\TR\\x\\TR_ex_ind_bridge_e_01.NIF", "meshes\\x\\Ex_MH_Lantern_Post.NIF", "meshes\\x\\Ex_MH_doorjamb_03.NIF", "meshes\\x\\Ex_MH_doorjamb_03.NIF", "meshes\\x\\EX_MH_doorjamb_02.NIF", "meshes\\x\\Ex_MH_doorjamb_03.NIF", "meshes\\x\\Ex_MH_doorjamb_03.NIF", "meshes\\TR\\x\\TR_ex_ind_Balcony.NIF", "meshes\\TR\\x\\TR_ex_ind_Balcony.NIF", "meshes\\x\\Ex_MH_doorjamb_03.NIF", "meshes\\x\\Ex_MH_doorjamb_03.NIF", "meshes\\x\\EX_MH_window_03.NIF", "meshes\\x\\EX_MH_window_03.NIF", "meshes\\x\\EX_MH_window_01.NIF", "meshes\\x\\EX_MH_window_03.NIF", "meshes\\x\\EX_MH_bazaar_bench_01.NIF", "meshes\\TR\\x\\tr_ex_ind_awning_01.nif", "meshes\\TR\\x\\TR_ex_ind_monolith01.nif", "meshes\\f\\Furn_Planter_MH_04.nif", "meshes\\f\\Terrain_rocks_WG_01.nif", "meshes\\x\\EX_MH_window_01.NIF", "meshes\\f\\Terrain_rock_WG_18.NIF", "meshes\\f\\Terrain_rock_WG_02.NIF", "meshes\\f\\Flora_bush_01.NIF", "meshes\\TR\\x\\tr_ex_ind_s_wall04.NIF", "meshes\\TR\\x\\tr_ex_ind_s_wall00.nif", "meshes\\x\\EX_MH_doorjamb_02.NIF", "meshes\\f\\Terrain_rock_WG_18.NIF", "meshes\\f\\Flora_grass_07.nif", "meshes\\f\\Flora_tree_04.NIF", "meshes\\f\\Flora_tree_AI_06.NIF", "meshes\\f\\Flora_tree_03.NIF", "meshes\\f\\Flora_tree_03.NIF", "meshes\\f\\Terrain_rock_WG_12.NIF", "meshes\\f\\Terrain_rock_WG_10.NIF", "meshes\\f\\Flora_tree_03.NIF", "meshes\\f\\Terrain_rock_WG_18.NIF", "meshes\\f\\Terrain_rock_WG_16.NIF", "meshes\\f\\Terrain_rock_WG_15.NIF", "meshes\\f\\Flora_tree_03.NIF", "meshes\\f\\Furn_pathspear_01.NIF", "meshes\\f\\Terrain_rock_WG_16.NIF", "meshes\\f\\Terrain_rock_WG_15.NIF", "meshes\\f\\Flora_grass_02.NIF", "meshes\\f\\Flora_grass_01.nif", "meshes\\f\\Flora_grass_02.NIF", "meshes\\TR\\x\\TR_ex_ind_plat06.nif", "meshes\\f\\Furn_table_01.NIF", "meshes\\l\\furn_de_chair_02.nif", "meshes\\l\\furn_de_chair_02.nif", "meshes\\f\\Terrain_rock_WG_05.NIF", "meshes\\f\\Terrain_rock_WG_02.NIF", "meshes\\f\\Terrain_rocks_WG_01.nif", "meshes\\f\\Terrain_rock_WG_15.NIF", "meshes\\f\\Terrain_rock_WG_17.NIF", "meshes\\f\\Flora_bush_01.NIF", "meshes\\f\\Terrain_rock_WG_16.NIF", "meshes\\f\\Terrain_rock_WG_15.NIF", "meshes\\x\\ex_de_ship.nif", "meshes\\x\\Ex_common_plat_LRG.NIF", "meshes\\TR\\f\\TR_furn_com_rope_01.NIF", "meshes\\f\\Terrain_rock_WG_12.NIF", "meshes\\f\\Terrain_rock_WG_09.NIF", "meshes\\f\\Terrain_rock_WG_05.NIF", "meshes\\f\\Terrain_rock_WG_12.NIF", "meshes\\f\\Terrain_rock_WG_10.NIF", "meshes\\f\\Terrain_rock_WG_07.NIF", "meshes\\f\\Terrain_rocks_WG_01.nif", "meshes\\f\\Terrain_rock_WG_14.NIF", "meshes\\f\\Terrain_rock_WG_16.NIF", "meshes\\f\\Terrain_rock_WG_15.NIF", "meshes\\f\\Terrain_rock_WG_18.NIF", "meshes\\f\\Terrain_rock_WG_17.NIF", "meshes\\f\\Terrain_rock_WG_10.NIF", "meshes\\f\\Terrain_rock_WG_09.NIF", "meshes\\f\\Terrain_rock_WG_08.NIF", "meshes\\f\\Terrain_rock_WG_12.NIF", "meshes\\f\\Terrain_rock_WG_07.NIF", "meshes\\f\\Terrain_rock_WG_08.NIF", "meshes\\f\\Terrain_rock_WG_05.NIF", "meshes\\f\\Terrain_rock_WG_08.NIF", "meshes\\f\\Flora_kelp_01.nif", "meshes\\f\\Flora_kelp_02.nif", "meshes\\f\\Flora_kelp_03.nif", "meshes\\f\\Flora_kelp_04.nif", "meshes\\f\\Flora_kelp_01.nif", "meshes\\f\\Flora_kelp_02.nif", "meshes\\f\\Flora_kelp_03.nif", "meshes\\f\\Flora_kelp_04.nif", "meshes\\f\\Flora_kelp_01.nif", "meshes\\f\\Flora_kelp_02.nif", "meshes\\f\\Flora_kelp_03.nif", "meshes\\f\\Flora_kelp_04.nif", "meshes\\f\\Furn_banner_hanger_01.nif", "meshes\\f\\Terrain_rock_WG_18.NIF", "meshes\\TR\\x\\tr_ex_ind_stair06.nif", "meshes\\TR\\x\\TR_terr_WG_Cliff_04.NIF", "meshes\\tr\\x\\tr_terr_wg_CliffM_06.nif", "meshes\\f\\Terrain_rocks_WG_02.nif", "meshes\\f\\Terrain_rock_WG_10.NIF", "meshes\\f\\Terrain_rocks_WG_01.nif", "meshes/xargonian_swimkna.nif", "meshes/xbase_anim_female.nif", "meshes/xbase_anim.nif", "meshes/tr\\b\\TR_pb_DE_head04.nif", "meshes/b\\B_N_Dark Elf_M_Hair_02.NIF", "meshes/tr\\a\\tr_a_chevaram_helm_02.nif", "meshes/tr\\a\\tr_a_chevaram_cuir_01.nif", "meshes/tr\\a\\tr_a_chevaram_grv_g_01.nif", "meshes/tr\\a\\tr_a_chevaram_grv_u_01.nif", "meshes/tr\\a\\tr_a_chevaram_grv_u_01.nif", "meshes/tr\\a\\tr_a_chevaram_grv_k_01.nif", "meshes/tr\\a\\tr_a_chevaram_grv_k_01.nif", "meshes/tr\\a\\tr_a_chevaram_pldr_01.nif", "meshes/tr\\a\\tr_a_chevaram_pld_f_01.nif", "meshes/tr\\a\\tr_a_chevaram_pldr_02.nif", "meshes/tr\\a\\tr_a_chevaram_pld_f_01.nif", "meshes/tr\\a\\tr_a_chevaram_brc_w_01.nif", "meshes/tr\\a\\tr_a_chevaram_brc_w_01.nif", "meshes/tr\\a\\tr_a_chevaram_bts_f_01.nif", "meshes/tr\\a\\tr_a_chevaram_bts_a_01.nif", "meshes/tr\\a\\tr_a_chevaram_bts_f_01.nif", "meshes/tr\\a\\tr_a_chevaram_bts_a_01.nif", "meshes/tr\\c\\tr_c_shirt_ind_c_03.nif", "meshes/tr\\c\\tr_c_shirt_ind_ua_03.nif", "meshes/tr\\c\\tr_c_shirt_ind_ua_03.nif", "meshes/tr\\c\\tr_c_shirt_ind_fa_03.nif", "meshes/tr\\c\\tr_c_shirt_ind_fa_03.nif", "meshes/c\\C_M_Pants_common_5_G.NIF", "meshes/c\\C_M_Pants_common_5_A.NIF", "meshes/c\\C_M_Pants_common_5_UL.NIF", "meshes/c\\C_M_Pants_common_5_UL.NIF", "meshes/c\\C_M_Pants_common_5_K.NIF", "meshes/c\\C_M_Pants_common_5_K.NIF", "meshes/c\\C_M_Pants_common_5_A.NIF", "meshes/c\\C_Skirt_common_3.NIF", "meshes\\w\\W_chitin_club.nif", "meshes/b\\B_N_Dark Elf_M_Neck.NIF"...}
__begin2 = {__i = 0x81bc65000}
__end2 = {__i = 0x81bc66c38}
#15 0x00000000007fac02 in SceneUtil::WorkThread::run (this=0x80e27a0e0) at ../../../components/sceneutil/workqueue.cpp:121
item = {_ptr = 0x81aa5c3c0}
#16 0x00000000007fbf61 in SceneUtil::WorkThread::WorkThread(SceneUtil::WorkQueue&)::$_1::operator()() const (this=0x80750a3e8) at ../../../components/sceneutil/workqueue.cpp:104
No locals.
#17 std::__1::__invoke<SceneUtil::WorkThread::WorkThread(SceneUtil::WorkQueue&)::$_1> (__f=...) at /usr/include/c++/v1/type_traits:3899
No locals.
#18 std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, SceneUtil::WorkThread::WorkThread(SceneUtil::WorkQueue&)::$_1>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, SceneUtil::WorkThread::WorkThread(SceneUtil::WorkQueue&)::$_1>&, std::__1::__tuple_indices<>) (__t=...) at /usr/include/c++/v1/thread:280
No locals.
#19 std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, SceneUtil::WorkThread::WorkThread(SceneUtil::WorkQueue&)::$_1> >(void*) (__vp=0x80750a3e0) at /usr/include/c++/v1/thread:291
__p = std::unique_ptr<std::__1::tuple<std::unique_ptr<std::__thread_struct, std::default_delete<std::__thread_struct> >, (lambda at ../../../components/sceneutil/workqueue.cpp:104:15)>> = 0x80750a3e0
#20 0x00000008015ce8ab in thread_start (curthread=0x807417b00) at /usr/src/lib/libthr/thread/thr_create.c:292
set = {__bits = {0, 0, 0, 0}}
#21 0x0000000000000000 in ?? ()