Cuberite Forum
Another deadlock - Printable Version

+- Cuberite Forum (https://forum.cuberite.org)
+-- Forum: Cuberite (https://forum.cuberite.org/forum-4.html)
+--- Forum: Development (https://forum.cuberite.org/forum-13.html)
+--- Thread: Another deadlock (/thread-414.html)



Another deadlock - FakeTruth - 03-30-2012

Rev 437

Code:
ServerTickThread
Waits for cServer::m_CSClients (owned by cSocketThread)

cSocketThread
Waits for cChunkMap::m_CSLayers (owned by ChunkSender) in cChunkMap::CompareChunkClients
Owns cServer::m_CSClients in cServer::AuthenticateUser

ChunkSender
Waits for cServer::m_CSClients (owned by cSocketThread) in cServer::Broadcast
Owns cChunkMap::m_CSLayers in cChunkMap::BroadcastToChunk

Need dump?


RE: Another deadlock - xoft - 03-30-2012

maybe a stacktrace for the second and third thread?


RE: Another deadlock - FakeTruth - 03-30-2012

As you wish Smile

cSocketThread
[Image: Screenshot-2012-03-29_18.05.42.png]

ChunkSender
[Image: Screenshot-2012-03-29_18.06.32.png]

Just lemme know when I can stop debugging and update the serverTongue


RE: Another deadlock - xoft - 03-30-2012

You know it's possible to generate a crashdump even for a process being debugged, right? Smile There's a MS cmdline tool for that, it can create a crashdump of any process, given its ID.
http://www.microsoft.com/download/en/details.aspx?amp;displaylang=en&id=4060

So you can create a dump (and archive the sources + pdb + exe) and continue in whatever you were doing before the crash Smile

I'll have a look at the deadlock later today.


RE: Another deadlock - FakeTruth - 03-30-2012

Fine, I'll make a dump and restart the server Smile

EDIT: Nvm, I don't feel like backing up the source tooTongue I think you have enough info


RE: Another deadlock - xoft - 03-30-2012

take a dump, whatever Wink))

you need the sources' backup if you mad any local modifications, of course. Not needed if it's straight from svn.