Error Loading Chunks - Printable Version +- Cuberite Forum (https://forum.cuberite.org) +-- Forum: Cuberite (https://forum.cuberite.org/forum-4.html) +--- Forum: Discussion (https://forum.cuberite.org/forum-5.html) +--- Thread: Error Loading Chunks (/thread-1814.html) Pages:
1
2
|
RE: Error Loading Chunks - xoft - 03-10-2015 Could you use an external file host then? RE: Error Loading Chunks - xoft - 03-10-2015 I tried the steps you've given, and it doesn't crash for me. RE: Error Loading Chunks - RubyGriffin - 03-12-2015 (03-10-2015, 07:42 PM)xoft Wrote: Could you use an external file host then? https://app.box.com/s/u36hh4mut35zzqhh674f220xyxujdidq RE: Error Loading Chunks - RubyGriffin - 03-12-2015 Hi! Here is what I've found so far. Here is the two threads that are causing the deadlock. cWorld::cTickThread locks m_CSLayers in TickMobs tries to lock m_CriticalSection in OnTakeDamage but is is already locked by the http call thread http call thread locks m_CriticalSection in HandleWebRequest tries to lock m_CSLayers in DoWithEntityByID but is is already locked by the cWorld::cTickThread Callstack of cWorld::cTickThread [External Code] [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] MCServer_debug.exe!cCriticalSection::Lock() Line 28 C++ MCServer_debug.exe!cCSLock::Lock() Line 114 C++ MCServer_debug.exe!cCSLock::cCSLock(cCriticalSection & a_CS) Line 90 C++ MCServer_debug.exe!cPluginLua::OnTakeDamage(cEntity & a_Receiver, TakeDamageInfo & a_TDI) Line 1330 C++ MCServer_debug.exe!cPluginManager::CallHookTakeDamage(cEntity & a_Receiver, TakeDamageInfo & a_TDI) Line 1308 C++ MCServer_debug.exe!cEntity::DoTakeDamage(TakeDamageInfo & a_TDI) Line 306 C++ MCServer_debug.exe!cMonster::DoTakeDamage(TakeDamageInfo & a_TDI) Line 465 C++ MCServer_debug.exe!cEntity::TakeDamage(eDamageType a_DamageType, cEntity * a_Attacker, int a_RawDamage, int a_FinalDamage, double a_KnockbackAmount) Line 252 C++ MCServer_debug.exe!cMonster::HandleFalling() Line 422 C++ MCServer_debug.exe!cMonster::Tick(std::chrono::duration<__int64,std::ratio<1,1000> > a_Dt, cChunk & a_Chunk) Line 341 C++ MCServer_debug.exe!cAggressiveMonster::Tick(std::chrono::duration<__int64,std::ratio<1,1000> > a_Dt, cChunk & a_Chunk) Line 68 C++ MCServer_debug.exe!cWorld::TickMobs(std::chrono::duration<__int64,std::ratio<1,1000> > a_Dt) Line 1021 C++ MCServer_debug.exe!cWorld::Tick(std::chrono::duration<__int64,std::ratio<1,1000> > a_Dt, std::chrono::duration<__int64,std::ratio<1,1000> > a_LastTickDurationMSec) Line 934 C++ MCServer_debug.exe!cWorld::cTickThread::Execute() Line 243 C++ MCServer_debug.exe!cIsThread::DoExecute() Line 74 C++ [External Code] Callstack http call thread [External Code] [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] MCServer_debug.exe!cCriticalSection::Lock() Line 28 C++ MCServer_debug.exe!cCSLock::Lock() Line 114 C++ MCServer_debug.exe!cCSLock::cCSLock(cCriticalSection & a_CS) Line 90 C++ MCServer_debug.exe!cChunkMap::DoWithEntityByID(int a_UniqueID, cItemCallback<cEntity> & a_Callback) Line 2053 C++ MCServer_debug.exe!cWorld::DoWithEntityByID(int a_UniqueID, cItemCallback<cEntity> & a_Callback) Line 2855 C++ MCServer_debug.exe!tolua_DoWithID<cWorld,cEntity,{cWorld::DoWithEntityByID,0}>(lua_State * tolua_S) Line 647 C++ lua51.dll!luaD_precall(lua_State * L, lua_TValue * func, int nresults) Line 319 C lua51.dll!luaV_execute(lua_State * L, int nexeccalls) Line 587 C lua51.dll!luaD_call(lua_State * L, lua_TValue * func, int nResults) Line 377 C lua51.dll!f_call(lua_State * L, void * ud) Line 800 C lua51.dll!luaD_rawrunprotected(lua_State * L, void (lua_State *, void *) * f, void * ud) Line 118 C lua51.dll!luaD_pcall(lua_State * L, void (lua_State *, void *) * func, void * u, int old_top, int ef) Line 463 C lua51.dll!lua_pcall(lua_State * L, int nargs, int nresults, int errfunc) Line 821 C MCServer_debug.exe!cLuaState::CallFunction(int a_NumResults) Line 1031 C++ MCServer_debug.exe!cLuaState::PushCallPop<std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>(cLuaState::cRet __formal, std::basic_string<char,std::char_traits<char>,std::allocator<char> > & <args_0>) Line 387 C++ MCServer_debug.exe!cLuaState::PushCallPop<HTTPRequest const *,cLuaState::cRet const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>(const HTTPRequest * a_Param, const cLuaState::cRet & <args_0>, std::basic_string<char,std::char_traits<char>,std::allocator<char> > & <args_1>) Line 377 C++ MCServer_debug.exe!cLuaState::Call<int,HTTPRequest const * &,cLuaState::cRet const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>(const int & a_Function, const HTTPRequest * & <args_0>, const cLuaState::cRet & <args_1>, std::basic_string<char,std::char_traits<char>,std::allocator<char> > & <args_2>) Line 272 C++ MCServer_debug.exe!cPluginLua::HandleWebRequest(const HTTPRequest * a_Request) Line 1737 C++ MCServer_debug.exe!cWebAdmin::GetPage(const HTTPRequest & a_Request) Line 467 C++ MCServer_debug.exe!tolua_AllToLua_cWebAdmin_GetPage00(lua_State * tolua_S) Line 31215 C++ lua51.dll!luaD_precall(lua_State * L, lua_TValue * func, int nresults) Line 319 C lua51.dll!luaV_execute(lua_State * L, int nexeccalls) Line 587 C lua51.dll!luaD_call(lua_State * L, lua_TValue * func, int nResults) Line 377 C lua51.dll!f_call(lua_State * L, void * ud) Line 800 C lua51.dll!luaD_rawrunprotected(lua_State * L, void (lua_State *, void *) * f, void * ud) Line 118 C lua51.dll!luaD_pcall(lua_State * L, void (lua_State *, void *) * func, void * u, int old_top, int ef) Line 463 C lua51.dll!lua_pcall(lua_State * L, int nargs, int nresults, int errfunc) Line 821 C MCServer_debug.exe!cLuaState::CallFunction(int a_NumResults) Line 1031 C++ MCServer_debug.exe!cLuaState::PushCallPop<std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>(cLuaState::cRet __formal, std::basic_string<char,std::char_traits<char>,std::allocator<char> > & <args_0>) Line 387 C++ MCServer_debug.exe!cLuaState::PushCallPop<HTTPTemplateRequest *,cLuaState::cRet const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>(HTTPTemplateRequest * a_Param, const cLuaState::cRet & <args_0>, std::basic_string<char,std::char_traits<char>,std::allocator<char> > & <args_1>) Line 377 C++ MCServer_debug.exe!cLuaState::PushCallPop<cWebAdmin *,HTTPTemplateRequest * &,cLuaState::cRet const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>(cWebAdmin * a_Param, HTTPTemplateRequest * & <args_0>, const cLuaState::cRet & <args_1>, std::basic_string<char,std::char_traits<char>,std::allocator<char> > & <args_2>) Line 377 C++ MCServer_debug.exe!cLuaState::Call<char const [9],cWebAdmin * const,HTTPTemplateRequest *,cLuaState::cRet const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>(const char[9] & a_Function, cWebAdmin * const && <args_0>, HTTPTemplateRequest * && <args_1>, const cLuaState::cRet & <args_2>, std::basic_string<char,std::char_traits<char>,std::allocator<char> > & <args_3>) Line 272 C++ MCServer_debug.exe!cWebAdmin::HandleWebadminRequest(cHTTPConnection & a_Connection, cHTTPRequest & a_Request) Line 280 C++ MCServer_debug.exe!cWebAdmin::OnRequestFinished(cHTTPConnection & a_Connection, cHTTPRequest & a_Request) Line 660 C++ MCServer_debug.exe!cHTTPServer::RequestFinished(cHTTPConnection & a_Connection, cHTTPRequest & a_Request) Line 301 C++ MCServer_debug.exe!cHTTPConnection::OnReceivedData(const char * a_Data, unsigned int a_Size) Line 222 C++ MCServer_debug.exe!cHTTPConnection::OnReceivedData(const char * a_Data, unsigned int a_Size) Line 205 C++ MCServer_debug.exe!cTCPLinkImpl::ReadCallback(bufferevent * a_BufferEvent, void * a_Self) Line 191 C++ MCServer_debug.exe!bufferevent_run_readcb_(bufferevent * bufev, int options) Line 233 C MCServer_debug.exe!bufferevent_trigger_nolock_(bufferevent * bufev, short iotype, int options) Line 366 C MCServer_debug.exe!bufferevent_readcb(int fd, short event, void * arg) Line 187 C MCServer_debug.exe!event_persist_closure(event_base * base, event * ev) Line 1531 C MCServer_debug.exe!event_process_active_single_queue(event_base * base, evcallback_list * activeq, int max_to_process, const timeval * endtime) Line 1590 C MCServer_debug.exe!event_process_active(event_base * base) Line 1690 C MCServer_debug.exe!event_base_loop(event_base * base, int flags) Line 1912 C MCServer_debug.exe!cNetworkSingleton::RunEventLoop(cNetworkSingleton * a_Self) Line 144 C++ [External Code] RE: Error Loading Chunks - xoft - 03-12-2015 Ah, threading in webadmin plugins. Always a PITA. http://mc-server.xoft.cz/LuaAPI/WebWorldThreads.html |