Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1185 closed defect (fixed)

Save game crash: unhandled exception PSERROR_Serialize_InvalidScriptValue

Reported by: vts Owned by: Jonathan Waller
Priority: Release Blocker Milestone: Alpha 9
Component: UI & Simulation Keywords:
Cc: Patch:

Description (last modified by vts)

Reproducible crash when saving a game, as reported on in this thread: http://www.wildfiregames.com/forum/index.php?showtopic=15712.

A debug build produces this error message:

Unhandled exception at 0x7690fc56 in pyrogenesis_dbg.exe: Microsoft C++ exception: PSERROR_Serialize_InvalidScriptValue at memory location 0x0024c6fc..

Attaching crashlogs.

VS 2010 stack trace:

 	kernel32.dll!7690fc56() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]	
 	kernel32.dll!7690fc56() 	
 	msvcr100d.dll!_CxxThrowException(void * pExceptionObject=0x002ac41c, const _s__ThrowInfo * pThrowInfo=0x01605b98)  Line 157	C++
>	pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462628992422368)  Line 140	C++
 	pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462628992479680)  Line 129	C++
 	pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462628992436984)  Line 129	C++
 	pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462628992436696)  Line 129	C++
 	pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462628992436408)  Line 129	C++
 	pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462629361138496)  Line 129	C++
 	pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462629355963160)  Line 129	C++
 	pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462628992436624)  Line 129	C++
 	pyrogenesis_dbg.exe!CBinarySerializerScriptImpl::HandleScriptVal(unsigned __int64 val=18446462629358874912)  Line 129	C++
 	pyrogenesis_dbg.exe!CBinarySerializer<CStdSerializerImpl>::PutScriptVal(const char * __formal=0x01415b50, unsigned __int64 value=18446462629358874912)  Line 180	C++
 	pyrogenesis_dbg.exe!ISerializer::ScriptVal(const char * name=0x01415b50, CScriptVal value={...})  Line 102 + 0x22 bytes	C++
 	pyrogenesis_dbg.exe!CAIWorker::SerializeState(ISerializer & serializer={...})  Line 401	C++
 	pyrogenesis_dbg.exe!CAIWorker::Serialize(std::basic_ostream<char,std::char_traits<char> > & stream={...}, bool isDebug=false)  Line 372	C++
 	pyrogenesis_dbg.exe!CCmpAIManager::Serialize(ISerializer & serialize={...})  Line 553	C++
 	pyrogenesis_dbg.exe!CComponentManager::SerializeState(std::basic_ostream<char,std::char_traits<char> > & stream={...})  Line 254 + 0x30 bytes	C++
 	pyrogenesis_dbg.exe!CSimulation2::SerializeState(std::basic_ostream<char,std::char_traits<char> > & stream={...})  Line 765	C++
 	pyrogenesis_dbg.exe!SavedGames::Save(const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > & prefix="quicksave", CSimulation2 & simulation={...}, CGUIManager * gui=0x036a1288, int playerID=1)  Line 62 + 0x34 bytes	C++
 	pyrogenesis_dbg.exe!`anonymous namespace'::SaveGame(void * cbdata=0x036a1288)  Line 239 + 0x39 bytes	C++
 	pyrogenesis_dbg.exe!ScriptInterface_NativeWrapper<void>::call<void (__cdecl*)(void *)>(JSContext * cx=0x03f17810, unsigned __int64 & __formal=18446462607322775552, void (void *)* fptr=0x00ff9f00)  Line 45 + 0x16 bytes	C++
 	pyrogenesis_dbg.exe!ScriptInterface::call<void,&`anonymous namespace'::SaveGame>(JSContext * cx=0x03f17810, unsigned int argc=0, unsigned __int64 * vp=0x04000068)  Line 104 + 0x13d bytes	C++

Attachments (2)

crashlog.dmp (61.1 KB ) - added by vts 12 years ago.
crashlog.txt (14.4 KB ) - added by vts 12 years ago.

Download all attachments as: .zip

Change History (5)

by vts, 12 years ago

Attachment: crashlog.dmp added

by vts, 12 years ago

Attachment: crashlog.txt added

comment:1 by vts, 12 years ago

Description: modified (diff)

comment:2 by Jonathan Waller, 12 years ago

Owner: set to Jonathan Waller
Resolution: fixed
Status: newclosed

In 11198:

Made qBot not serialize the metadata which conatins too complicated a data structure and wasn't being used in any case. Fixes #1185.

comment:3 by vts, 12 years ago

Summary: Save game crash: CCmpDecay on non-local (network-synchronised) entitiesSave game crash: unhandled exception PSERROR_Serialize_InvalidScriptValue
Note: See TracTickets for help on using tickets.