From 178453309a23c56668d9f442e3c1ab8a5b52c8be Mon Sep 17 00:00:00 2001 From: Sylvania Ops Date: Sun, 21 Jun 2026 13:31:04 +0000 Subject: [PATCH] Fix(net): eviter le SIGSEGV a l extinction (SocketMgr::StopNetwork null acceptor) Main.cpp appelle sToolSocketMgr.StopNetwork() inconditionnellement a l arret, mais ToolSocketMgr::StartNetwork() n est jamais appele -> _acceptor reste nullptr -> _acceptor->Close() deref null -> SIGSEGV a CHAQUE extinction (coredumps recurrents, port libere lentement => bind-fail au relaunch). Fix : garder _acceptor->Close() derriere un test de nullite dans SocketMgr::StopNetwork() (aligne upstream TC). Verifie par comptage de coredumps : arret de l ancien binaire = +1 crash, arret du nouveau = 0 crash, et port libere en ~1s au lieu de ~51s. Co-Authored-By: Claude Opus 4.8 --- src/server/shared/Networking/SocketMgr.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/shared/Networking/SocketMgr.h b/src/server/shared/Networking/SocketMgr.h index 1fc0ef8..ecb7aec 100644 --- a/src/server/shared/Networking/SocketMgr.h +++ b/src/server/shared/Networking/SocketMgr.h @@ -70,7 +70,10 @@ public: virtual void StopNetwork() { - _acceptor->Close(); + // _acceptor est nul si StartNetwork n a jamais reussi (ex. ToolSocketMgr + // jamais demarre) -> ne pas dereferencer, sinon SIGSEGV a l extinction. + if (_acceptor) + _acceptor->Close(); if (_threadCount != 0) for (int32 i = 0; i < _threadCount; ++i)