16:05:04,200 apps.util.Log4JUtil INFO - * JMRI log ** [main] 16:05:04,213 apps.util.Log4JUtil INFO - This log is stored in file: C:\Users\wesno\JMRI\log\session.log [main] 16:05:04,214 apps.util.Log4JUtil INFO - This log is appended to file: C:\Users\wesno\JMRI\log\messages.log [main] 16:05:04,226 apps.Apps INFO - PanelPro version 5.10+Rca461bd266 starts under Java 17.0.14 on Windows 11 amd64 v10.0 at Wed Feb 26 16:05:04 EST 2025 [main] 16:05:04,308 t.permission.DefaultPermissionManager INFO - Permission file: C:\Users\wesno\JMRI\.permissions.xml [main] 16:05:04,324 t.permission.DefaultPermissionManager INFO - Permission system is enabled: no [main] 16:05:04,324 apps.Apps INFO - Starting with profile Production.3dcf9788 [main] 16:05:04,387 jmri.util.node.NodeIdentity INFO - Using 2e3741ef-96e4-4ac3-8c9d-0137a43956f2 as the JMRI storage identity for profile id 3dcf9788 [AWT-EventQueue-0] 16:05:05,165 jmri.jmrix.loconet.LnPacketizer INFO - lnPacketizer Started [main] 16:05:05,165 i.jmrix.loconet.hexfile.LnHexFilePort INFO - LocoNet Simulator Started [LocoNet HexFileFrame] 16:05:05,297 jmri.jmrit.roster.Roster INFO - Reading roster file with rootFromName(C:\Users\wesno\JMRI\Production.jmri\roster.xml) [main] 16:05:05,438 apps.startup.StartupPauseModel INFO - Pausing startup actions processing for 1 seconds. [main] 16:05:06,453 jmri.util.startup.PerformFileModel INFO - Loading file C:\Users\wesno\JMRI\Production.jmri\newproduction-start25-02-25.xml [main] 16:05:09,667 jmri.util.FileUtilSupport INFO - File path program: is C:\Program Files (x86)\JMRI\ [main] 16:05:09,667 jmri.util.FileUtilSupport INFO - File path preference: is C:\Users\wesno\JMRI\Production.jmri\ [main] 16:05:09,668 jmri.util.FileUtilSupport INFO - File path profile: is C:\Users\wesno\JMRI\Production.jmri\ [main] 16:05:09,668 jmri.util.FileUtilSupport INFO - File path settings: is C:\Users\wesno\JMRI\ [main] 16:05:09,668 jmri.util.FileUtilSupport INFO - File path home: is C:\Users\wesno\ [main] 16:05:09,669 jmri.util.FileUtilSupport INFO - File path scripts: is C:\Program Files (x86)\JMRI\jython\ [main] 16:05:10,416 apps.PanelPro.PanelPro INFO - Main initialization done [main] 16:05:16,564 jmri.jmrit.audio.JoalAudioFactory INFO - Initialised JOAL using OpenAL: vendor - OpenAL Community version - 1.1 ALSOFT 1.23.1 [Listed Table Generation] 16:05:32,543 ri.jmrit.beantable.BeanTableDataModel ERROR - Exception while deleting bean [AWT-EventQueue-0] java.lang.NullPointerException: Cannot invoke "String.isEmpty()" because the return value of "jmri.implementation.DefaultRoute.getTurnoutsAlignedSensor()" is null at jmri.implementation.DefaultRoute.activateRoute(DefaultRoute.java:957) ~[jmri.jar:?] at jmri.implementation.DefaultRoute.vetoableChange(DefaultRoute.java:1178) ~[jmri.jar:?] at jmri.managers.AbstractManager.vetoableChange(AbstractManager.java:445) ~[jmri.jar:?] at java.beans.VetoableChangeSupport.fireVetoableChange(Unknown Source) ~[?:?] at jmri.managers.AbstractManager.fireVetoableChange(AbstractManager.java:407) ~[jmri.jar:?] at jmri.managers.AbstractManager.deleteBean(AbstractManager.java:169) ~[jmri.jar:?] at jmri.managers.AbstractProxyManager.deleteBean(AbstractProxyManager.java:327) ~[jmri.jar:?] at jmri.jmrit.beantable.BeanTableDataModel.doDelete(BeanTableDataModel.java:468) ~[jmri.jar:?] at jmri.jmrit.beantable.BeanTableDataModel$DeleteBeanWorker.(BeanTableDataModel.java:1299) ~[jmri.jar:?] at jmri.jmrit.beantable.BeanTableDataModel.lambda$deleteBean$0(BeanTableDataModel.java:450) ~[jmri.jar:?] at jmri.util.ThreadingUtil.runOnGUI(ThreadingUtil.java:134) ~[jmri.jar:?] at jmri.jmrit.beantable.BeanTableDataModel.deleteBean(BeanTableDataModel.java:448) ~[jmri.jar:?] at jmri.jmrit.beantable.BeanTableDataModel.setValueAt(BeanTableDataModel.java:430) ~[jmri.jar:?] at jmri.jmrit.beantable.sensor.SensorTableDataModel.setValueAt(SensorTableDataModel.java:407) ~[jmri.jar:?] at javax.swing.JTable.setValueAt(Unknown Source) ~[?:?] at javax.swing.JTable.editingStopped(Unknown Source) ~[?:?] at jmri.util.table.BasicCellEditor.fireEditingStopped(BasicCellEditor.java:91) ~[jmri.jar:?] at jmri.util.table.BasicCellEditor.stopCellEditing(BasicCellEditor.java:44) ~[jmri.jar:?] at jmri.util.table.ButtonEditor.actionPerformed(ButtonEditor.java:111) ~[jmri.jar:?] at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) ~[?:?] at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) ~[?:?] at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) ~[?:?] at javax.swing.DefaultButtonModel.setPressed(Unknown Source) ~[?:?] at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) ~[?:?] at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) ~[?:?] at java.awt.Component.processMouseEvent(Unknown Source) ~[?:?] at javax.swing.JComponent.processMouseEvent(Unknown Source) ~[?:?] at java.awt.Component.processEvent(Unknown Source) ~[?:?] at java.awt.Container.processEvent(Unknown Source) ~[?:?] at java.awt.Component.dispatchEventImpl(Unknown Source) ~[?:?] at java.awt.Container.dispatchEventImpl(Unknown Source) ~[?:?] at java.awt.Component.dispatchEvent(Unknown Source) ~[?:?] at javax.swing.plaf.basic.BasicTableUI$Handler.repostEvent(Unknown Source) ~[?:?] at javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(Unknown Source) ~[?:?] at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) ~[?:?] at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) ~[?:?] at java.awt.Component.processMouseEvent(Unknown Source) ~[?:?] at javax.swing.JComponent.processMouseEvent(Unknown Source) ~[?:?] at java.awt.Component.processEvent(Unknown Source) ~[?:?] at java.awt.Container.processEvent(Unknown Source) ~[?:?] at java.awt.Component.dispatchEventImpl(Unknown Source) ~[?:?] at java.awt.Container.dispatchEventImpl(Unknown Source) ~[?:?] at java.awt.Component.dispatchEvent(Unknown Source) ~[?:?] at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) ~[?:?] at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) ~[?:?] at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) ~[?:?] at java.awt.Container.dispatchEventImpl(Unknown Source) ~[?:?] at java.awt.Window.dispatchEventImpl(Unknown Source) ~[?:?] at java.awt.Component.dispatchEvent(Unknown Source) ~[?:?] at java.awt.EventQueue.dispatchEventImpl(Unknown Source) ~[?:?] at java.awt.EventQueue$4.run(Unknown Source) ~[?:?] at java.awt.EventQueue$4.run(Unknown Source) ~[?:?] at java.security.AccessController.doPrivileged(Unknown Source) [?:?] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:?] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:?] at java.awt.EventQueue$5.run(Unknown Source) ~[?:?] at java.awt.EventQueue$5.run(Unknown Source) ~[?:?] at java.security.AccessController.doPrivileged(Unknown Source) [?:?] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) [?:?] at java.awt.EventQueue.dispatchEvent(Unknown Source) [?:?] at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:?] at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:?] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:?] at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:?] at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:?] at java.awt.EventDispatchThread.run(Unknown Source) [?:?] 16:06:27,797 jmri.configurexml.ErrorHandler ERROR - Load Error: Exception thrown while storing to file in addConfigStore Exception: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "jmri.Route.getTurnoutsAlignedSensor()" is null See http://jmri.org/help/en/package/jmri/configurexml/ErrorHandler.shtml for possibly more information. [AWT-EventQueue-0] java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "jmri.Route.getTurnoutsAlignedSensor()" is null at jmri.managers.configurexml.DefaultRouteManagerXml.store(DefaultRouteManagerXml.java:189) ~[jmri.jar:?] at jmri.configurexml.AbstractXmlAdapter.store(AbstractXmlAdapter.java:84) ~[jmri.jar:?] at jmri.configurexml.ConfigXmlManager.elementFromObject(ConfigXmlManager.java:474) ~[jmri.jar:?] at jmri.configurexml.ConfigXmlManager.elementFromObject(ConfigXmlManager.java:453) ~[jmri.jar:?] at jmri.configurexml.ConfigXmlManager.addConfigStore(ConfigXmlManager.java:274) ~[jmri.jar:?] at jmri.configurexml.ConfigXmlManager.storeUser(ConfigXmlManager.java:428) ~[jmri.jar:?] at jmri.implementation.JmriConfigurationManager.storeUser(JmriConfigurationManager.java:173) ~[jmri.jar:?] at jmri.configurexml.StoreXmlUserAction.actionPerformed(StoreXmlUserAction.java:55) ~[jmri.jar:?] at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) ~[?:?] at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) ~[?:?] at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) ~[?:?] at javax.swing.DefaultButtonModel.setPressed(Unknown Source) ~[?:?] at javax.swing.AbstractButton.doClick(Unknown Source) ~[?:?] at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source) ~[?:?] at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source) ~[?:?] at java.awt.Component.processMouseEvent(Unknown Source) ~[?:?] at javax.swing.JComponent.processMouseEvent(Unknown Source) ~[?:?] at java.awt.Component.processEvent(Unknown Source) ~[?:?] at java.awt.Container.processEvent(Unknown Source) ~[?:?] at java.awt.Component.dispatchEventImpl(Unknown Source) ~[?:?] at java.awt.Container.dispatchEventImpl(Unknown Source) ~[?:?] at java.awt.Component.dispatchEvent(Unknown Source) ~[?:?] at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) ~[?:?] at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) ~[?:?] at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) ~[?:?] at java.awt.Container.dispatchEventImpl(Unknown Source) ~[?:?] at java.awt.Window.dispatchEventImpl(Unknown Source) ~[?:?] at java.awt.Component.dispatchEvent(Unknown Source) ~[?:?] at java.awt.EventQueue.dispatchEventImpl(Unknown Source) ~[?:?] at java.awt.EventQueue$4.run(Unknown Source) ~[?:?] at java.awt.EventQueue$4.run(Unknown Source) ~[?:?] at java.security.AccessController.doPrivileged(Unknown Source) [?:?] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:?] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:?] at java.awt.EventQueue$5.run(Unknown Source) ~[?:?] at java.awt.EventQueue$5.run(Unknown Source) ~[?:?] at java.security.AccessController.doPrivileged(Unknown Source) [?:?] at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) [?:?] at java.awt.EventQueue.dispatchEvent(Unknown Source) [?:?] at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:?] at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:?] at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:?] at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:?] at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:?] at java.awt.EventDispatchThread.run(Unknown Source) [?:?]