Open MattJeanes opened 10 months ago
i've encountered this too in other yet similar circumstances, even on the main branch, i'll see if i can figure out an easier reproduction
i've also never had it happen until some time around mid-2023
also this is also probably a bug related to DImage:SetMaterial() or DImage:DoLoadMaterial() rather than _G.Material()
Details
I have been seeing a crash related to material loading in a VGUI context fairly (but not 100%) consistently under certain conditions but only when using native Linux, under Proton or a real Windows machine it works fine.
Note: Running x86-64 branch and using https://github.com/solsticegamestudios/GModCEFCodecFix
Here is an example stack trace - I have emailed over full dmp and log files as requested:
Code of interest: https://github.com/MattJeanes/TARDIS/blob/33baf7c9e40fcce95bc34a2306d9b4c99064beec/lua/tardis/sh_screen_ui.lua#L317
Steps to reproduce
This is a bit of an interesting repro, so please bear with on this one - it seems to most reliably happen with these steps in my testing:
jazz_bar
map using a local server (2+ players)lua_run TARDIS:SpawnTARDIS(player.GetAll()[1], {metadataID = "default"}, true)
changelevel gm_construct
I have debugged the particular texture it was trying to load by replacing it with different textures and even removing that call entirely but it will just crash later on in the code when it tries to do
DImage:SetImage
somewhere else e.g. on some icons.From what I can tell this is an engine bug as it crashes in native code while trying to call
Material()
, only happens on Linux (and I believe also macOS). I have seen this happen on pure sandbox without a changelevel, but running under Jazztronauts and the changelevel seem to make it much, much more likely to happen.We've had reports of crashes around this for several years, but until now I've not been able to get a reliable repro of it to report / investigate it. This was tested on an up to date Steam Deck in desktop mode, but should happen on any Linux machine.
Please let me know if you need any more info to help diagnose what on earth is going on here. Thanks!