ValveSoftware / halflife

Half-Life 1 engine based games
Other
3.66k stars 616 forks source link

[GoldSrc] Games randomly crashes after latest steam update #3147

Open SmileyAG opened 2 years ago

SmileyAG commented 2 years ago

Hello, after the recent update of the Steam client, any games on the GoldSrc engine began to crash absolutely at any time, there are no steps how to reproduce it, just play and over time you will get a crash, sometimes it can take a long time.

I attached the Visual Studio debugger, and this is the error it gave me: src\common\net.cpp (1321) : Fatal Assertion Failed: false In stack calls: steamclient.dll!618beb2e()

Dumps (from @hobokenn): https://github.com/ValveSoftware/halflife/issues/3147#issuecomment-928196481 - crashes with the same error in HL games at least, dunno about CS.

More details:

Tested on clean and latest Half-Life / Half-Life: Opposing Force versions, without any modifications or any third-party tools It's not my exclusive crash-report bug, I asked over ton of peoples and they get the same weird crash, we could attach more info in case, and note, this appeared only after the last steam update, before its worked stable. I know that this is most likely not technically related to the halflife repository, but maybe you could to inform Valve devs to fix it on Steam clientside as it worked before, also since public bugtracker for Steam issues is not exist, I must make issue about it here. We don't know if it's reproducible on Linux / MacOS, but know that its happens on Windows at least.

zpostfacto commented 2 years ago

Do you have a dump file you can share?

metita commented 2 years ago

dumps.zip

I have attached two dumps files from a friend which claim that his game crashed (according to the file it was on the 24th), hope this helps too @fletcherdvalve

kisak-valve commented 2 years ago

For reference, the attached minidumps are EXCEPTION_ACCESS_VIOLATION_READ in client.dll.

metita commented 2 years ago

Well I do not have too much to add because both crash dumps are not mine but got shared from a friend BUT can confirm that the GoldSource games are behaving pretty weird since last Steam Maintenance (like this https://github.com/ValveSoftware/halflife/issues/3145)

EDIT: Also sometimes you will get kicked from community servers with "Unable to connect to Steam", there is no way to reproduce this but has been happening also since latest Steam Maintenance (or maybe the week before)

hobokenn commented 2 years ago

minidumps.zip

kisak-valve commented 2 years ago

For reference, the attached minidumps are an assert with Assertion: Unknown assertion type 0x00000000 (weird?) in ntdll.dll, EXCEPTION_ACCESS_VIOLATION_WRITE in steamclient.dll, and EXCEPTION_ACCESS_VIOLATION_READ in steamclient.dll.

SmileyAG commented 2 years ago

Do you have a dump file you can share?

https://github.com/ValveSoftware/halflife/issues/3147#issuecomment-928196481

Maxi605 commented 2 years ago

From a friend. He's going from one server to another and his game crashes. hldmp.zip

kisak-valve commented 2 years ago

For reference, the attached minidump is EXCEPTION_ACCESS_VIOLATION_WRITE in client.dll.

SmileyAG commented 2 years ago

I could not say about Counter-Strike 1.6 anything, but Half-Life crashes at least fails on steamclient.dll, look to dumps from @hobokenn for researching HL crashes, I will also try to attach mines later too.

But I don't think its needed to add labels specific to HL, since some users like (Maxi605, metita) says it's crashes in CS too, but its fails for them on client.dll instead of steamclient.dll as I can see

tmp64 commented 2 years ago

dumps.zip

I have attached two dumps files from a friend which claim that his game crashed (according to the file it was on the 24th), hope this helps too @fletcherdvalve

Those crashes are in a mod's client library: half-life\esf\cl_dlls\client.dll

hobokenn commented 2 years ago

I have reproduced the crash on Linux and the assert message in journalctl matches with what i have on Windows: journalctl and bt. A few more Windows minidumps, which i think are relevant (note, that some of them are split in 2): minidumps2.zip

SmileyAG commented 2 years ago

I have reproduced the crash on Linux and the assert message in journalctl matches with what i have on Windows: journalctl and bt. A few more Windows minidumps, which i think are relevant (note, that some of them are split in 2): minidumps2.zip

@kisak-valve, can be added Linux label as well?

chinese-soup commented 2 years ago

Do you have a dump file you can share?

cc @fletcherdvalve @kisak-valve

Bumping with yet another type of crash + minidump (linux)

src/common/httpclient.cpp (2178) : !m_pRedirectRequestHandle
src/common/httpclient.cpp (2178) : !m_pRedirectRequestHandle
assert_20211228235846_28.dmp[2852309]: Uploading dump (out-of-process)
/tmp/dumps/assert_20211228235846_28.dmp
crash_20211228235846_29.dmp[2852316]: Uploading dump (out-of-process)
/tmp/dumps/crash_20211228235846_29.dmp
assert_20211228235846_28.dmp[2852309]: Finished uploading minidump (out-of-process): success = yes
assert_20211228235846_28.dmp[2852309]: response: Discarded=1
assert_20211228235846_28.dmp[2852309]: file ''/tmp/dumps/assert_20211228235846_28.dmp'', upload yes: ''Discarded=1''
crash_20211228235846_29.dmp[2852316]: Finished uploading minidump (out-of-process): success = yes
crash_20211228235846_29.dmp[2852316]: response: Discarded=1
crash_20211228235846_29.dmp[2852316]: file ''/tmp/dumps/crash_20211228235846_29.dmp'', upload yes: ''Discarded=1''
Segmentation fault (core dumped)

bt: https://gist.github.com/chinese-soup/a5251a2687207a3b19186929d6d603c8 dumps.zip

└──$ md5sum ~/.steam/steam/linux32/steamclient.so ~/.local/share/Steam/steamapps/common/Half-Life/libsteam_api.so
88d8408f7b977d52bc7b8a31207a098a  /home/unko/.steam/steam/linux32/steamclient.so
cf904f9dd3ef111831747eccb73a1fd0  /home/unko/.local/share/Steam/steamapps/common/Half-Life/libsteam_api.so

(^ same for all my comments)

chinese-soup commented 2 years ago
src/common/httpclient_internal.cpp (1370) : !m_bConnectionReleased
src/common/httpclient_internal.cpp (1370) : !m_bConnectionReleased
Loading game from SAVE/c4a1f.HL1...

assert_20220104190003_87.dmp[425664]: Uploading dump (out-of-process)
/tmp/dumps/assert_20220104190003_87.dmp
src/tier1/utlmemory.cpp (307) : num >= 0
src/tier1/utlmemory.cpp (307) : num >= 0
free(): invalid pointer
assert_20220104190003_87.dmp[425664]: Finished uploading minidump (out-of-process): success = yes
assert_20220104190003_87.dmp[425664]: response: Discarded=1
assert_20220104190003_87.dmp[425664]: file ''/tmp/dumps/assert_20220104190003_87.dmp'', upload yes: ''Discarded=1''
Aborted (core dumped)

assert_20220104190003_87.dmp.zip

st: https://gist.github.com/chinese-soup/03807155c2d99fe783b737caba5cc4e8

chinese-soup commented 2 years ago

another type of crash

AppActive: active

AppActive: not active
src/public/tier1/refcount.h (89) : m_iRefs >= 0 && m_iRefs < 0x0ffffff
malloc(): unsorted double linked list corrupted
Aborted (core dumped)

st https://gist.github.com/chinese-soup/1a8618a9a0fe4f7623d1b194b9d4190b

no minidump was generated this time

chinese-soup commented 2 years ago

another type of assert

<before this i have changed the map ~20 times, saved and loaded the save ~20 times and then alt tabbed, after 3-5 seconds the game crashed> 

AppActive: not active
AppActive: active
AppActive: not active
AppActive: active
AppActive: not active
src/common/net.cpp (1324) : Fatal Assertion Failed: Invalid connection type 0 hConn=3b323230
src/common/net.cpp (1324) : Fatal Assertion Failed: Invalid connection type 0 hConn=3b323230
src/common/net.cpp (1324) : Fatal assert; application exiting
src/common/net.cpp (1324) : Fatal assert; application exiting
assert_20220104191457_81.dmp[431639]: Uploading dump (out-of-process)
/tmp/dumps/assert_20220104191457_81.dmp
_ExitOnFatalAssert
┌──[unko@ryzen]─[~/repos/bxt-rs] 
└──$ assert_20220104191457_81.dmp[431639]: Finished uploading minidump (out-of-process): success = yes
assert_20220104191457_81.dmp[431639]: response: Discarded=1
assert_20220104191457_81.dmp[431639]: file ''/tmp/dumps/assert_20220104191457_81.dmp'', upload yes: ''Discarded=1''

assert_20220104191457_81.dmp.zip

core wasn't dumped this time, therefore no st here

chinese-soup commented 2 years ago

started game, map c1a0, saving quick and loading quick ~60 times on c1a0.bsp, console key, "unpause" the game from console, alt-tabbed, after ~40 seconds of idle game following crash:

AppActive: not active
src/public/tier1/refcount.h (89) : m_iRefs >= 0 && m_iRefs < 0x0ffffff
src/public/tier1/refcount.h (89) : m_iRefs >= 0 && m_iRefs < 0x0ffffff
corrupted size vs. prev_size in fastbins
Aborted (core dumped)

no minidump (probably because i had -nobreakpad(?))

st: https://gist.github.com/chinese-soup/7eec839b0dee523a90553b950c24ea99

chinese-soup commented 2 years ago

started game, map c1a0, save quick, load quick ~120 times on c1a0, console key, "unpause", alt-tabbed for about 2 minutes, eventually

[...]
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Loading decals from c0a0e

Loading decals from c1a0d

Loading game from SAVE/quick.sav...

Dropped lol from server
Reason:  Server shutting down

Loading game from SAVE/c1a0.HL1...

Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Loading decals from c0a0e

Loading decals from c1a0d

AppActive: not active
AppActive: active
AppActive: not active
src/public/tier1/refcount.h (89) : m_iRefs >= 0 && m_iRefs < 0x0ffffff
src/public/tier1/refcount.h (89) : m_iRefs >= 0 && m_iRefs < 0x0ffffff
assert_20220104193315_107.dmp[442802]: Uploading dump (out-of-process)
/tmp/dumps/assert_20220104193315_107.dmp
crash_20220104193316_108.dmp[442810]: Uploading dump (out-of-process)
/tmp/dumps/crash_20220104193316_108.dmp
crash_20220104193316_108.dmp[442810]: Finished uploading minidump (out-of-process): success = yes
crash_20220104193316_108.dmp[442810]: response: Discarded=1
crash_20220104193316_108.dmp[442810]: file ''/tmp/dumps/crash_20220104193316_108.dmp'', upload yes: ''Discarded=1''
assert_20220104193315_107.dmp[442802]: Finished uploading minidump (out-of-process): success = yes
assert_20220104193315_107.dmp[442802]: response: Discarded=1
assert_20220104193315_107.dmp[442802]: file ''/tmp/dumps/assert_20220104193315_107.dmp'', upload yes: ''Discarded=1''
Segmentation fault (core dumped)

bt: https://gist.github.com/chinese-soup/9ca3e6417e19d074e13413b8acc7df9d crash and assert dmp: dumps2.zip

chinese-soup commented 2 years ago
[saveloads]
[...]
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Loading decals from c0a0e

Loading decals from c1a0d

Loading game from SAVE/quick.sav...

Dropped lol from server
Reason:  Server shutting down

Loading game from SAVE/c1a0.HL1...

Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Loading decals from c0a0e

Loading decals from c1a0d

Loading game from SAVE/quick.sav...

Dropped lol from server
Reason:  Server shutting down

Loading game from SAVE/c1a0.HL1...

Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Loading decals from c0a0e

Loading decals from c1a0d

Loading game from SAVE/quick.sav...

Dropped lol from server
Reason:  Server shutting down

Loading game from SAVE/c1a0.HL1...

Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Loading decals from c0a0e

Loading decals from c1a0d

scandir failed:/home/unko/.local/share/Steam/steamapps/common/Half-Life/./valve_downloads/SAVE
Loading game from SAVE/quick.sav...

Dropped lol from server
Reason:  Server shutting down

Loading game from SAVE/c1a0.HL1...

Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Loading decals from c0a0e

Loading decals from c1a0d

scandir failed:/home/unko/.local/share/Steam/steamapps/common/Half-Life/./valve_downloads/SAVE
Loading game from SAVE/quick.sav...

Dropped lol from server
Reason:  Server shutting down

Loading game from SAVE/c1a0.HL1...

Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Loading decals from c0a0e

Loading decals from c1a0d

AppActive: not active
AppActive: active
AppActive: not active
src/common/net.cpp (1324) : Fatal Assertion Failed: Invalid connection type 0 hConn=574d435c
src/common/net.cpp (1324) : Fatal Assertion Failed: Invalid connection type 0 hConn=574d435c
src/common/net.cpp (1324) : Fatal assert; application exiting
src/common/net.cpp (1324) : Fatal assert; application exiting
assert_20220104223243_46.dmp[509360]: Uploading dump (out-of-process)
/tmp/dumps/assert_20220104223243_46.dmp
_ExitOnFatalAssert
┌──[unko@ryzen]─[~/repos/bxt-rs] 
└──$ assert_20220104223243_46.dmp[509360]: Finished uploading minidump (out-of-process): success = yes
assert_20220104223243_46.dmp[509360]: response: Discarded=1
assert_20220104223243_46.dmp[509360]: file ''/tmp/dumps/assert_20220104223243_46.dmp'', upload yes: ''Discarded=1''

assert_20220104223243_46.dmp.zip

no coredump

chinese-soup commented 2 years ago

malloc_consolidate() this time!

[...] again save a;wait;load a ~50 times

Dropped lol from server
Reason:  Server shutting down

Loading game from SAVE/c1a0.HL1...

Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Steam_SetMinidumpSteamID:  Caching Steam ID:  76561198026669986 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:  76561198026669986
Loading decals from c0a0e

Loading decals from c1a0d

AppActive: not active // alt-tabbed
AppActive: active // tabbed back in 2 seconds later
malloc_consolidate(): unaligned fastbin chunk detected
crash_20220105021808_50.dmp[588908]: Uploading dump (out-of-process)
/tmp/dumps/crash_20220105021808_50.dmp
crash_20220105021808_50.dmp[588908]: Finished uploading minidump (out-of-process): success = yes
crash_20220105021808_50.dmp[588908]: response: Discarded=1
crash_20220105021808_50.dmp[588908]: file ''/tmp/dumps/crash_20220105021808_50.dmp'', upload yes: ''Discarded=1''
Aborted (core dumped)

dump: crash_20220105021808_50.dmp.zip

bt: https://gist.github.com/chinese-soup/1efa30845a5418c0f8024bac2c21668c

chinese-soup commented 2 years ago

tried putting a different steamclient.so to .steam/steam/linux32/steamclient.so, from a HLDS instance that i have on my hdd (different md5), same result:

// [save a;wait;load a] ~70 times

Loading decals from c4a1e

Loading decals from c4a3

CL_SignonReply: 1

35.1 megabyte data cache
// unrelated ↓, happens with the HLDS lib only everytime -voicerecord happens (each load since it's bound to K)
src/common/interfacemap.cpp (844) : Assertion Failed: IPC call to IClientAudio::StopVoiceRecording returned failure code 12
src/common/interfacemap.cpp (844) : Assertion Failed: IPC call to IClientAudio::StopVoiceRecording returned failure code 12
Couldn't open file overviews/c4a1f.txt. Using default values for overiew mode.

CL_SignonReply: 2

AppActive: not active
src/common/net.cpp (1324) : Fatal Assertion Failed: Invalid connection type 0 hConn=3b333230
src/common/net.cpp (1324) : Fatal Assertion Failed: Invalid connection type 0 hConn=3b333230
src/common/net.cpp (1324) : Fatal assert; application exiting
src/common/net.cpp (1324) : Fatal assert; application exiting
corrupted size vs. prev_size in fastbins
crash_20220105022830_73.dmp[592478]: Uploading dump (out-of-process)
/tmp/dumps/crash_20220105022830_73.dmp
crash_20220105022830_73.dmp[592478]: Finished uploading minidump (out-of-process): success = yes
crash_20220105022830_73.dmp[592478]: response: Discarded=1
crash_20220105022830_73.dmp[592478]: file ''/tmp/dumps/crash_20220105022830_73.dmp'', upload yes: ''Discarded=1''
Aborted (core dumped)

bt: https://gist.github.com/chinese-soup/518bb6731378d4a679bf0531c90ab7e3 dumps: crash_20220105022830_73.dmp.zip