PepperDash / Essentials

The Essentials Application Framework Libraries
MIT License
133 stars 77 forks source link

[BUG]- v1.15.2 - DMPS3-4k-300-C reports DM Input7 NullRefException on startup #1136

Open cdenig opened 1 year ago

cdenig commented 1 year ago

Was this bug identified in a specific build version? v1.15.2.25884

Describe the bug A NullReferenceException is thrown every time Essentials restarts on a DMPS3-4k-300C. It looks to be related to Input 7 (DM Input fed not by a DM-TX, but a DM-MD8x1-4K-C without control).

It has also occurred a few other times in error logs. The exception does not seem to directly affect the performance of the system when it occurs. However this system is experiencing stability issues. There was a total failure of router subsystem last week, but does not seem to have direct correlation.

Exception does not occur when running v1.12.8.34349.

Stacktrace

224. Notice: SimplSharpPro.exe [App 1] # 2023-09-25 15:07:33  # App 1:DMSwitch Input Change:DMPS3-4K-300-C Input:7 Event:7
Exception: System.NullReferenceException: NullReferenceException
   at PepperDash.Essentials.DM.DmpsRoutingController.Dmps_DMInputChange(Switch device, DMInputEventArgs args)
   at Crestron.SimplSharpPro.DM.Switch.OnDMInputChangeNoSwitch(DMInputEventArgs paramArgs)
225. Notice: SimplSharpPro.exe [App 1] # 2023-09-25 15:07:33  # 
   at Crestron.SimplSharpPro.DM.DMInputOutputBase.EventHandlerFromDictionary(CrestronDevice currentDevice, SigEventArgs args, Switch lswPassedIn, EventDictionary`1 MappingDictionary,String HandlerType)
226. Notice: SimplSharpPro.exe [App 1] # 2023-09-25 15:07:33  #  
   at Crestron.SimplSharpPro.DM.Cards.Card.Dmps3DmInput.DmpsDmInput_SigChange(CrestronDevice currentDevice, SigEventArgs args)
   at Crestron.SimplSharpPro.CrestronDeviceWithEvents.SendJoinEventData(SigEventArgs args)
   at Crestron.SimplSharpPro.SigCollectionBase`1.d(BoolOutputSig A_0, eSigEvent A_1)
227. Notice: SimplSharpPro.exe [App 1] # 2023-09-25 15:07:33  # 
   at Crestron.SimplSharpPro.SigCollectionBase`1.NotifyOfSigsNewValue(BoolOutputSig paramSig, eSigEvent paramSigEvent, Boolean paramSigWasAdded)
   at Crestron.SimplSharpPro.DeviceBooleanOutputCollection.UpdateValueWithOutIncrementWithEvent(UInt32 index, Boolean newValue)
228. Notice: SimplSharpPro.exe [App 1] # 2023-09-25 15:07:33  # 
   at Crestron.SimplSharpPro.DeviceBooleanOutputCollection.UpdateValueWithEvent(UInt32 index, Boolean newValue)
   at Crestron.SimplSharpProInternal.DeviceBasis.ReadDigitalPacket(ePacketType incomingPacketType, UInt32 joinNumber, Boolean joinValue)
229. Notice: SimplSharpPro.exe [App 1] # 2023-09-25 15:07:33  # 
   at Crestron.SimplSharpProInternal.CrestronDevice.HandleIncomingBufferForSpecificDevice(CParsedPacketData IncomingDataStructure)
   at Crestron.SimplSharpProInternal.CrestronSlotDevice.HandleIncomingDataForSlotDevice(CParsedPacketData IncomingDataStructure)
230. Notice: SimplSharpPro.exe [App 1] # 2023-09-25 15:07:33  # 
   at Crestron.SimplSharpProInternal.CrestronSlotDevice.ParseDataFromStructure(Byte* pIncomingDataBuffer, UInt32 tldmToAppDeviceOrSlotId)
   at Crestron.SimplSharpProInternal.CrestronDevice.CallbackRoutineForSpecificDevice()
231. Notice: SimplSharpPro.exe [App 1] # 2023-09-25 15:07:33  # 

To Reproduce

  1. Load program version above with configuration as a DMPS3-4k-300-C
  2. Observe exception occur in console at program start

Expected behavior Would expect no exception to occur, or at least be handled meaningful notification.

Screenshots If applicable, add screenshots to help explain your problem.

Additional context Add any other context about the problem here.