Files
source-gamepanel/conduit-bringup-artifacts/linux-bringup-report-20260613.md
T
2026-07-21 22:06:10 +00:00

14 KiB

Conduit Linux Bring-up Report - 2026-06-13

Target server:

  • CS2 container: gp_c2b47a90
  • CS2 server UUID: c2b47a90
  • CS2 name: Test Sunucusu
  • Satisfactory container: gp_d8f13411 (left untouched)

Artifacts copied next to this report:

  • conduit-20260613.log
  • conduit-crash-20260613-113458.txt

Final service state after crash test recovery:

/gp_c2b47a90 running running=true exit=0 oom=false
/gp_d8f13411 exited running=false exit=130 oom=false

Panel DB state after recovery:

   uuid   |      name      | status  |     slug     | port
----------+----------------+---------+--------------+-------
 c2b47a90 | Test Sunucusu  | running | cs2          | 27015
 d8f13411 | MukemmelSunucu | stopped | satisfactory |  7777
(2 rows)

1. Build Result

Final build succeeded using GCC 12 in build/linux-gcc12.

Final link output:

[27/27] Linking CXX shared library package/addons/conduit/bin/conduit.so

Build/deploy issues encountered and fixed:

  • Ubuntu clang++ was 14.0.0 and rejected -std=c++23.
  • hl2sdk headers needed POSIX aliases for stricmp/strcmpi during this Linux build.
  • crash_handler_linux.cpp needed cstdarg visible for va_start/va_end; handled via build flag.
  • watchdog.cpp had a Linux compile error because glibc SIGRTMIN is runtime, not constexpr. Local source change:
-constexpr int kSampleSignal = SIGRTMIN + 4;
+const int kSampleSignal = SIGRTMIN + 4;
  • First deployed build failed to load in Metamod with protobuf ABI mismatch:
[META] Failed to load plugin addons/conduit/bin/conduit: /home/steam/cs2-dedicated/game/csgo/addons/conduit/bin/conduit.so: undefined symbol: _ZNK6google8protobuf7Message11GetTypeNameB5cxx11Ev

Rebuilt with _GLIBCXX_USE_CXX11_ABI=0; Conduit then loaded successfully.

Final configure command used:

cmake -S /root/codex/Conduit -B /root/codex/Conduit/build/linux-gcc12 -G Ninja \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  -DCMAKE_C_COMPILER=gcc-12 \
  -DCMAKE_CXX_COMPILER=g++-12 \
  "-DCMAKE_CXX_FLAGS=-include strings.h -include cstdarg -Dstricmp=strcasecmp -Dstrcmpi=strcasecmp -D_GLIBCXX_USE_CXX11_ABI=0"

2. meta list

rcon: authenticated
--- meta list ---
Listing 1 plugin:
  [01] Conduit (0.1.0-dev) by Conduit Contributors

3. conduit_status + conduit_prof

--- conduit_status ---
Conduit 0.1.0-dev
  uptime      : 3384.6 s
  game frames : 215969
  log file    : /home/steam/cs2-dedicated/game/csgo/addons/conduit/logs/conduit-20260613.log
  crash report: armed (use conduit_crash_test to verify)
--- conduit_prof ---
owner                callsite                          calls       avg       p50       p99       max      total
engine               GameFrame                        215971    2.36ms    4.19ms    4.19ms   34.46ms    510.40s
stall_test_plugin    conduit_stall_test                    1     1.50s     2.15s     2.15s     1.50s      1.50s
core                 SchemaFindField                       2    98.4us   262.1us   262.1us   164.3us    196.7us

After the deliberate crash test and restart, Conduit loaded again:

rcon: authenticated
--- meta list ---
Listing 1 plugin:
  [01] Conduit (0.1.0-dev) by Conduit Contributors
--- conduit_status ---
Conduit 0.1.0-dev
  uptime      : 130.2 s
  game frames : 7760
  log file    : /home/steam/cs2-dedicated/game/csgo/addons/conduit/logs/conduit-20260613.log
  crash report: armed (use conduit_crash_test to verify)

4. conduit_schema

--- conduit_schema CCSPlayerPawn m_iHealth ---
CCSPlayerPawn::m_iHealth -> offset 0x5B0 (1456), type int32
--- conduit_schema CBaseEntity m_iTeamNum ---
CBaseEntity::m_iTeamNum -> offset 0x624 (1572), type uint8

Comparison with Windows reference from the bring-up doc:

  • CCSPlayerPawn::m_iHealth: Linux 0x5B0, Windows expected 0x2D0 -> mismatch.
  • CBaseEntity::m_iTeamNum: Linux 0x624, Windows expected 0x344 -> mismatch.

5. conduit_stall_test 1500 Watchdog Block

RCON command:

rcon: authenticated
--- conduit_stall_test 1500 ---
[Conduit] stalling the game thread for 1500 ms...

Conduit log block:

2026-06-13 10:35:31 [WARN] watchdog: game thread has not advanced a frame for 591 ms (outside GameFrame)
2026-06-13 10:35:31 [WARN] watchdog:   context 1: owner=stall_test_plugin callsite=conduit_stall_test
2026-06-13 10:35:31 [WARN] watchdog: >>> most likely culprit: 'stall_test_plugin' (in 'conduit_stall_test')
2026-06-13 10:35:31 [WARN] watchdog:   #00 /home/steam/cs2-dedicated/game/csgo/addons/conduit/bin/conduit.so(+0xc95c9) [0x7fdf9e69e5c9]
2026-06-13 10:35:31 [WARN] watchdog:   #01 /lib/x86_64-linux-gnu/libc.so.6(+0x3c050) [0x7fdfefa51050]
2026-06-13 10:35:31 [WARN] watchdog:   #02 /lib/x86_64-linux-gnu/libc.so.6(clock_nanosleep+0x65) [0x7fdfefae4545]
2026-06-13 10:35:31 [WARN] watchdog:   #03 /lib/x86_64-linux-gnu/libc.so.6(nanosleep+0x13) [0x7fdfefae8e53]
2026-06-13 10:35:31 [WARN] watchdog:   #04 /home/steam/cs2-dedicated/game/csgo/addons/conduit/bin/conduit.so(+0xbf703) [0x7fdf9e694703]
2026-06-13 10:35:31 [WARN] watchdog:   #05 /home/steam/cs2-dedicated/game/bin/linuxsteamrt64/libtier0.so(+0x1e0902) [0x7fdfef4ca902]
2026-06-13 10:35:32 [INFO] watchdog: game thread recovered after a ~1586 ms stall

Notes:

  • Attribution worked.
  • Stack sample landed.
  • Symbol quality is partial: libconduit.so(+0x...) offsets are present, but not function names such as conduit_stall_test.

6. conduit_crash_test Report

RCON command result:

rcon: authenticated
--- conduit_crash_test ---
(no response: connection closed)

Generated file:

/var/lib/gamepanel/servers/c2b47a90/game/csgo/addons/conduit/crashes/conduit-crash-20260613-113458.txt

Crash report content:

=== CONDUIT CRASH REPORT ==========================================
Framework : Conduit 0.1.0-dev
Time      : 2026-06-13 11:34:58 (local)
Process   : pid=36
Signal    : 11 (Segmentation fault), fault address (nil)

--- ATTRIBUTION ---------------------------------------------------
  1. owner=crash_test_plugin  callsite=conduit_crash_test
>>> Most likely culprit: 'crash_test_plugin' (in 'conduit_crash_test')

--- STACK TRACE ---------------------------------------------------
  #00 /home/steam/cs2-dedicated/game/csgo/addons/conduit/bin/conduit.so(+0xbfb64) [0x7fdf9e694b64]
  #01 /lib/x86_64-linux-gnu/libc.so.6(+0x3c050) [0x7fdfefa51050]
  #02 /home/steam/cs2-dedicated/game/csgo/addons/conduit/bin/conduit.so(+0xbf66c) [0x7fdf9e69466c]
  #03 /home/steam/cs2-dedicated/game/bin/linuxsteamrt64/libtier0.so(+0x1e0902) [0x7fdfef4ca902]

--- RECENT EVENTS (oldest first) ----------------------------------
  [-1767.736s] [INFO] perf: heartbeat: 1921 frames, avg 2.22 ms, max 20.85 ms (last 30 s)
  [-1737.735s] [INFO] perf: heartbeat: 1920 frames, avg 2.16 ms, max 5.31 ms (last 30 s)
  [-1707.720s] [INFO] perf: heartbeat: 1921 frames, avg 2.12 ms, max 4.39 ms (last 30 s)
  [-1677.719s] [INFO] perf: heartbeat: 1920 frames, avg 2.20 ms, max 5.59 ms (last 30 s)
  [-1647.706s] [INFO] perf: heartbeat: 1921 frames, avg 2.39 ms, max 23.56 ms (last 30 s)
  [-1617.705s] [INFO] perf: heartbeat: 1920 frames, avg 2.71 ms, max 7.46 ms (last 30 s)
  [-1587.691s] [INFO] perf: heartbeat: 1921 frames, avg 2.37 ms, max 8.58 ms (last 30 s)
  [-1557.680s] [INFO] perf: heartbeat: 1921 frames, avg 2.33 ms, max 4.84 ms (last 30 s)
  [-1527.679s] [INFO] perf: heartbeat: 1920 frames, avg 2.25 ms, max 5.09 ms (last 30 s)
  [-1497.674s] [INFO] perf: heartbeat: 1920 frames, avg 2.18 ms, max 19.43 ms (last 30 s)
  [-1467.673s] [INFO] perf: heartbeat: 1920 frames, avg 2.30 ms, max 6.87 ms (last 30 s)
  [-1437.669s] [INFO] perf: heartbeat: 1920 frames, avg 2.23 ms, max 34.46 ms (last 30 s)
  [-1407.668s] [INFO] perf: heartbeat: 1920 frames, avg 2.45 ms, max 6.17 ms (last 30 s)
  [-1377.653s] [INFO] perf: heartbeat: 1921 frames, avg 2.46 ms, max 6.25 ms (last 30 s)
  [-1347.653s] [INFO] perf: heartbeat: 1920 frames, avg 2.53 ms, max 5.44 ms (last 30 s)
  [-1317.644s] [INFO] perf: heartbeat: 1921 frames, avg 2.51 ms, max 20.77 ms (last 30 s)
  [-1287.631s] [INFO] perf: heartbeat: 1921 frames, avg 2.46 ms, max 6.45 ms (last 30 s)
  [-1257.614s] [INFO] perf: heartbeat: 1921 frames, avg 2.57 ms, max 5.90 ms (last 30 s)
  [-1227.600s] [INFO] perf: heartbeat: 1921 frames, avg 2.54 ms, max 5.79 ms (last 30 s)
  [-1197.583s] [INFO] perf: heartbeat: 1921 frames, avg 2.56 ms, max 6.94 ms (last 30 s)
  [-1167.578s] [INFO] perf: heartbeat: 1920 frames, avg 2.46 ms, max 20.36 ms (last 30 s)
  [-1137.562s] [INFO] perf: heartbeat: 1921 frames, avg 2.47 ms, max 7.86 ms (last 30 s)
  [-1107.548s] [INFO] perf: heartbeat: 1921 frames, avg 2.53 ms, max 6.38 ms (last 30 s)
  [-1077.547s] [INFO] perf: heartbeat: 1920 frames, avg 2.54 ms, max 4.09 ms (last 30 s)
  [-1047.543s] [INFO] perf: heartbeat: 1920 frames, avg 2.61 ms, max 33.69 ms (last 30 s)
  [-1017.532s] [INFO] perf: heartbeat: 1921 frames, avg 2.44 ms, max 5.97 ms (last 30 s)
  [- 987.516s] [INFO] perf: heartbeat: 1921 frames, avg 2.59 ms, max 5.71 ms (last 30 s)
  [- 957.501s] [INFO] perf: heartbeat: 1921 frames, avg 2.56 ms, max 7.43 ms (last 30 s)
  [- 927.501s] [INFO] perf: heartbeat: 1920 frames, avg 2.60 ms, max 9.17 ms (last 30 s)
  [- 897.490s] [INFO] perf: heartbeat: 1921 frames, avg 2.56 ms, max 24.84 ms (last 30 s)
  [- 867.475s] [INFO] perf: heartbeat: 1921 frames, avg 2.58 ms, max 6.20 ms (last 30 s)
  [- 837.475s] [INFO] perf: heartbeat: 1920 frames, avg 2.74 ms, max 5.57 ms (last 30 s)
  [- 807.475s] [INFO] perf: heartbeat: 1920 frames, avg 2.71 ms, max 6.15 ms (last 30 s)
  [- 777.460s] [INFO] perf: heartbeat: 1921 frames, avg 2.70 ms, max 5.47 ms (last 30 s)
  [- 747.449s] [INFO] perf: heartbeat: 1920 frames, avg 2.68 ms, max 24.22 ms (last 30 s)
  [- 717.434s] [INFO] perf: heartbeat: 1921 frames, avg 2.80 ms, max 8.64 ms (last 30 s)
  [- 687.419s] [INFO] perf: heartbeat: 1921 frames, avg 2.65 ms, max 5.28 ms (last 30 s)
  [- 657.418s] [INFO] perf: heartbeat: 1920 frames, avg 2.66 ms, max 6.34 ms (last 30 s)
  [- 627.416s] [INFO] perf: heartbeat: 1920 frames, avg 2.51 ms, max 31.89 ms (last 30 s)
  [- 597.416s] [INFO] perf: heartbeat: 1920 frames, avg 2.61 ms, max 6.72 ms (last 30 s)
  [- 567.400s] [INFO] perf: heartbeat: 1921 frames, avg 2.67 ms, max 6.53 ms (last 30 s)
  [- 537.384s] [INFO] perf: heartbeat: 1921 frames, avg 2.66 ms, max 6.66 ms (last 30 s)
  [- 507.369s] [INFO] perf: heartbeat: 1921 frames, avg 2.55 ms, max 5.30 ms (last 30 s)
  [- 477.365s] [INFO] perf: heartbeat: 1921 frames, avg 2.50 ms, max 34.05 ms (last 30 s)
  [- 447.364s] [INFO] perf: heartbeat: 1920 frames, avg 2.59 ms, max 5.42 ms (last 30 s)
  [- 417.349s] [INFO] perf: heartbeat: 1921 frames, avg 2.66 ms, max 6.55 ms (last 30 s)
  [- 387.334s] [INFO] perf: heartbeat: 1921 frames, avg 2.34 ms, max 4.63 ms (last 30 s)
  [- 357.334s] [INFO] perf: heartbeat: 1920 frames, avg 2.77 ms, max 6.65 ms (last 30 s)
  [- 327.332s] [INFO] perf: heartbeat: 1920 frames, avg 2.74 ms, max 26.14 ms (last 30 s)
  [- 312.170s] detour 'detour_self_test' installed at 0x7fdf9e693cd0
  [- 312.170s] [INFO] hooks: detour 'detour_self_test' installed at 0x7fdf9e693cd0
  [- 312.169s] detour 'detour_self_test' removed
  [- 312.169s] [INFO] hooks: detour 'detour_self_test' removed
  [- 297.318s] [INFO] perf: heartbeat: 1921 frames, avg 2.73 ms, max 6.96 ms (last 30 s)
  [- 267.308s] [INFO] perf: heartbeat: 1920 frames, avg 2.58 ms, max 6.68 ms (last 30 s)
  [- 237.308s] [INFO] perf: heartbeat: 1920 frames, avg 2.68 ms, max 7.08 ms (last 30 s)
  [- 207.296s] [INFO] perf: heartbeat: 1921 frames, avg 2.50 ms, max 25.68 ms (last 30 s)
  [- 177.293s] [INFO] perf: heartbeat: 1920 frames, avg 2.51 ms, max 5.12 ms (last 30 s)
  [- 147.280s] [INFO] perf: heartbeat: 1921 frames, avg 2.65 ms, max 5.80 ms (last 30 s)
  [- 117.280s] [INFO] perf: heartbeat: 1920 frames, avg 2.64 ms, max 6.24 ms (last 30 s)
  [-  87.265s] [INFO] perf: heartbeat: 1921 frames, avg 2.78 ms, max 5.95 ms (last 30 s)
  [-  57.263s] [INFO] perf: heartbeat: 1920 frames, avg 2.66 ms, max 31.12 ms (last 30 s)
  [-  27.248s] [INFO] perf: heartbeat: 1921 frames, avg 2.72 ms, max 7.34 ms (last 30 s)
  [-   0.001s] [WARN] core: conduit_crash_test invoked — crashing deliberately
===================================================================

7. Conduit Log File

Original log file:

/var/lib/gamepanel/servers/c2b47a90/game/csgo/addons/conduit/logs/conduit-20260613.log

Copied artifact:

/root/codex/source-gamepanel/conduit-bringup-artifacts/conduit-20260613.log

Relevant load lines:

2026-06-13 10:33:21 [INFO] gamedata: 1 files loaded: 0 signatures, 0 offsets, all valid
2026-06-13 10:33:21 [INFO] core: Conduit 0.1.0-dev loaded — crash reporter armed, profiler on
2026-06-13 10:33:29 [INFO] core: first GameFrame observed — hook dispatch confirmed

8. Console / Metamod / Signal Warnings

Important console findings:

  1. Before the ABI rebuild, Metamod failed to load Conduit:
[META] Failed to load plugin addons/conduit/bin/conduit: /home/steam/cs2-dedicated/game/csgo/addons/conduit/bin/conduit.so: undefined symbol: _ZNK6google8protobuf7Message11GetTypeNameB5cxx11Ev
[META] Loaded 0 plugins.

This was fixed by rebuilding with _GLIBCXX_USE_CXX11_ABI=0.

  1. After the successful build, no current Metamod load failure was observed. meta list reports Conduit loaded.

  2. Signal/watchdog behavior:

  • No signal clash symptoms observed.
  • No (stack sample timed out) observed.
  • Stack sample appeared, but symbol names are mostly raw offsets for libconduit.so.
  1. Crash test console tail showed the expected deliberate crash:
post-hook: noop
entry.sh: line 192:    36 Segmentation fault      (core dumped) ./cs2 -dedicated -ip 0.0.0.0 -port 27015 -console -usercon -maxplayers 16 +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 +rcon_password changeme +sv_lan 0 +tv_port 27020 -insecure

Other engine/game warnings seen, not clearly Conduit-specific:

Failed loading resource "maps/prefabs/misc/terrorist_team_intro_variant2/world_visibility.vvis_c" (ERROR_FILEOPEN: File not found)
Failed to write backup_round15.txt!
UNEXPECTED LONG FRAME DETECTED

Additional Findings

conduit_dumpbytes found server!CreateInterface:

[Conduit] server!CreateInterface @ 0x7fdfaa682220
  55 48 89 E5 41 55 49 89 F5 41 54 53 48 83 EC 08

But scanning the same pattern failed:

[Conduit] no match in server (285312 bytes scanned)

This looks like a Linux memscan bug or module range issue: export lookup can locate CreateInterface, but ScanPattern does not find the bytes at that address.

conduit_detour_test passed:

[Conduit] detour test: PASS (before=42 during=43 after=42; expected 42/43/42)