server icon indicating copy to clipboard operation
server copied to clipboard

🐛 Crash in zone:GetID()

Open CatsEyeXI opened this issue 2 years ago • 7 comments

I affirm:

  • [x] I understand that if I do not agree to the following points by completing the checkboxes my issue will be ignored.
  • [x] I have read and understood the Contributing Guide and the Code of Conduct.
  • [x] I have searched existing issues to see if the issue has already been opened, and I have checked the commit log to see if the issue has been resolved since my server was last updated.

OS / platform the server is running (if known)

Reporting a crash we just experienced. Looks like the WatchDog killed the map server. image

>	xi_map.exe!CZone::GetID() Line 162	C++
 	[Inline Frame] xi_map.exe!sol::stack::stack_detail::call(sol::types<unsigned short>) Line 16544	C++
 	[Inline Frame] xi_map.exe!sol::stack::call(sol::types<unsigned short>) Line 16573	C++
 	[Inline Frame] xi_map.exe!sol::stack::call_into_lua(sol::types<unsigned short>) Line 16621	C++
 	[Inline Frame] xi_map.exe!sol::call_detail::lua_call_wrapper<CLuaBaseEntity,unsigned short (__cdecl CLuaBaseEntity::*)(void),0,0,1,0,1,void>::call(lua_State *) Line 18539	C++
 	[Inline Frame] xi_map.exe!sol::call_detail::lua_call_wrapper<CLuaBaseEntity,unsigned short (__cdecl CLuaBaseEntity::*)(void),0,0,1,0,1,void>::call(lua_State *) Line 18529	C++
 	[Inline Frame] xi_map.exe!sol::call_detail::call_wrapped(lua_State *) Line 18942	C++
 	xi_map.exe!sol::function_detail::upvalue_this_member_function<CLuaBaseEntity,unsigned short (__cdecl CLuaBaseEntity::*)(void)>::real_call(lua_State * L) Line 19362	C++
 	[External Code]	
 	[Inline Frame] xi_map.exe!sol::basic_protected_function<sol::basic_reference<0>,0,sol::basic_reference<0>>::luacall(__int64) Line 21088	C++
 	[Inline Frame] xi_map.exe!sol::basic_protected_function<sol::basic_reference<0>,0,sol::basic_reference<0>>::invoke(sol::types<> n, std::integer_sequence<unsigned __int64>) Line 21119	C++
 	xi_map.exe!sol::basic_protected_function<sol::basic_reference<0>,0,sol::basic_reference<0>>::call<,CLuaBaseEntity>(CLuaBaseEntity && <args_0>) Line 21002	C++
 	[Inline Frame] xi_map.exe!sol::basic_protected_function<sol::basic_reference<0>,0,sol::basic_reference<0>>::operator()(CLuaBaseEntity && <args_0>) Line 20986	C++
 	xi_map.exe!CAIActionQueue::handleAction(queueAction_t & action) Line 81	C++
 	xi_map.exe!CAIActionQueue::checkAction(std::chrono::time_point<std::chrono::system_clock,std::chrono::duration<__int64,std::ratio<1,10000000>>> tick) Line 54	C++
 	xi_map.exe!CAIContainer::Tick(std::chrono::time_point<std::chrono::system_clock,std::chrono::duration<__int64,std::ratio<1,10000000>>> _tick) Line 428	C++
 	xi_map.exe!CZoneEntities::ZoneServer(std::chrono::time_point<std::chrono::system_clock,std::chrono::duration<__int64,std::ratio<1,10000000>>> tick, bool check_trigger_areas) Line 1410	C++
 	xi_map.exe!CZone::ZoneServer(std::chrono::time_point<std::chrono::system_clock,std::chrono::duration<__int64,std::ratio<1,10000000>>> tick, bool checkTriggerAreas) Line 935	C++
 	xi_map.exe!zone_server_trigger_area(std::chrono::time_point<std::chrono::system_clock,std::chrono::duration<__int64,std::ratio<1,10000000>>> tick, CTaskMgr::CTask * PTask) Line 94	C++
 	xi_map.exe!CTaskMgr::DoTimer(std::chrono::time_point<std::chrono::system_clock,std::chrono::duration<__int64,std::ratio<1,10000000>>> tick) Line 122	C++
 	xi_map.exe!main(int argc, char * * argv) Line 237	C++
 	[External Code]	

Dump: https://drive.google.com/file/d/1EGWr7HQmjQNY08-ymQMa6kXOj-jJ4J7h/view?usp=share_link

Build: mods-6602c91da3-dirty

Branch affected by issue

base

Steps to reproduce

Not sure how to reproduce

Expected behavior

Not crash

CatsEyeXI avatar Jan 27 '23 23:01 CatsEyeXI

image

CatsEyeXI avatar Jan 27 '23 23:01 CatsEyeXI

crashlog: here guys, have this red herring

oneffecttick: I din do nuthin! you can't proves I did!

TeoTwawki avatar Jan 27 '23 23:01 TeoTwawki

If watchdog kills the server: the main tick to more than 2-or-so seconds; check you haven't blocked the console window somehow or introduced an infinite loop

zach2good avatar Jan 27 '23 23:01 zach2good

If watchdog kills the server: the main tick to more than 2-or-so seconds; check you haven't blocked the console window somehow or introduced an infinite loop

in my screenshot above it looks like 'full speed ahead' is erroring out on the 'tick' function, any possible relation?

CatsEyeXI avatar Jan 28 '23 01:01 CatsEyeXI

Updated Crash Dump: https://drive.google.com/file/d/1trdg3yvHi6S2ZqV4PO1TiCIVQoyPYDXE/view?usp=share_link

Both of these crashes share a common factor where zone is nullptr. This latest dump appears to be a real bug with The Black Coffin mission

After chatting about this with @WinterSolstice8 we think this could be nil and causing the crash? I don't know enough to say for sure.

local instanceZoneId = instance:getZone()

CatsEyeXI avatar Feb 04 '23 03:02 CatsEyeXI

got a new error message today right when my map server crashed.

CLuaZone created with nullptr instead of valid CZone right as someone was entering (exiting?) black coffin (again)

image

CatsEyeXI avatar Feb 21 '23 20:02 CatsEyeXI

Is this still valid?

zach2good avatar Apr 30 '24 19:04 zach2good