Opened 3 years ago

Last modified 16 months ago

#5987 new defect

BinarySerializer: crash when inserting an object into the GCHashMap

Reported by: Silier Owned by:
Priority: Must Have Milestone: Backlog
Component: Core engine Keywords:
Cc: Patch:

Description (last modified by Stan)

Exception:

binaryserializer.cpp(466): Assertion failed: "m_ScriptBackrefTags.put(JS::Heap<JSObject*>(obj.get()), ++m_ScriptBackrefsNext)"
wdbg_sym.cpp(91): Assertion failed: "0 && (L"FYI: WARN_IF_FALSE reports that a function failed. Feel free to ignore or suppress this warning.")"
'pyrogenesis.exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.18362.1256_none_e62b6e72f8da69e8\comctl32.dll'. 
'pyrogenesis.exe' (Win32): Unloaded 'C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.18362.1256_none_e62b6e72f8da69e8\comctl32.dll'
'pyrogenesis.exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.18362.1256_none_e62b6e72f8da69e8\comctl32.dll'. 
scriptinterface.cpp(1042): Assertion failed: "0 && (L"Writing a structured clone with JS_WriteStructuredClone failed!")"

Stack trace:

>	pyrogenesis.exe!ScriptInterface::WriteStructuredClone(JS::Handle<JS::Value> v) Line 1042	C++
 	pyrogenesis.exe!ScriptInterface::CloneValueFromOtherCompartment(const ScriptInterface & otherCompartment, JS::Handle<JS::Value> val) Line 1031	C++
 	pyrogenesis.exe!JSI_Simulation::GuiInterfaceCall(ScriptInterface::CmptPrivate * pCmptPrivate, const std::wstring & name, JS::Handle<JS::Value> data) Line 59	C++
 	[Inline Frame] pyrogenesis.exe!ScriptInterface_NativeWrapper<JS::Value>::call(const ScriptRequest &) Line 74	C++
 	pyrogenesis.exe!ScriptInterface::call<JS::Value,std::wstring,JS::Handle<JS::Value>,&JSI_Simulation::GuiInterfaceCall>(JSContext * cx, unsigned int argc, JS::Value * vp) Line 124	C++
 	[External Code]	
 	[Frames below may be incorrect and/or missing]	Unknown
 	mozjs78-ps-release.dll!js::jit::MaybeEnterJit(JSContext * cx, js::RunState & state) Line 196	C++
 	mozjs78-ps-release.dll!js::RunScript(JSContext * cx, js::RunState & state) Line 450	C++
 	mozjs78-ps-release.dll!js::InternalCallOrConstruct(JSContext * cx, const JS::CallArgs & args, js::MaybeConstruct construct, js::CallReason reason) Line 620	C++
 	mozjs78-ps-release.dll!InternalCall(JSContext * cx, const js::AnyInvokeArgs & args, js::CallReason reason) Line 648	C++
 	mozjs78-ps-release.dll!js::Call(JSContext * cx, JS::Handle<JS::Value> fval, JS::Handle<JS::Value> thisv, const js::AnyInvokeArgs & args, JS::MutableHandle<JS::Value> rval, js::CallReason reason) Line 665	C++
 	mozjs78-ps-release.dll!JS_CallFunctionValue(JSContext * cx, JS::Handle<JSObject *> obj, JS::Handle<JS::Value> fval, const JS::HandleValueArray & args, JS::MutableHandle<JS::Value> rval) Line 2777	C++
 	pyrogenesis.exe!IGUIObject::ScriptEventWithReturn(const CStr8 & eventName, const JS::HandleValueArray & paramData) Line 454	C++
 	[Inline Frame] pyrogenesis.exe!IGUIObject::ScriptEventWithReturn(const CStr8 &) Line 435	C++
 	pyrogenesis.exe!IGUIObject::ScriptEvent(const CStr8 & eventName) Line 425	C++
 	pyrogenesis.exe!CGUI::SendEventToAll(const CStr8 & eventName) Line 285	C++
 	pyrogenesis.exe!CGUIManager::SendEventToAll(const CStr8 & eventName) Line 336	C++
 	pyrogenesis.exe!CGame::Update(const double deltaRealTime, bool doInterpolate) Line 405	C++
 	pyrogenesis.exe!Frame() Line 419	C++
 	pyrogenesis.exe!RunGameOrAtlas(int argc, const char * * argv) Line 685	C++
 	pyrogenesis.exe!SDL_main(int argc, char * * argv) Line 736	C++
 	[External Code]	
 	pyrogenesis.exe!CallStartupWithinTryBlock() Line 365	C++
 	[External Code]	

Attachments (5)

crashlog.txt (19.9 KB ) - added by Silier 3 years ago.
commands.txt (319.7 KB ) - added by Silier 3 years ago.
crashlog.2.txt (21.4 KB ) - added by Asger 3 years ago.
crashlog.dmp (113.4 KB ) - added by Asger 3 years ago.
commands.2.txt (325.6 KB ) - added by Asger 3 years ago.

Download all attachments as: .zip

Change History (22)

by Silier, 3 years ago

Attachment: crashlog.txt added

comment:1 by Silier, 3 years ago

Description: modified (diff)

by Silier, 3 years ago

Attachment: commands.txt added

comment:2 by Silier, 3 years ago

Description: modified (diff)

comment:3 by Stan, 3 years ago

Description: modified (diff)

comment:4 by Stan, 3 years ago

Description: modified (diff)

by Asger, 3 years ago

Attachment: crashlog.2.txt added

by Asger, 3 years ago

Attachment: crashlog.dmp added

by Asger, 3 years ago

Attachment: commands.2.txt added

comment:5 by Stan, 3 years ago

Asger crashlog is totally unrelated. #6033

Last edited 3 years ago by Stan (previous) (diff)

comment:6 by Asger, 3 years ago

It seems my crashlog is from that morning my bad

comment:7 by Asger, 3 years ago

Before my 0AD closed, I got the message 'the program is not responding, do you want to close it or do you want to wait'

comment:8 by wraitii, 3 years ago

Summary: CrashBinarySerializer: crash when inserting an object into the GCHashMap

comment:9 by wraitii, 3 years ago

In 24811:

Change ENSURE in BinarySerializer to try and get more debug data.

I'm hoping this will give us more information on what's going wrong.

Also remove comments which were outdated since rP24563

Refs #5987

Differential Revision: https://code.wildfiregames.com/D3501

comment:10 by Silier, 3 years ago

that may be on me, I was running visual studio and I pressed break so there was no answer from my side to the server but still he should not

comment:11 by Silier, 3 years ago

I went out and when i returned i found this one, no idea what happened before that: Assertion failed: "0 && (L"FYI: WARN_IF_FALSE reports that a function failed. Feel free to ignore or suppress this warning.")"

Location: wdbg_sym.cpp:91 (InitDbghelp)

Call stack:

While generating an error report, we encountered a second problem. Please be sure to report both this and the subsequent error messages.

errno = 12 (Not enough memory)

OS error = 8 (Zur Verarbeitung dieses Befehls sind nicht genügend Speicherressourcen verfügbar.)

comment:12 by wraitii, 3 years ago

Hm, this reads like the hardware detection failed?

comment:13 by wraitii, 3 years ago

Priority: Release BlockerMust Have

We've been rather unable to reproduce this issue, and it shouldn't crash any more, so I'm downgrading this from RB to must have. I think it's unlikely we'll get more info/fix it if there is indeed an issue in A24

comment:14 by Silier, 3 years ago

Milestone: Alpha 24Alpha 25

comment:15 by wraitii, 3 years ago

Milestone: Alpha 25Alpha 26

comment:16 by Stan, 2 years ago

Milestone: Alpha 26Alpha 27

Unlikely to get done for A26

comment:17 by Freagarach, 16 months ago

Milestone: Alpha 27Backlog

Pushing back.

Note: See TracTickets for help on using tickets.