Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
cdenig opened this issue Sep 25, 2023 · 0 comments · May be fixed by #1137
Open

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

cdenig opened this issue Sep 25, 2023 · 0 comments · May be fixed by #1137
Labels
bug Something isn't working

Comments

@cdenig
Copy link

cdenig commented Sep 25, 2023

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.

@cdenig cdenig added the bug Something isn't working label Sep 25, 2023
andrew-welker added a commit that referenced this issue Sep 25, 2023
In some configurations, the InputChange handler can throw
a null reference exception due to a Feedback for
the input that triggered the event not existing. The
event handler now checks for the existence of a Feedback
for the input that triggered the event prior to attempting
to call the `FireUpdate` method. Addresses #1136
@andrew-welker andrew-welker linked a pull request Sep 25, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant