stackcollision / Nebulous-BugReporting

Issue-only repository for reporting bugs in NEBULOUS: Fleet Command
4 stars 0 forks source link

NRE at `Conquest.Map.StarSystemObject.get_ScaledPosition` When exiting without saving from GAME SETUP screen #692

Open NaLeslie opened 2 months ago

NaLeslie commented 2 months ago

Describe the bug Null Reference Exception occured when exiting the game setup screen without saving

NullReferenceException
  at (wrapper managed-to-native) UnityEngine.Component.get_transform(UnityEngine.Component)
  at Conquest.Map.StarSystemObject.get_ScaledPosition () [0x00000] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Conquest\Map\StarSystemObject.cs:49 
  at Conquest.Map.Overlay.CollapsedMarkerGroup.DrawShapesInternal (UnityEngine.Rendering.ScriptableRenderContext ctx, UnityEngine.Camera cam) [0x00062] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Conquest\Map\Overlay\CollapsedMarkerGroup.cs:366 
  at (wrapper delegate-invoke) System.Action`2[UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera].invoke_void_T1_T2(UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera)
  at UnityEngine.Rendering.RenderPipelineManager.BeginCameraRendering (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera) [0x00001] in C:\buildslave\unity\build\Runtime\Export\RenderPipeline\RenderPipelineManager.cs:28 
  at UnityEngine.Rendering.RenderPipeline.BeginCameraRendering (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera) [0x00001] in C:\buildslave\unity\build\Runtime\Export\RenderPipeline\RenderPipeline.cs:19 
  at UnityEngine.Rendering.HighDefinition.HDRenderPipeline.TryCull (UnityEngine.Camera camera, UnityEngine.Rendering.HighDefinition.HDCamera hdCamera, UnityEngine.Rendering.ScriptableRenderContext renderContext, UnityEngine.Rendering.HighDefinition.SkyManager skyManager, UnityEngine.Rendering.ScriptableCullingParameters cullingParams, UnityEngine.Rendering.HighDefinition.HDRenderPipelineAsset hdrp, UnityEngine.Rendering.HighDefinition.HDRenderPipeline+HDCullingResults& cullingResults) [0x00053] in D:\Projects\Unity\Nebulous Conquest\Library\PackageCache\com.unity.render-pipelines.high-definition@10.6.0\Runtime\RenderPipeline\HDRenderPipeline.cs:3440 
  at UnityEngine.Rendering.HighDefinition.HDRenderPipeline.Render (UnityEngine.Rendering.ScriptableRenderContext renderContext, UnityEngine.Camera[] cameras) [0x00341] in D:\Projects\Unity\Nebulous Conquest\Library\PackageCache\com.unity.render-pipelines.high-definition@10.6.0\Runtime\RenderPipeline\HDRenderPipeline.cs:1748 
  at UnityEngine.Rendering.RenderPipeline.InternalRender (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera[] cameras) [0x0001c] in C:\buildslave\unity\build\Runtime\Export\RenderPipeline\RenderPipeline.cs:37 
  at UnityEngine.Rendering.RenderPipelineManager.DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset pipe, System.IntPtr loopPtr, System.Collections.Generic.List`1[T] renderRequests) [0x00040] in C:\buildslave\unity\build\Runtime\Export\RenderPipeline\RenderPipelineManager.cs:90 

To Reproduce Note: I have not been able to reproduce this error a second time. Looks like the game just wasn't reporting the exceptions to me after the first one.

  1. Started a passworded multiplayer game
  2. Named the game and set the turn to 1 day
  3. Joined a team and set myself to grand admiral.
  4. Exited the game and hit CANCEL to not save the game.

Expected behavior To arrive at main menu without incident

Additional context N/A

Attachments Attach any screenshots, logs, fleet files, etc that may help. Player.log

NaLeslie commented 1 month ago

This Null reference exception has additionally happened to me following a string of function calls that occurred when the server was not active: (In case this is relevant, I was the host at the time)

(Filename: D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Sensors/TeamTrackManager.cs Line: 183)

[Server] function 'System.Void Conquest.Sensors.TeamTrackManager::UnregisterSensor(Conquest.Sensors.IMapSensor)' called when server was not active
UnityEngine.StackTraceUtility:ExtractStackTrace () (at C:/buildslave/unity/build/Runtime/Export/Scripting/StackTrace.cs:37)
UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
UnityEngine.Logger:Log (UnityEngine.LogType,object)
UnityEngine.Debug:LogWarning (object)
Conquest.Sensors.TeamTrackManager:UnregisterSensor (Conquest.Sensors.IMapSensor) (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Sensors/TeamTrackManager.cs:183)
Conquest.Units.FleetUnit:OnMapVisibilityChanged (bool) (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Units/FleetUnit.cs:374)
Conquest.Map.DynamicMapPiece:OnDestroy () (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Map/DynamicMapPiece.cs:102)
Conquest.Map.SelectableDynamicMapPiece:OnDestroy () (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Map/SelectableDynamicMapPiece.cs:19)

(Filename: D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Sensors/TeamTrackManager.cs Line: 183)

[Server] function 'System.Void Conquest.Sensors.TeamTrackManager::UnregisterSensor(Conquest.Sensors.IMapSensor)' called when server was not active
UnityEngine.StackTraceUtility:ExtractStackTrace () (at C:/buildslave/unity/build/Runtime/Export/Scripting/StackTrace.cs:37)
UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
UnityEngine.Logger:Log (UnityEngine.LogType,object)
UnityEngine.Debug:LogWarning (object)
Conquest.Sensors.TeamTrackManager:UnregisterSensor (Conquest.Sensors.IMapSensor) (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Sensors/TeamTrackManager.cs:183)
Conquest.Units.FleetUnit:OnMapVisibilityChanged (bool) (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Units/FleetUnit.cs:374)
Conquest.Map.DynamicMapPiece:OnDestroy () (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Map/DynamicMapPiece.cs:102)
Conquest.Map.SelectableDynamicMapPiece:OnDestroy () (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Map/SelectableDynamicMapPiece.cs:19)

(Filename: D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Sensors/TeamTrackManager.cs Line: 183)

[Server] function 'System.Void Conquest.Sensors.TeamTrackManager::UnregisterSensor(Conquest.Sensors.IMapSensor)' called when server was not active
UnityEngine.StackTraceUtility:ExtractStackTrace () (at C:/buildslave/unity/build/Runtime/Export/Scripting/StackTrace.cs:37)
UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
UnityEngine.Logger:Log (UnityEngine.LogType,object)
UnityEngine.Debug:LogWarning (object)
Conquest.Sensors.TeamTrackManager:UnregisterSensor (Conquest.Sensors.IMapSensor) (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Sensors/TeamTrackManager.cs:183)
Conquest.Units.FleetUnit:OnMapVisibilityChanged (bool) (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Units/FleetUnit.cs:374)
Conquest.Map.DynamicMapPiece:OnDestroy () (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Map/DynamicMapPiece.cs:102)
Conquest.Map.SelectableDynamicMapPiece:OnDestroy () (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Map/SelectableDynamicMapPiece.cs:19)

(Filename: D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/Sensors/TeamTrackManager.cs Line: 183)

NullReferenceException
  at (wrapper managed-to-native) UnityEngine.Component.get_transform(UnityEngine.Component)
  at Conquest.Map.StarSystemObject.get_ScaledPosition () [0x00000] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Conquest\Map\StarSystemObject.cs:49 
  at Conquest.Map.Overlay.CollapsedMarkerGroup.DrawShapesInternal (UnityEngine.Rendering.ScriptableRenderContext ctx, UnityEngine.Camera cam) [0x00062] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Conquest\Map\Overlay\CollapsedMarkerGroup.cs:366 
  at (wrapper delegate-invoke) System.Action`2[UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera].invoke_void_T1_T2(UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera)
  at UnityEngine.Rendering.RenderPipelineManager.BeginCameraRendering (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera) [0x00001] in C:\buildslave\unity\build\Runtime\Export\RenderPipeline\RenderPipelineManager.cs:28 
  at UnityEngine.Rendering.RenderPipeline.BeginCameraRendering (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera) [0x00001] in C:\buildslave\unity\build\Runtime\Export\RenderPipeline\RenderPipeline.cs:19 
  at UnityEngine.Rendering.HighDefinition.HDRenderPipeline.TryCull (UnityEngine.Camera camera, UnityEngine.Rendering.HighDefinition.HDCamera hdCamera, UnityEngine.Rendering.ScriptableRenderContext renderContext, UnityEngine.Rendering.HighDefinition.SkyManager skyManager, UnityEngine.Rendering.ScriptableCullingParameters cullingParams, UnityEngine.Rendering.HighDefinition.HDRenderPipelineAsset hdrp, UnityEngine.Rendering.HighDefinition.HDRenderPipeline+HDCullingResults& cullingResults) [0x00053] in D:\Projects\Unity\Nebulous Conquest\Library\PackageCache\com.unity.render-pipelines.high-definition@10.6.0\Runtime\RenderPipeline\HDRenderPipeline.cs:3440 
  at UnityEngine.Rendering.HighDefinition.HDRenderPipeline.Render (UnityEngine.Rendering.ScriptableRenderContext renderContext, UnityEngine.Camera[] cameras) [0x00341] in D:\Projects\Unity\Nebulous Conquest\Library\PackageCache\com.unity.render-pipelines.high-definition@10.6.0\Runtime\RenderPipeline\HDRenderPipeline.cs:1748 
  at UnityEngine.Rendering.RenderPipeline.InternalRender (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera[] cameras) [0x0001c] in C:\buildslave\unity\build\Runtime\Export\RenderPipeline\RenderPipeline.cs:37 
  at UnityEngine.Rendering.RenderPipelineManager.DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset pipe, System.IntPtr loopPtr, System.Collections.Generic.List`1[T] renderRequests) [0x00040] in C:\buildslave\unity\build\Runtime\Export\RenderPipeline\RenderPipelineManager.cs:90 

Unloading 2 Unused Serialized files (Serialized files now loaded: 0)
UnloadTime: 39.690700 ms
Steam Manager created
Multiple NetworkManagers detected in the scene. Only one NetworkManager can exist at a time. The duplicate NetworkManager will be destroyed.

excerpt starts at ln 17913, although the function calls when the server was not active extends for many lines beforehand Player_7.log

NaLeslie commented 1 month ago

This occurred one other time during game start.

Steamworks.Dispatch/<>c__DisplayClass29_0`1<Steamworks.Data.SteamNetConnectionStatusChangedCallback_t>:<Install>b__0 (intptr)
Steamworks.Dispatch:ProcessCallback (Steamworks.Dispatch/CallbackMsg_t,bool)
Steamworks.Dispatch:Frame (Steamworks.Data.HSteamPipe)
Steamworks.SteamClient:RunCallbacks ()
Networking.SteamManager:Update () (at D:/Projects/Unity/Nebulous Conquest/Assets/Source/Networking/SteamManager.cs:183)

(Filename: D:/Projects/Unity/Nebulous Conquest/Assets/Source/Conquest/ConquestGameManager.cs Line: 1075)

Disconnected.
Conquest Player being destroyed.  Unregistering.
GameManager::UnregisterPlayer: Unregistering ID for player 0
Conquest Player being destroyed.  Unregistering.
GameManager::UnregisterPlayer: Unregistering ID for player 1
NullReferenceException
  at (wrapper managed-to-native) UnityEngine.Component.get_transform(UnityEngine.Component)
  at Conquest.Map.StarSystemObject.get_ScaledPosition () [0x00000] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Conquest\Map\StarSystemObject.cs:49 
  at Conquest.Map.Overlay.CollapsedMarkerGroup.DrawShapesInternal (UnityEngine.Rendering.ScriptableRenderContext ctx, UnityEngine.Camera cam) [0x00062] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Conquest\Map\Overlay\CollapsedMarkerGroup.cs:366 
  at (wrapper delegate-invoke) System.Action`2[UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera].invoke_void_T1_T2(UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera)
  at UnityEngine.Rendering.RenderPipelineManager.BeginCameraRendering (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera) [0x00001] in C:\buildslave\unity\build\Runtime\Export\RenderPipeline\RenderPipelineManager.cs:28 
  at UnityEngine.Rendering.RenderPipeline.BeginCameraRendering (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera camera) [0x00001] in C:\buildslave\unity\build\Runtime\Export\RenderPipeline\RenderPipeline.cs:19 
  at UnityEngine.Rendering.HighDefinition.HDRenderPipeline.TryCull (UnityEngine.Camera camera, UnityEngine.Rendering.HighDefinition.HDCamera hdCamera, UnityEngine.Rendering.ScriptableRenderContext renderContext, UnityEngine.Rendering.HighDefinition.SkyManager skyManager, UnityEngine.Rendering.ScriptableCullingParameters cullingParams, UnityEngine.Rendering.HighDefinition.HDRenderPipelineAsset hdrp, UnityEngine.Rendering.HighDefinition.HDRenderPipeline+HDCullingResults& cullingResults) [0x00053] in D:\Projects\Unity\Nebulous Conquest\Library\PackageCache\com.unity.render-pipelines.high-definition@10.6.0\Runtime\RenderPipeline\HDRenderPipeline.cs:3440 
  at UnityEngine.Rendering.HighDefinition.HDRenderPipeline.Render (UnityEngine.Rendering.ScriptableRenderContext renderContext, UnityEngine.Camera[] cameras) [0x00341] in D:\Projects\Unity\Nebulous Conquest\Library\PackageCache\com.unity.render-pipelines.high-definition@10.6.0\Runtime\RenderPipeline\HDRenderPipeline.cs:1748 
  at UnityEngine.Rendering.RenderPipeline.InternalRender (UnityEngine.Rendering.ScriptableRenderContext context, UnityEngine.Camera[] cameras) [0x0001c] in C:\buildslave\unity\build\Runtime\Export\RenderPipeline\RenderPipeline.cs:37 
  at UnityEngine.Rendering.RenderPipelineManager.DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset pipe, System.IntPtr loopPtr, System.Collections.Generic.List`1[T] renderRequests) [0x00040] in C:\buildslave\unity\build\Runtime\Export\RenderPipeline\RenderPipelineManager.cs:90 

Unloading 3 Unused Serialized files (Serialized files now loaded: 0)
NullReferenceException: Object reference not set to an instance of an object
  at Conquest.UI.GameSetup.NewGameNavyTab.ChangeShipDesignBuildCount (LiteDB.ObjectId blueprintId, System.Int32 count) [0x00001] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Conquest\UI\GameSetup\NewGameNavyTab.cs:196 
  at Conquest.UI.GameSetup.HullDesignItem.HandleBuildCountChanged (System.Int32 value) [0x00001] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\Conquest\UI\GameSetup\HullDesignItem.cs:79 
  at UI.Spinner.SetValueInt (System.Int32 value, System.Boolean fireEvent) [0x00043] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\UI\Spinner.cs:81 
  at UI.InputSpinner.HandleInputChanged (System.String newValue) [0x00036] in D:\Projects\Unity\Nebulous Conquest\Assets\Source\UI\InputSpinner.cs:36 
  at UnityEngine.Events.InvokableCall`1[T1].Invoke (T1 args0) [0x00010] in C:\buildslave\unity\build\Runtime\Export\UnityEvent\UnityEvent.cs:221 
  at UnityEngine.Events.UnityEvent`1[T0].Invoke (T0 arg0) [0x00025] in C:\buildslave\unity\build\Runtime\Export\UnityEvent\UnityEvent\UnityEvent_1.cs:58 
  at TMPro.TMP_InputField.SendOnEndEdit () [0x0000e] in D:\Projects\Unity\Nebulous Conquest\Library\PackageCache\com.unity.textmeshpro@3.0.6\Scripts\Runtime\TMP_InputField.cs:3149 
  at TMPro.TMP_InputField.ReleaseSelection () [0x0001d] in D:\Projects\Unity\Nebulous Conquest\Library\PackageCache\com.unity.textmeshpro@3.0.6\Scripts\Runtime\TMP_InputField.cs:4146 
  at TMPro.TMP_InputField.DeactivateInputField (System.Boolean clearSelection) [0x000df] in D:\Projects\Unity\Nebulous Conquest\Library\PackageCache\com.unity.textmeshpro@3.0.6\Scripts\Runtime\TMP_InputField.cs:4184 
  at TMPro.TMP_InputField.OnDisable () [0x00008] in D:\Projects\Unity\Nebulous Conquest\Library\PackageCache\com.unity.textmeshpro@3.0.6\Scripts\Runtime\TMP_InputField.cs:1093 

(Filename: D:/Projects/Unity/Nebulous Conquest/Library/PackageCache/com.unity.textmeshpro@3.0.6/Scripts/Runtime/TMP_InputField.cs Line: 3149)

UnloadTime: 57.321000 ms
Steam Manager created
Multiple NetworkManagers detected in the scene. Only one NetworkManager can exist at a time. The duplicate NetworkManager will be destroyed.
UnityEngine.StackTraceUtility:ExtractStackTrace () (at C:/buildslave/unity/build/Runtime/Export/Scripting/StackTrace.cs:37)

excerpt starts at ln 650 in the attached log

Player_1.log