halflife icon indicating copy to clipboard operation
halflife copied to clipboard

Crash on the map with 512 precached sounds and func_train that starts immediately

Open FreeSlave opened this issue 1 year ago • 1 comments

The map (for Half-Life) in attachment (source file included) crashes the engine

#0  SV_CreateResourceList () at ../engine/sv_main.c:6863
#1  0xf6296bb5 in SV_ActivateServer (runPhysics=runPhysics@entry=1) at ../engine/sv_main.c:7345
#2  0xf625efa4 in Host_Map (bIsDemo=false, mapstring=0xffffc0fc "map soundlimit \n", mapName=0xffffc13c "soundlimit", loadGame=false) at ../engine/host_cmd.c:1376
#3  0xf625f4c8 in Host_Map_f () at ../engine/host_cmd.c:1532
#4  0xf6239021 in Cmd_ExecuteStringWithPrivilegeCheck (text=text@entry=0xffffc21c "map soundlimit", bIsPrivileged=bIsPrivileged@entry=true, src=src_command) at ../engine/cmd.c:1257
#5  0xf62392d0 in Cmd_ExecuteStringWithPrivilegeCheck (bIsPrivileged=true, src=src_command, text=0xffffc21c "map soundlimit") at ../engine/cmd.c:1216
#6  Cbuf_ExecuteCommandsFromBuffer (buf=buf@entry=0xf6af78f0 <cmd_text>, bIsPrivileged=bIsPrivileged@entry=true, nCmdsToExecute=nCmdsToExecute@entry=-1) at ../engine/cmd.c:245
#7  0xf6239371 in Cbuf_ExecuteFromBuffer (bIsPrivileged=true, buf=0xf6af78f0 <cmd_text>) at ../engine/cmd.c:259
#8  Cbuf_Execute () at ../engine/cmd.c:269
#9  0xf6255f90 in _Host_Frame (time=time@entry=0.0150851803) at ../engine/host.c:1411
#10 0xf6256278 in Host_Frame (time=0.0150851803, iState=1, stateInfo=stateInfo@entry=0xffffc72c) at ../engine/host.c:1549
#11 0xf62873c4 in CEngine::Frame() (this=0xf64e9f40 <g_Engine>) at ../engine/sys_engine.cpp:245
#12 0xf6284424 in RunListenServer(void*, char*, char*, char*, void* (*)(char const*, int*), void* (*)(char const*, int*))
    (instance=0x0, basedir=0x804d120 <szBaseDir> "/home/roman/.local/share/Steam/steamapps/common/Half-Life", cmdline=0x8055680 "/home/roman/.local/share/Steam/steamapps/common/Half-Life/hl
    _linux", postRestartCmdLineArgs=0x804f260 <main::szNewCommandParams> "", launcherFactory=0x80497f0 <CreateInterface(char const*, int*)>, filesystemFactory=0xf758a450 <CreateInterface(char const*, int*)>) at ../engine/sys_dll2.cpp:968
#13 0x0804905b in main(int, char const**) (argc=1, argv=0xffffc994) at ../launcher/launcher.cpp:469
(gdb) print i
$1 = 512
(gdb) print s
$2 = (char **) 0xf6b9bac8 <sv+207688>
(gdb) print *s
$3 = 0x14a00bd <error: Cannot access memory at address 0x14a00bd>

If the func_train has a name (so it doesn't start immediately) or if you remove at least one sound the map runs fine.

soundlimit.zip

FreeSlave avatar Sep 24 '24 20:09 FreeSlave

Add a trigger_auto with a 3-5 second delay targeting the train to your map and see if it works

sabianroberts avatar Sep 30 '24 10:09 sabianroberts