id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc
525,ApicIds deadlock,Philip,,"See [http://0ad.pastebin.com/QzjgSWNw call stack] (from Brian), particularly:
{{{
        pyrogenesis_dbg.exe!_ia32_asm_CAS()  + 0x10 bytes       
>       pyrogenesis_dbg.exe!ModuleInit(volatile int * initState=0x00c55a7c, long (void)* init=0x004b4ff0)  Line 44 + 0x10 bytes C++
        pyrogenesis_dbg.exe!ApicIds()  Line 172 + 0xf bytes     C++
        pyrogenesis_dbg.exe!VerifyRunningOnCorrectProcessors(unsigned long affinity=1)  Line 252 + 0x5 bytes    C++
        pyrogenesis_dbg.exe!os_cpu_SetThreadAffinityMask(unsigned int processorMask=1)  Line 275 + 0x9 bytes    C++
        pyrogenesis_dbg.exe!os_cpu_CallByEachCPU(void (unsigned int, unsigned int)* cb=0x00414380, unsigned int cbData=12933656)  Line 293 + 0xb bytes  C++
        pyrogenesis_dbg.exe!InitApicIds()  Line 160 + 0xf bytes C++
        pyrogenesis_dbg.exe!ModuleInit(volatile int * initState=0x00c55a7c, long (void)* init=0x004b4ff0)  Line 46 + 0x5 bytes  C++
        pyrogenesis_dbg.exe!ApicIds()  Line 172 + 0xf bytes     C++
}}}
The first `ModuleInit` call locks the state while calling `init()` which then tries to lock the state itself.",defect,closed,Must Have,Alpha 1,Core engine,fixed,,jan
