[Bug]: Action Half-Life server segfaults at start on current HLDS
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- linux, shell
- Área
- infrastructure
Línea de trabajo
Start with the ahlserver script and the ahl/dlls/ahl.so library it loads, and reproduce on the ubuntu-24.04 container with GLIBC_TUNABLES=glibc.rtld.execstack=2 ./ahlserver start. Run the server under gdb or enable core dumps to find whether the segfault is in ahl.so or the engine, after SteamAPI_Init and Breakpad start. Done means the server starts, answers queries, and stays up under monitor, or the script is marked as not working on current HLDS. Related work is in #5140.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Severity
severity: medium
Reproducibility
reproducible: always
Regression
regression: unknown
Affects latest release
latest-release: yes
User story
As an Action Half-Life server owner, I want the server to start and stay up so that players can join.
Script name
ahlserver
Game
Action Half-Life
Linux distro
Ubuntu 26.04, Ubuntu 24.04
Command
command: start, command: monitor
Expected behavior
start brings the server up and it answers queries, and monitor leaves it running.
Actual behavior
The server exits during startup, so monitor restarts it every few minutes. Two separate problems show up, one after the other:
- On Ubuntu 26.04 (glibc 2.43),
ahl/dlls/ahl.sofails to load withcannot enable executable stack as shared object requires: Invalid argument. The library has noGNU_STACKheader, and glibc 2.41 and newer refuses it. The fix for this is the sameglibc.rtld.execstack=2tunable used for cod2, codwaw, sfc, ts and vs (#5140). - With that tunable set,
ahl.soloads, and then the server segfaults straight after the Steam API and Breakpad start up, before it binds its port.
The segfault in step 2 is not caused by glibc:
- Ubuntu 24.04 (glibc 2.39, no execstack check) segfaults at the same point.
- It happens on the current HLDS public build (exe build 10211) and on the
steam_legacybranch (exe build 8684). - It happens with the original hosted archive and with the rebuilt one.
The mod library dates from 2004, so the likely cause is that it no longer works with any HLDS build Steam still offers. Adding the execstack tunable on its own would only swap the loader error for this segfault, so ahl was left out of the execstack follow-up for #5140.
Further information
Ideas for the fix:
- Get a backtrace: run
hlds_linuxunder gdb, or enable core dumps in the container, and see whether the crash is inahl.soor in the engine. - Check whether a community-maintained
ahl.sobuild exists that works with current HLDS. - If neither works out, consider ReHLDS for this mod only, or mark ahl as not working on current HLDS.
Pre-checks
- I ran update and validate before reporting this issue.
Relevant log output
[S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK.
Calling BreakpadMiniDumpSystemInit
Segmentation fault (core dumped)
Steps to reproduce
- In a clean
gameservermanagers/linuxgsm:ubuntu-26.04container, run./linuxgsm.sh ahlserverand./ahlserver auto-install. - Run
./ahlserver start. The server exits with the executable stack error. - Run
GLIBC_TUNABLES=glibc.rtld.execstack=2 ./ahlserver start. The server now segfaults afterSteamAPI_Init. - Repeat on
ubuntu-24.04: the segfault is the same.
- Lenguaje dominante
- Shell
- Estrellas
- 4.9k
- Forks
- 870
- Merge medio
- 22 h 45 min
- PR fusionados (30 d)
- 128
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de GameServerManagers/LinuxGSM
-
[Bug]: Zombie Master: Reborn runs in LAN mode and never answers queries on the current Source SDK 2013 buildPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertocommand: install command: monitor command: start distro: Ubuntu engine: source game: Zombie Master: Reborn info: query regression: yes reproducible: always severity: high status: fixed in develop type: bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
GameServerManagers/LinuxGSM#5145 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: csserver metamod fails to load amxmodx after ubuntu 26.04 base imagePosiblemente ocupada @dgibbs64 la tomó hace 3 días. Abiertocommand: mods command: start distro: Ubuntu regression: yes reproducible: always severity: medium status: fixed in develop type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
GameServerManagers/LinuxGSM#5114 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[Bug]: cs2server ignores the GSLT entered during installPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertocommand: install command: start distro: Debian engine: source2 game: Counter-Strike 2 regression: yes reproducible: always severity: high type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
GameServerManagers/LinuxGSM#5106 ·
Los mantenedores suelen responder en 1 día
-
[Feature]: Rebuild the server archives hosted on linuxgsm.download with clean ownership, permissions and contentsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertocommand: install distro: Ubuntu engine: goldsrc engine: source game: Action Half-Life game: Call of Duty game: Call of Duty 4 game: Call of Duty: United Offensive game: Medal of Honor: Allied Assault game: Quake 2 game: Return to Castle Wolfenstein game: The Specialists game: Unreal Tournament 2004 game: Unreal Tournament 3 game: Unreal Tournament 99 game: Vampire Slayer game: Zombie Master: Reborn priority: low scope: multiple games type: feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 34/100
GameServerManagers/LinuxGSM#5144 ·
Los mantenedores suelen responder en 1 día
-
[Feature]: Install and update QuakeWorld from qwserver-build releasesPosiblemente ocupada @dgibbs64 la tomó hoy. Abiertocommand: install command: update distro: Ubuntu engine: quake game: Quake World priority: low scope: single game type: feature
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
GameServerManagers/LinuxGSM#5143 ·
Los mantenedores suelen responder en 1 día
Todos los issues de GameServerManagers/LinuxGSM
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
rossoctl/automation#130 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
fairagro/m4.2_infrastructure#68 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
security
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Eyevinn/python-runner#38 ·
-
lesson-submission pending-review
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Ikalus1988/MisakaNet#4446 ·
Los mantenedores suelen responder en 1 día