This is the call stack while debugging the exe : > ntdll.dll!77dd27a0() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] ntdll.dll!77e0afbf() ntdll.dll!77dd578e() ntdll.dll!77e0b10d() ntdll.dll!77dd578e() ntdll.dll!77e0b10d() ntdll.dll!77e0a71a() msvcr90.dll!737f36c5() msvcr90.dll!737f38b3() msvcr90.dll!737f3600() msvcr80.dll!736d532d() msvcp90.dll!735b5e94() pyrogenesis.exe!CSimulation2Impl::SerializationTestState::SerializationTestState() + 0x5b bytes C++ msvcr90.dll!7383a4f5() msvcr90.dll!7383a536() msvcr90.dll!73839d72() msvcr90.dll!737ffea2() msvcr90.dll!737f2e2b() msvcr90.dll!737ff33b() msvcr90.dll!73800051() msvcr90.dll!737f38c5() pyrogenesis.exe!_onexit(int (void)* func) Line 121 + 0x5 bytes C pyrogenesis.exe!atexit(void (void)* func) Line 127 + 0x8 bytes C pyrogenesis.exe!__tmainCRTStartup() Line 583 + 0x17 bytes C pyrogenesis.exe!CallStartupWithinTryBlock() Line 397 C++ kernel32.dll!75d5339a() ntdll.dll!77db9ef2() ntdll.dll!77db9ec5() Here is the list of threads : Unflagged > 6876 0 Main Thread main CSimulation2Impl::SerializationTestState::SerializationTestState Normal Unflagged 6464 0 Worker Thread whrt_UpdateThread UpdateThread Normal Unflagged 7576 0 Worker Thread CUserReportWorker SDL_SemWait Normal Unflagged 2912 0 Worker Thread Win32 Thread 77da013d Normal Unflagged 3432 0 Worker Thread Win32 Thread 77da1f26 Normal Unflagged 6244 0 Worker Thread CCmpObstructionManager::TestStaticShape CCmpObstructionManager::TestStaticShape Normal Unflagged 7636 0 Worker Thread Win32 Thread 77da1f26 Normal Unflagged 6072 0 RPC Thread RPC Callback Thread 77d9fd71 Normal Unflagged 5768 0 Worker Thread TextureConverter SDL_SemWait Normal Unflagged 4724 0 Worker Thread Win32 Thread 77da013d Time Critical Unflagged 2120 0 Worker Thread Win32 Thread 77da013d Normal Unflagged 7784 0 Worker Thread Win32 Thread 77da013d Time Critical Unflagged 6736 0 Worker Thread Win32 Thread 77da1dfe Normal Unflagged 7920 0 Worker Thread Win32 Thread 77da013d -3 Unflagged 7036 0 Worker Thread Win32 Thread 77d9fd71 Normal Unflagged 6428 0 Worker Thread Win32 Thread 77d9f939 Above Normal Meanwhile I'll try to grab the code from SVN ---------------------------------------------- ok so I have downloaded, built and am running the game in the vc++ debugger. The game starts ok with the music and all. The first few times when I selected single player game and then Matches, the game was stuck at the Loading Map data dialog and I had to stop the process. It loaded the next screen now, so I ll try and reproduce the error in a fresh game. ok tried to reload the crashing game and got this assertion failure : Assertion failed: "0 && (L"CCmpDecay must not be used on non-local (network-synchronised) entities")" Location: CCmpDecay.cpp:95 (CCmpDecay::Init) Call stack: CCmpDecay::Init (ccmpdecay.cpp:95) this = (unavailable) paramNode = 0x00000000 CCmpOverlayRenderer::Deserialize (ccmpoverlayrenderer.cpp:74) this = (unavailable) paramNode = 0x0032F144 -> m_Value = (unsupported basic_string<wchar_t,char_traits<wchar_t> >) m_Childs = (unsupported map<basic_string<char,char_traits<char> >,CParamNode >) m_IsOk = true m_ScriptVal = m_Val = px = 0x00000000 pn = pi_ = 0x00000000 __formal = 0x0032F10C -> (IDeserializer) CComponentManager::DeserializeState (componentmanagerserialization.cpp:319) this = (unavailable) stream = 0x0032F1E4 -> (basic_istream<char,char_traits<char> >) rng = (unsupported basic_string<char,char_traits<char> >) deserializer = (IDeserializer) m_ScriptBackrefs = (unsupported map<size_t,JSObject * >) m_ScriptInterface = 0x106F8440 -> m = (auto_ptr<scriptInterface_impl>) m_Stream = 0x0032F1E4 (see above) noParam = m_Value = (unsupported basic_string<wchar_t,char_traits<wchar_t> >) m_Childs = (unsupported map<basic_string<char,char_traits<char> >,CParamNode >) m_IsOk = true m_ScriptVal = m_Val = px = 0x00000000 pn = pi_ = 0x00000000 numComponentTypes = 59 (0x0000003B) i = 3 (0x00000003) ctname = (unsupported basic_string<char,char_traits<char> >) numComponents = 307 (0x00000133) j = 200 (0x000000C8) ent = 3922 (0x00000F52) e = 0x6D381598 -> (exception) m_msg = 0x00000000 CGame::LoadInitialState (game.cpp:176) this = (unavailable) state = (unsupported basic_string<char,char_traits<char> >) stream = (basic_stringstream<char,char_traits<char> >) MemFunThunk<CGame> (loaderthunks.h:60) param = 0x16972150 __formal = 0.01 (0x3F847AE147AE147B) LDR_ProgressiveLoad (loader.cpp:228) time_budget = 0.01 (0x3F847AE147AE147B) des(no more room in buffer) errno = 34 (No error reported here) OS error = 487 (Attempt to access invalid address.) -------------------------------------------------- The call stack for the crash : user32.dll!76f1f5be() [Frames below may be incorrect and/or missing, no symbols loaded for user32.dll] user32.dll!76f1f5be() user32.dll!76f1cd46() user32.dll!76f1cf5c() user32.dll!76f1ce8a() user32.dll!76f1d009() > pyrogenesis.exe!sys_display_error(const wchar_t * text, unsigned int flags) Line 315 + 0x13 bytes C++ pyrogenesis.exe!debug_DisplayError(const wchar_t * description, unsigned int flags, void * context, const wchar_t * lastFuncToSkip, const wchar_t * pathname, int line, const char * func, volatile int * suppress) Line 469 + 0x18 bytes C++ pyrogenesis.exe!debug_OnAssertionFailure(const wchar_t * expr, volatile int * suppress, const wchar_t * file, int line, const char * func) Line 558 + 0xa7 bytes C++ pyrogenesis.exe!CCmpDecay::Init(const CParamNode & paramNode) Line 95 + 0x1b bytes C++ pyrogenesis.exe!CCmpOverlayRenderer::Deserialize(const CParamNode & paramNode, IDeserializer & __formal) Line 74 C++ pyrogenesis.exe!CComponentManager::DeserializeState(std::basic_istream<char,std::char_traits<char> > & stream) Line 319 C++ pyrogenesis.exe!CGame::LoadInitialState() Line 176 C++ pyrogenesis.exe!MemFunThunk<CGame>(void * param, double __formal) Line 60 + 0xa bytes C++ pyrogenesis.exe!LDR_ProgressiveLoad(double time_budget, wchar_t * description, unsigned int max_chars, int * progress_percent) Line 228 + 0x11 bytes C++ pyrogenesis.exe!ProgressiveLoad() Line 232 + 0x25 bytes C++ pyrogenesis.exe!Frame() Line 344 C++ pyrogenesis.exe!RunGameOrAtlas(int argc, const char * * argv) Line 526 + 0x5 bytes C++ pyrogenesis.exe!main(int argc, char * * argv) Line 569 + 0xc bytes C++ pyrogenesis.exe!wmain(int argc, wchar_t * * argv) Line 380 + 0xa bytes C++ pyrogenesis.exe!__tmainCRTStartup() Line 552 + 0x17 bytes C pyrogenesis.exe!CallStartupWithinTryBlock() Line 397 C++ kernel32.dll!75d5339a() ntdll.dll!77db9ef2() ntdll.dll!77db9ec5()