From 08f2d57e0887d85aaaeb09430fe8c2b944b4a5a6 Mon Sep 17 00:00:00 2001 From: Erik Date: Wed, 8 Apr 2026 16:38:40 +0200 Subject: [PATCH] fix: add debug logging for dungeon_map sends, guard COM exceptions - Log dungeon_map payload size and send success/failure - Guard early COM calls (CharacterFilter, Actions.Heading) with try/catch to prevent RPC_E_SERVERFAULT during state transitions Co-Authored-By: Claude Opus 4.6 (1M context) --- MosswartMassacre/NearbyObjectsTracker.cs | 32 +++++++++++++++--- .../bin/Release/MosswartMassacre.dll | Bin 1759744 -> 1760256 bytes 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/MosswartMassacre/NearbyObjectsTracker.cs b/MosswartMassacre/NearbyObjectsTracker.cs index daa0a4c..1104dc4 100644 --- a/MosswartMassacre/NearbyObjectsTracker.cs +++ b/MosswartMassacre/NearbyObjectsTracker.cs @@ -104,8 +104,21 @@ namespace MosswartMassacre var dungeonMap = _dungeonMapReader.ReadDungeonMap(landcell, characterName); if (dungeonMap != null) { - var json = JsonConvert.SerializeObject(dungeonMap); - await WebSocket.SendDungeonMapAsync(json); + try + { + var json = JsonConvert.SerializeObject(dungeonMap); + _logger?.Log($"[Radar] Sending dungeon_map ({json.Length} bytes) for 0x{landblock:X8}"); + await WebSocket.SendDungeonMapAsync(json); + _logger?.Log($"[Radar] dungeon_map sent successfully"); + } + catch (Exception ex) + { + _logger?.Log($"[Radar] dungeon_map send failed: {ex.Message}"); + } + } + else + { + _logger?.Log($"[Radar] ReadDungeonMap returned null for 0x{landblock:X8} (already cached or not a dungeon)"); } } } @@ -114,11 +127,20 @@ namespace MosswartMassacre { try { + // Guard against COM exceptions during state transitions + string characterName; + int playerId; + double playerHeading; + try + { + characterName = CoreManager.Current.CharacterFilter.Name; + playerId = CoreManager.Current.CharacterFilter.Id; + playerHeading = CoreManager.Current.Actions.Heading; + } + catch { return null; } + var playerCoords = Coordinates.Me; var playerRawPos = Utils.GetPlayerPosition(); - double playerHeading = CoreManager.Current.Actions.Heading; - string characterName = CoreManager.Current.CharacterFilter.Name; - int playerId = CoreManager.Current.CharacterFilter.Id; uint landcell = Utils.GetPlayerLandcell(); uint landblock = landcell & 0xFFFF0000; diff --git a/MosswartMassacre/bin/Release/MosswartMassacre.dll b/MosswartMassacre/bin/Release/MosswartMassacre.dll index ace5089db4754e41a3f162ff7608071b1295dba7..0a828b55c921caa29b2a2ce3c2ad30b594d91d9a 100644 GIT binary patch delta 31090 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 delta 30563 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 pZK;m6i_e(Wie