JMRI / JMRI

JMRI model railroad digital command & control software
https://www.jmri.org
Other
241 stars 332 forks source link

Turnout feedback DELAYED #12644

Closed sidlo64 closed 11 months ago

sidlo64 commented 11 months ago

How to reproduce: New profile with connection Loconet Simulator. In PanelPro Table Turnouts. Add new Turnout, Loconet address 1, name TO-1. Edit Turnout TO-1. Change feedback to DELAYED.

Log: 19:22:58,084 apps.util.Log4JUtil INFO - ** JMRI log *** [main] 19:22:58,098 apps.util.Log4JUtil INFO - This log is stored in file: /home/tata/.jmri/log/session.log [main] 19:22:58,098 apps.util.Log4JUtil INFO - This log is appended to file: /home/tata/.jmri/log/messages.log [main] 19:22:58,150 apps.AppsBase INFO - DecoderPro version 5.5.6+Re5414c68ff starts under Java 11.0.20.1 on Linux amd64 v5.15.0-88-generic at Mon Nov 20 19:22:58 CET 2023 [main] 19:23:00,255 apps.gui3.Apps3 INFO - Starting with profile DELAYED.3f3ae9ee [main] 19:23:00,319 jmri.util.node.NodeIdentity INFO - Using eac7bdf2-aa5a-4f89-875e-13cad538655d as the JMRI storage identity for profile id 3f3ae9ee [AWT-EventQueue-0] 19:23:00,607 jmri.jmrix.loconet.LnPacketizer INFO - lnPacketizer Started [main] 19:23:00,631 i.jmrix.loconet.hexfile.LnHexFilePort INFO - LocoNet Simulator Started [LocoNet HexFileFrame] 19:23:00,788 jmri.jmrit.roster.Roster INFO - Reading roster file with rootFromName(/home/tata/.jmri/DELAYED.jmri/roster.xml) [main] 19:23:00,807 jmri.util.FileUtilSupport INFO - File path program: is /home/tata/bin/JMRI/ [main] 19:23:00,807 jmri.util.FileUtilSupport INFO - File path preference: is /home/tata/.jmri/DELAYED.jmri/ [main] 19:23:00,808 jmri.util.FileUtilSupport INFO - File path profile: is /home/tata/.jmri/DELAYED.jmri/ [main] 19:23:00,808 jmri.util.FileUtilSupport INFO - File path settings: is /home/tata/.jmri/ [main] 19:23:00,808 jmri.util.FileUtilSupport INFO - File path home: is /home/tata/ [main] 19:23:00,808 jmri.util.FileUtilSupport INFO - File path scripts: is /home/tata/bin/JMRI/jython/ [main] 19:23:21,303 jmri.jmrit.audio.JoalAudioFactory INFO - Initialised JOAL using OpenAL: vendor - OpenAL Community version - 1.1 ALSOFT 1.20.0 [Listed Table Generation] 19:23:40,958 ptionhandler.UncaughtExceptionHandler ERROR - Uncaught Exception caught by jmri.util.exceptionhandler.UncaughtExceptionHandler [AWT-EventQueue-0] java.lang.NullPointerException: null at jmri.TurnoutOperationManager.getTooltipForOperator(TurnoutOperationManager.java:295) ~[jmri.jar:?] at jmri.jmrit.beantable.TurnoutTableAction$1.getListCellRendererComponent(TurnoutTableAction.java:220) ~[jmri.jar:?] at javax.swing.plaf.basic.BasicComboBoxUI.getDisplaySize(BasicComboBoxUI.java:1407) ~[?:?] at javax.swing.plaf.metal.MetalComboBoxUI.getMinimumSize(MetalComboBoxUI.java:351) ~[?:?] at javax.swing.plaf.basic.BasicComboBoxUI.getPreferredSize(BasicComboBoxUI.java:949) ~[?:?] at javax.swing.JComponent.getPreferredSize(JComponent.java:1680) ~[?:?] at java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:1127) ~[?:?] at java.awt.GridBagLayout.getLayoutInfo(GridBagLayout.java:922) ~[?:?] at java.awt.GridBagLayout.preferredLayoutSize(GridBagLayout.java:742) ~[?:?] at java.awt.Container.preferredSize(Container.java:1823) ~[?:?] at java.awt.Container.getPreferredSize(Container.java:1807) ~[?:?] at javax.swing.JComponent.getPreferredSize(JComponent.java:1682) ~[?:?] at java.awt.FlowLayout.layoutContainer(FlowLayout.java:609) ~[?:?] at java.awt.Container.layout(Container.java:1537) ~[?:?] at java.awt.Container.doLayout(Container.java:1526) ~[?:?] at java.awt.Container.validateTree(Container.java:1722) ~[?:?] at java.awt.Container.validateTree(Container.java:1731) ~[?:?] at java.awt.Container.validateTree(Container.java:1731) ~[?:?] at java.awt.Container.validateTree(Container.java:1731) ~[?:?] at java.awt.Container.validateTree(Container.java:1731) ~[?:?] at java.awt.Container.validate(Container.java:1657) ~[?:?] at javax.swing.RepaintManager$3.run(RepaintManager.java:745) ~[?:?] at javax.swing.RepaintManager$3.run(RepaintManager.java:743) ~[?:?] at java.security.AccessController.doPrivileged(Native Method) ~[?:?] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) ~[?:?] at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:742) ~[?:?] at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1889) ~[?:?] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) ~[?:?] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) ~[?:?] at java.awt.EventQueue$4.run(EventQueue.java:721) ~[?:?] at java.awt.EventQueue$4.run(EventQueue.java:715) ~[?:?] at java.security.AccessController.doPrivileged(Native Method) ~[?:?] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) ~[?:?] at java.awt.EventQueue.dispatchEvent(EventQueue.java:740) ~[?:?] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) [?:?] at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) [?:?] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) [?:?] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) [?:?] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:?] at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [?:?]

bobjacobsen commented 11 months ago

Proposed fix is in PR #12645

bobjacobsen commented 11 months ago

Now in test release.