summary refs log tree commit diff stats
path: root/results/scraper/fex/4431
blob: 23a5aab7024e3e36d9f522e3a3ef511e2901b878 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
Left 4 Dead 2 Dedicated Server: Segmentation fault with Sourcemod installed
**What Game**
Left 4 Dead 2 Dedicated Server, freely available

**Describe the bug**
Left 4 Dead 2 Dedicated Server segfaults if Sourcemod is installed. I noticed this issue [https://github.com/FEX-Emu/FEX/issues/4238](https://github.com/FEX-Emu/FEX/issues/4238) and ostensibly my setup is the same hardware just with a newer FEX/Ubuntu version. `-noassert` does not help in my case (still segfaults). Also really new to FEX!

The game server works fine without Sourcemod installed. Metamod is required to activate Sourcemod, but Metamod works fine without Sourcemod installed. Workshop mods work fine too. The L4D2 server with Metamod/Sourcemod does not segfault on a x64 machine with the needed x86 stuff added.

**To Reproduce**
Steps to reproduce the behavior:
```
sudo useradd -m -u 6900 l4d2
yes '1' | sudo su - l4d2 bash -c "FEXRootFSFetcher"

sudo su l4d2 -c "wget -O /home/l4d2/steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz"
sudo su l4d2 -c "mkdir -p /home/l4d2/steamcmd"
sudo su l4d2 -c "tar -xzf /home/l4d2/steamcmd.tar.gz -C /home/l4d2/steamcmd" 
sudo rm "/home/l4d2/steamcmd.tar.gz"

sudo su l4d2 -c "/home/l4d2/steamcmd/steamcmd.sh +force_install_dir /home/l4d2/l4d2_server +@sSteamCmdForcePlatformType windows +login anonymous +app_update 222860"
```

when it has installed the Windows version, in another terminal type `sudo rm -r /home/l4d2/l4d2_server/*` and then back in the `Steam >` terminal type `@sSteamCmdForcePlatformType linux` then `app_update 222860 validate` then `quit`. This switcheroo is required because Valve blocked anonymous installation of the Linux version of L4D2 idk why but it works if you install the windows version, wipe it, then linux on top (you may not need to wipe it)

```
# fixes possibly spurious error
sudo su l4d2 -c "mkdir -p /home/l4d2/.steam/sdk32/"
sudo su l4d2 -c "ln -s '/home/l4d2/steamcmd/linux32/steamclient.so' '/home/l4d2/.steam/sdk32/steamclient.so'"

link2paste='https://mms.alliedmods.net/mmsdrop/1.12/mmsource-1.12.0-git1217-linux.tar.gz'
file2get=$(basename "$link2paste")
dir2get=$(basename $file2get .tar.gz)
sudo su l4d2 -c "wget -O /tmp/$file2get \"$link2paste\""
sudo su l4d2 -c "mkdir -p /tmp/$dir2get"
sudo su l4d2 -c "tar -xzf /tmp/$file2get -C /tmp/$dir2get" 
sudo su l4d2 -c "cp -a /tmp/$dir2get/. /home/l4d2/l4d2_server/left4dead2/"
sudo rm "/tmp/$file2get"
sudo rm -r "/tmp/$dir2get"

link2paste='https://sm.alliedmods.net/smdrop/1.12/sourcemod-1.12.0-git7195-linux.tar.gz'
file2get=$(basename "$link2paste")
dir2get=$(basename $file2get .tar.gz)
sudo su l4d2 -c "wget -O /tmp/$file2get \"$link2paste\""
sudo su l4d2 -c "mkdir -p /tmp/$dir2get"
sudo su l4d2 -c "tar -xzf /tmp/$file2get -C /tmp/$dir2get" 
sudo su l4d2 -c "cp -a /tmp/$dir2get/. /home/l4d2/l4d2_server/left4dead2/"
sudo rm "/tmp/$file2get"
sudo rm -r "/tmp/$dir2get"

sudo sh -c "cat <<EOF > /etc/systemd/system/l4d2.service
[Unit]
Description=L4D2 Dedicated Server
Wants=network-online.target
After=network-online.target

[Service]
Environment=SteamAppId=222860
Environment=LD_LIBRARY_PATH=/home/l4d2/l4d2_server/linux64:$LD_LIBRARY_PATH
Type=simple
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
User=l4d2
Group=l4d2
WorkingDirectory=/home/l4d2/l4d2_server
ExecStart=/home/l4d2/l4d2_server/srcds_run -console -game left4dead2 -port 27015 +exec server.cfg +map c14m1_junkyard -insecure -debug
[Install]
WantedBy=multi-user.target
EOF"
sudo systemctl daemon-reload
sudo systemctl start l4d2.service
sudo journalctl -u l4d2 -f
```


**Logs**

Journal log:
```
Mar 25 19:53:17 gamezserver systemd[1]: Started l4d2.service - L4D2 Dedicated Server.
Mar 25 19:53:17 gamezserver srcds_run[3454945]: Enabling debug mode
Mar 25 19:53:18 gamezserver srcds_run[3454945]: Server will auto-restart if there is a crash.
Mar 25 19:53:18 gamezserver srcds_run[3454956]: Setting breakpad minidump AppID = 222860
Mar 25 19:53:18 gamezserver srcds_run[3454956]: Using breakpad crash handler
Mar 25 19:53:18 gamezserver srcds_run[3454956]: Forcing breakpad minidump interfaces to load
Mar 25 19:53:18 gamezserver srcds_run[3454956]: Looking up breakpad interfaces from steamclient
Mar 25 19:53:18 gamezserver srcds_run[3454956]: Calling BreakpadMiniDumpSystemInit
Mar 25 19:53:19 gamezserver srcds_run[3454956]: [S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
Mar 25 19:53:19 gamezserver srcds_run[3454956]: [S_API] SteamAPI_Init(): Loaded '/home/l4d2/.steam/sdk32/steamclient.so' OK.
Mar 25 19:53:19 gamezserver srcds_run[3454956]: #Using shader api: bin/shaderapiempty_srv.so
Mar 25 19:53:19 gamezserver srcds_run[3454956]: #
Mar 25 19:53:19 gamezserver srcds_run[3454956]: #Console initialized.
Mar 25 19:53:19 gamezserver srcds_run[3454956]: #Using breakpad minidump system
Mar 25 19:53:19 gamezserver srcds_run[3454956]: #Game_srv.so loaded for "Left 4 Dead 2"
Mar 25 19:53:19 gamezserver srcds_run[3454956]: Server is hibernating
Mar 25 19:53:19 gamezserver srcds_run[3454956]: ConVarRef test_progression_loop doesn't point to an existing ConVar
Mar 25 19:53:21 gamezserver srcds_run[3454956]: [S_API FAIL] SteamAPI_Init() failed; create pipe failed.Looking up breakpad interfaces from steamclient
Mar 25 19:53:21 gamezserver srcds_run[3454956]: Calling BreakpadMiniDumpSystemInit
Mar 25 19:53:22 gamezserver srcds_run[3454945]: Segmentation fault (core dumped)
Mar 25 19:53:22 gamezserver srcds_run[3455040]: BFD: warning: /home/l4d2/l4d2_server/core has a segment extending past end of file
Mar 25 19:53:22 gamezserver srcds_run[3455040]: warning: core file may not match specified executable file.
Mar 25 19:53:22 gamezserver srcds_run[3455040]: Failed to read a valid object file image from memory.
Mar 25 19:53:22 gamezserver srcds_run[3455040]: debug.cmds:5: Error in sourced command file:
Mar 25 19:53:22 gamezserver srcds_run[3455040]: No function contains program counter for selected frame.
Mar 25 19:53:22 gamezserver srcds_run[3454945]: email debug.log to linux@valvesoftware.com
Mar 25 19:53:22 gamezserver srcds_run[3454945]: Tue Mar 25 19:53:22 EDT 2025: Server restart in 10 seconds
```

debug.log:
```
CRASH: Tue Mar 25 19:53:22 EDT 2025
Start Line: ./srcds_linux -console -game left4dead2 -port 27015 +exec server.cfg +map c14m1_junkyard -insecure -debug
[New LWP 3454956]
[New LWP 3455015]
[New LWP 3455017]
Core was generated by `/usr/bin/FEXInterpreter ./srcds_linux ./srcds_linux -console -game left4dead2 -'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000000037b3d9ea0 in ?? ()
[Current thread is 1 (LWP 3454956)]
#0  0x000000037b3d9ea0 in ?? ()
#1  0x00000003612e31fc in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
No symbol table info available.
x0             0x3cc90ab0          1019808432
x1             0x0                 0
x2             0x78                120
x3             0x648557df          1686460383
x4             0x0                 0
x5             0x27f               639
x6             0x1                 1
x7             0x0                 0
x8             0xff5f5bd0          4284439504
x9             0xff5f5c08          4284439560
x10            0x1                 1
x11            0x1                 1
x12            0xf08b5ed32788      264481382016904
x13            0x36df52088         14729683080
x14            0xffff              65535
x15            0xffff              65535
x16            0x1                 1
x17            0xf08b5e81c080      264481376682112
x18            0x0                 0
x19            0x25                37
x20            0x4                 4
x21            0xffffffffecbf5dc0  -323002944
x22            0x7                 7
x23            0x1                 1
x24            0x3fff              16383
x25            0x8000000000000000  -9223372036854775808
x26            0xff5f5bc4          4284439492
x27            0xa0a48f            10527887
x28            0xf08b5dac70a0      264481362702496
x29            0x2e                46
x30            0x3612e31fc         14515319292
sp             0xffffc7662d30      0xffffc7662d30
pc             0x37b3d9ea0         0x37b3d9ea0
cpsr           0xa0001000          [ EL=0 BTYPE=0 SSBS C N ]
fpsr           0x13                [ IOC DZC IXC ]
fpcr           0x1000000           [ Len=0 Stride=0 RMode=0 FZ ]
tpidr          0xf08b5ed32760      0xf08b5ed32760
tpidr2         0x0                 0x0
No shared libraries loaded at this time.
End of Source crash report
```

**System information:**
 - OS: Ubuntu 24.04
 - CPU/SoC: Server Neoverse-N1 aarch64
 - RootFS used: Ubuntu 24.04 Official Rootfs
 - FEX version: FEX-2503 installed with the ppa (FEXGetConfig --version)
 - Thunks Enabled: No, unless the ppa ships with a thunk

**Additional context**
 - Is this an x86 or x86-64 game: x86
 - This is a game server