PorktoberRevolution / ReStocked

Kerbal Space Program Art Revamp
104 stars 45 forks source link

Exception spew from ModuleRestockHeatEffects.LateUpdate in Renderer.SetPropertyBlock #1009

Open JonnyOThan opened 8 months ago

JonnyOThan commented 8 months ago

https://github.com/PorktoberRevolution/ReStocked/blob/c6cf16233e3a86167af671dc87af863405a9f1ba/Source/Restock/ModuleRestockHeatEffects.cs#L161

I'm not exactly sure what the cause is here. I think some parts were destroyed. But it's totally conceivable that a part could lose renderers during flight. Maybe even gain some.

[EXC 06:59:47.450] NullReferenceException
    UnityEngine.Renderer.SetPropertyBlock (UnityEngine.MaterialPropertyBlock properties) (at <12e76cd50cc64cf19e759e981cb725af>:0)
    Restock.ModuleRestockHeatEffects.LateUpdate () (at <b0c69bc9d637479ba6fb00e5d8e158ad>:0)
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
    UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

https://github.com/PorktoberRevolution/ReStocked/files/14495755/KSP.-.Copy.zip

Krazy0 commented 3 months ago

Seeing similar EXC. Restock 1.4.5 on KSP 1.12.5. I'm having a problem after playing for a while where a ship's lights will not turn on and crashes are more likely after this happens. Not sure if this is related. KSP log is 81 MB, so just excerpts here...

[LOG 15:26:59.756] [HighLogic]: =========================== Scene Change : From EDITOR to FLIGHT (Async) =====================
[EXC 15:27:00.191] NullReferenceException: Object reference not set to an instance of an object
    Restock.ModuleRestockHeatEffects.LateUpdate () (at <b0c69bc9d637479ba6fb00e5d8e158ad>:0)
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
    UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[LOG 20:49:25.332] [HighLogic]: =========================== Scene Change : From EDITOR to FLIGHT (Async) =====================
[EXC 20:49:25.923] NullReferenceException: Object reference not set to an instance of an object
    Restock.ModuleRestockHeatEffects.LateUpdate () (at <b0c69bc9d637479ba6fb00e5d8e158ad>:0)
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
    UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 20:49:25.923] NullReferenceException: Object reference not set to an instance of an object
    Restock.ModuleRestockHeatEffects.LateUpdate () (at <b0c69bc9d637479ba6fb00e5d8e158ad>:0)
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
    UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 20:49:25.923] NullReferenceException: Object reference not set to an instance of an object
    Restock.ModuleRestockHeatEffects.LateUpdate () (at <b0c69bc9d637479ba6fb00e5d8e158ad>:0)
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
    UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 20:49:25.924] NullReferenceException: Object reference not set to an instance of an object
    Restock.ModuleRestockHeatEffects.LateUpdate () (at <b0c69bc9d637479ba6fb00e5d8e158ad>:0)
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
    UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
[EXC 20:49:25.924] NullReferenceException: Object reference not set to an instance of an object
    Restock.ModuleRestockHeatEffects.LateUpdate () (at <b0c69bc9d637479ba6fb00e5d8e158ad>:0)
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
    UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)
JonnyOThan commented 3 months ago

@Krazy0 you need to post your full KSP.log. You can zip it if you need to.

drewcassidy commented 3 months ago

well without any reproduction instructions Im not sure if this fix is 100%, but it shouldn't error on missing renderers now as of bad7196a0f84399e9770feddfdc859d8488356eb