# 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: ```text /gp_c2b47a90 running running=true exit=0 oom=false /gp_d8f13411 exited running=false exit=130 oom=false ``` Panel DB state after recovery: ```text 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: ```text [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: ```diff -constexpr int kSampleSignal = SIGRTMIN + 4; +const int kSampleSignal = SIGRTMIN + 4; ``` - First deployed build failed to load in Metamod with protobuf ABI mismatch: ```text [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: ```sh 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 ```text rcon: authenticated --- meta list --- Listing 1 plugin: [01] Conduit (0.1.0-dev) by Conduit Contributors ``` ## 3. conduit_status + conduit_prof ```text --- 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: ```text 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 ```text --- 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: ```text rcon: authenticated --- conduit_stall_test 1500 --- [Conduit] stalling the game thread for 1500 ms... ``` Conduit log block: ```text 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: ```text rcon: authenticated --- conduit_crash_test --- (no response: connection closed) ``` Generated file: ```text /var/lib/gamepanel/servers/c2b47a90/game/csgo/addons/conduit/crashes/conduit-crash-20260613-113458.txt ``` Crash report content: ```text === 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: ```text /var/lib/gamepanel/servers/c2b47a90/game/csgo/addons/conduit/logs/conduit-20260613.log ``` Copied artifact: ```text /root/codex/source-gamepanel/conduit-bringup-artifacts/conduit-20260613.log ``` Relevant load lines: ```text 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: ```text [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`. 2. After the successful build, no current Metamod load failure was observed. `meta list` reports Conduit loaded. 3. 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`. 4. Crash test console tail showed the expected deliberate crash: ```text 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: ```text 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`: ```text [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: ```text [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: ```text [Conduit] detour test: PASS (before=42 during=43 after=42; expected 42/43/42) ```