RedChimera / IWD2EE

This is the most recent semiOverhaul mod, containing most of the rebalancing components and a few other tweaks.
145 stars 8 forks source link

async-refactor: Crash when talking to Shawford #65

Closed Bubb13 closed 3 years ago

Bubb13 commented 4 years ago

Crash when visiting Shawford after defeating Caballus. Notably, I visited Shawford a moment before and found it impossible to talk to him; the second time was the crash.

INFO: [ASSERT FAILED] Not in Async THREAD
stack traceback:
    override/IEex_Creature_State.lua:32: in function <override/IEex_Creature_State.lua:30>

Thread problem with IEex_Extern_OnGameObjectAdded. Maybe a dialog action spawned a creature; does dialog run in the sync state?

INFO: IEex detected crash; Lua traceback ->
stack traceback:
    [C]: in function 'IEex_ReadDword'
    override/IEex_Gui_State.lua:127: in function 'IEex_GetContainerNumItems'
    override/IEex_Gui_State.lua:132: in function 'IEex_GetContainerIDNumItems'
    override/IEex_Gui_State.lua:292: in function <override/IEex_Gui_State.lua:281>
    [C]: in function 'IEex_Helper_SynchronizedBridgeOperation'
    override/IEex_Gui_State.lua:305: in function 'IEex_Quickloot_GetSlotData'
    override/IEex_Gui_State.lua:735: in function <override/IEex_Gui_State.lua:732>

Quickloot crashed due to targeting a NULL container, unknown how this didn't get filled.

crash_at_shawford.zip

Bubb13 commented 4 years ago

The crash was caused by a Quickloot regression and is fixed in https://github.com/RedChimera/IWD2EE/commit/d020327d0471d6be85c35d41ff481a1d3554ab25

The threading issue still remains, and is likely related to dialog.