Open shaohme opened 5 months ago
duplicate of #2407 ?
Seems to be. The crash is here - https://github.com/ZDoom/gzdoom/blob/6ce809efe2902e43ceaa7031b875225d3a0367de/src/common/engine/serializer.cpp#L612 - which is where the other crash was in the linked report.
@shaohme Would you mind testing again with a build from master?
Seems to be. The crash is here -
- which is where the other crash was in the linked report.
@shaohme Would you mind testing again with a build from master?
I'll try out latest master build
Seems to be. The crash is here -
- which is where the other crash was in the linked report.
@shaohme Would you mind testing again with a build from master?
@madame-rachelle GZDoom g4.12pre-480-g7a43d7f78-m crashed again during saving a game.
You've found the Auto Shotgun! (Slot 3)
You got the UAC Mach-3 Minigun! (Slot 5)
You got the M2 Lightning Mode Upgrade!!
Game saved. (/home/mkj/.config/gzdoom/savegames/doom.id.doom2.commercial/save00.zds)
+10 Low Caliber Rounds
+1 Explosive Round
+4 High Caliber Rounds
+1 Explosive Round
----------------------------------------
A secret is revealed!
----------------------------------------
+60 Low Caliber Rounds
+6 Explosive Rounds
+60 Low Caliber Rounds
[==========================================================================================================================================================..]
Thread 1 "gzdoom" received signal SIGSEGV, Segmentation fault.
0x000055555582d521 in FName::GetChars (this=0x4700000059) at /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/common/utility/name.h:68
warning: 68 /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/common/utility/name.h: No such file or directory
(gdb) bt full
#0 0x000055555582d521 in FName::GetChars (this=0x4700000059) at /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/common/utility/name.h:68
No locals.
#1 0x0000555555dd57ea in FSerializer::WriteObjects (this=0x7fffffffb4f0) at /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/common/engine/serializer.cpp:627
obj = 0x555574823a80
i = 4879
#2 0x0000555555dd5f3c in FSerializer::GetCompressedOutput (this=0x7fffffffb4f0) at /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/common/engine/serializer.cpp:767
buff = {mSize = 8, mCompressedSize = 93825021265808, mMethod = 1447035603, mCRC32 = 21845, mBuffer = 0x555555bb60be <StaticClearSerializeTranslationsData()+19> "\220H\203\304\b\303H\203\354H\211|$\fdH\213\004%(", filename = 0x7fffffffb4f0 " \035\204VUU"}
compressbuf = 0x555555bb980a <TArray<std::pair<FTranslationID, FRemapTable>, std::pair<FTranslationID, FRemapTable> >::Reset()+22> "H\213D$\b\307@\f"
stream = {next_in = 0x555563ee5b60 "З\305_UU", avail_in = 1440566372, total_in = 140737488336112, next_out = 0x5555570eb5c0 <level> "", avail_out = 278072, total_out = 93825001180062, msg = 0x1 <error: Cannot access memory at address 0x1>, state = 0x555563ee5b60, zalloc = 0x555563ee5b60,
zfree = 0xbb321503cd129700, opaque = 0x555563ee5b60, data_type = 1440564955, adler = 93459951244368, reserved = 140737488336112}
err = 32767
#3 0x0000555555a0461f in FLevelLocals::SnapshotLevel (this=0x5555570eb5c0 <level>) at /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/p_saveg.cpp:1108
arc = {<FSerializer> = {_vptr.FSerializer = 0x555556841d20 <vtable for FDoomSerializer+16>, w = 0x555563ee5b60, r = 0x0, soundNamesAreUnique = true, mErrors = 0, mObjectErrors = 0}, Level = 0x5555570eb5c0 <level>}
#4 0x00005555558e26df in G_DoSaveGame (okForQuicksave=true, forceQuicksave=false, filename=..., description=0x55556739fcbc "def") at /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/g_game.cpp:2351
savegame_content = {Array = 0x0, Count = 0, Most = 0}
savegame_filenames = {Array = 0x0, Count = 0, Most = 0}
buf = "\000\000\000\000UU\000\000iA\033WUU\000\000\000\035\016WUU\000\000\000\227\022\315\003\0252\273\340\266\377\377\000\000\000\000\252\250\214UUU\000\000\260\267\377\377\377\177\000\000\000\241]lUU\000\000H\254\016WUU\000\000K\n\000VUU\000\000H\254\016WUU\000\000`\267\377\377\377\177\000\000\200!;W"
savepic = {<FileSys::FileWriter> = {_vptr.FileWriter = 0x1, File = 0x100000003, CloseOnDestruct = false}, mBuffer = std::vector of length -79345225826305, capacity 18472 = {<error reading variable: Cannot access memory at address 0x482a00000001>
savegameinfo = {_vptr.FSerializer = 0x5555573b295c, w = 0x7ffff6efe349 <clock_gettime+25>, r = 0x7ffff7ffd000 <_rtld_local>, soundNamesAreUnique = 177, mErrors = 32767, mObjectErrors = 108016}
savegameglobals = {_vptr.FSerializer = 0x555557337800, w = 0xbb321503cd129700, r = 0x7fffffffb610, soundNamesAreUnique = 154, mErrors = 21845, mObjectErrors = -18776}
ver = 1466060448
picdata = 0x7ffff7c7ad2f <SDL_PumpEventsInternal+207>
bufpng = {mSize = 93825021985081, mCompressedSize = 93825021125456, mMethod = 0, mCRC32 = 33554432, mBuffer = 0x5555558d711a <ReadTicCmd(unsigned char**, int, int)+303> "\203|$\034\001\017\205\202", filename = 0x4829 <error: Cannot access memory at address 0x4829>}
succeeded = false
#5 0x00005555558de29a in G_Ticker () at /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/g_game.cpp:1176
i = 8
oldgamestate = GS_LEVEL
buf = 21845
rngsum = 1460538304
#6 0x00005555558cc37b in TryRunTics () at /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/d_net.cpp:2012
i = 8
lowtic = 18474
realtics = 1
availabletics = 1
counts = 0
numplaying = 1
doWait = false
#7 0x00005555558b942a in D_DoomLoop () at /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/d_main.cpp:1227
lasttic = 18473
#8 0x00005555558c11cf in D_DoomMain_Internal () at /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/d_main.cpp:3771
pwads = std::vector of length 0, capacity 0
ret = 0
iwad = {Chars = 0x5555568b1afc <FString::NullString+12> "", static NullString = {Len = 0, AllocLen = 2, RefCount = 167381, Nothing = "\000"}}
allwads = std::vector of length 0, capacity 0
iwad_info = 0x5555579bbd80
wad = 0x555557308a4c "/home/mkj/gms/doom//opt/gzdoom/lights.pk3"
iwad_man = 0x0
batchout = 0x0
logfile = {Chars = 0x5555568b1afc <FString::NullString+12> "", static NullString = {Len = 0, AllocLen = 2, RefCount = 167381, Nothing = "\000"}}
basewad = {Chars = 0x5555573b295c "/usr/share/doom/gzdoom.pk3", static NullString = {Len = 0, AllocLen = 2, RefCount = 167381, Nothing = "\000"}}
optionalwad = {Chars = 0x555557306dec "/usr/share/doom/game_support.pk3", static NullString = {Len = 0, AllocLen = 2, RefCount = 167381, Nothing = "\000"}}
#9 0x00005555558c140c in GameMain () at /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/d_main.cpp:3802
ret = 0
cb = {UserInfoChanged = 0x5555558d2dc0 <D_UserInfoChanged(FBaseCVar*)>, SendServerInfoChange = 0x5555558d315f <D_SendServerInfoChange(FBaseCVar*, UCVarValue, ECVarType)>, SendServerFlagChange = 0x5555558d32da <D_SendServerFlagChange(FBaseCVar*, int, bool, bool)>,
GetUserCVar = 0x5555558dc46e <G_GetUserCVar(int, char const*)>, MustLatch = 0x5555558c1378 <_FUN()>}
#10 0x0000555555574148 in main (argc=5, argv=0x7fffffffca78) at /var/tmp/portage/games-fps/gzdoom-9999/work/gzdoom-9999/src/common/platform/posix/sdl/i_main.cpp:199
program = "/usr/bin/\000zdoom\000L\310rC\000\000\000\000\371\231G\200\000\000\000\000\315^\301;\000\000\000\000\245\307e \000\000\000\000b\037)\216\000\000\000\000b\356\254\016\000\000\000\000\026w\324\r\000\000\000\000yo\302\036\000\000\000\000\030\375إ\000\000\000\000.n;\371\000\000\000\000\t\330/A\000\000\000\000\210դh\000\000\000\000\3520\230\373\000\000\000\000\027\227G\251\000\000\000\000\276\263[;\000\000\000\000w\273\b\003\000\000\000\000\021㉲\000\000\000\000\342\377E\355\000\000\000\000\233\302\235\222\000\000\000\000XW|w\000\000\000\000\024+=\243\000\000\000\000\251\355`y\000\000\000\000+S\022\203\000\000\000\000\027\271|c\000"...
slash = 0x7fffffffb948 "/"
result = 0
(gdb)
Thank you. This will need to be looked into.
Same issue rn Sudden segfault on save/load
So I'm guessing this still hasn't been fixed?
So I'm guessing this still hasn't been fixed?
Still happens in 4.12.2
GZDoom version
4.11.3
Which game are you running with GZDoom?
Doom 2
What Operating System are you using?
Linux x86_64
Please describe your specific OS version
Gentoo
Relevant hardware info
Zen4 7950X, 64GB, Radeon 6700XT
Have you checked that no other similar issue already exists?
A clear and concise description of what the bug is.
During casual game play with Doom 2 wad and Project Brutality Mod from PB_Staging commit 8814cec4d634e9a0a0833c827c2c95abc4a39cf4, the game SIGABRT on save.
It seems to happen quite randomly, but often enough to annoy me, so I ran gzdoom with debug config under gdb and got the backtrace as seen in the log section.
Steps to reproduce the behaviour.
Explain how to reproduce
Your configuration
Provide a Log
This have also been observed on save: