Crash just standing around
Posted: Sat Aug 08, 2015 8:39 pm
We had 7 players online, testing some group/raid stuff, when I noticed at sometimes I would chat and it would not show up for 20-30s. And one time, it repeated the same thing I said about 5 times even though I only said it once. There were no visible signs of any mutex/lock issues during the chat delays, and it wasn't just chatting... it was group invites and /raidinvite (I'm positive I'll find another SleepMS() in there somewhere).
There was a lot of combat happening, but it was scrolling along fine. Then, we got this:
Seemingly out of nowhere, and before I could even paste it into chat for Faux to see, the world ended. But because I was click happy, I missed the stack - but it was right above this:
Code was paused on if(window_title, but clearly the crash was the line above in the WriteUnlock. These are very rare, and I cannot seem to easily reproduce them. Pretty old bug, hopefully I can convince someone to review this code to see if it can be improved.
There was a lot of combat happening, but it was scrolling along fine. Then, we got this:
Code: Select all
20:28:45.996 E Mutex Timeout trying to acquire mutex ChunkServerList::remove_chunk_s's write lock lock after 10000 millisecondsCode: Select all
//Remove old chunk servers if (!remove_chunk_servers.empty()){ m_remove_chunk_servers.WriteLock(); m_chunk_servers.WriteLock(); for (auto& itr2 : remove_chunk_servers) chunk_servers.erase(itr2->GetChunkID()); m_chunk_servers.WriteUnlock(); remove_chunk_servers.clear(); m_remove_chunk_servers.WriteUnlock(); } if (window_title_update->Check()) UpdateWindowTitleSecond(Size());