¿ªÔÆÌåÓý

Locked Engine Driver panel turnout operation problem #enginedriver


 

Rpi 3
DCC++
JMRI 4.18 from 4.16

Previously running JMRI 4.16
Engine Driver v2.24.93 on Samsung Galaxy S2
Panel startup with Webserver and WiThrottle Server

Engine Driver loads, panel loads and turnouts operate correctly when selected via the panel

2020-01-02 22:46:24,740 withrottle.FacelessServer? ? ? ? ? ? ?INFO? - Creating new WiThrottle DeviceServer(socket) on port 12090, waiting for incoming connection... [WiThrottleServer]
2020-01-02 22:46:24,744 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:46:25,371 consisttool.ConsistFile? ? ? ? ? ? ? ?INFO? - Consist file does not exist.? One will be created if necessary. [WebServer-43]
2020-01-02 22:46:30,816 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:46:36,776 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:46:42,786 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:46:48,784 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:46:54,790 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:47:00,794 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:47:03,887 json.JsonNamedBeanSocketService? ? ? ?WARN? - get request for turnout made with user name "Turnout #1"; should use system name [WebServer-45]
2020-01-02 22:47:03,895 json.JsonNamedBeanSocketService? ? ? ?WARN? - get request for turnout made with user name "Turnout #2"; should use system name [WebServer-45]
2020-01-02 22:47:03,919 json.JsonNamedBeanSocketService? ? ? ?WARN? - get request for turnout made with user name "Turnout #3"; should use system name [WebServer-45]
2020-01-02 22:47:03,932 json.JsonNamedBeanSocketService? ? ? ?WARN? - get request for turnout made with user name "Turnout #4"; should use system name [WebServer-45]
2020-01-02 22:47:03,947 json.JsonNamedBeanSocketService? ? ? ?WARN? - get request for turnout made with user name "Turnout #6"; should use system name [WebServer-45]
2020-01-02 22:47:03,961 json.JsonNamedBeanSocketService? ? ? ?WARN? - get request for turnout made with user name "Turnout #7"; should use system name [WebServer-45]
2020-01-02 22:47:03,973 json.JsonNamedBeanSocketService? ? ? ?WARN? - get request for turnout made with user name "Turnout #5"; should use system name [WebServer-45]
2020-01-02 22:47:06,798 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:47:13,252 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:47:18,807 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:47:24,813 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:47:30,819 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:47:36,823 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:47:42,827 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]
2020-01-02 22:47:43,325 json.JsonNamedBeanSocketService? ? ? ?WARN? - post request for turnout made with user name "Turnout #1"; should use system name [WebServer-46]
2020-01-02 22:47:48,835 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-1]

Upgrade to JMRI v18?
Engine Driver loads and Panel loads but turnouts do not operate correctly when selected via the panel (reloading the Engine Driver panel fixes it until the next turnout selection)?

2020-01-02 22:40:08,861 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-2]
2020-01-02 22:40:14,862 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-2]
2020-01-02 22:41:19,728 withrottle.FacelessServer? ? ? ? ? ? ?INFO? - Creating new WiThrottle DeviceServer(socket) on port 12090, waiting for incoming connection... [WiThrottleServer]
2020-01-02 22:41:19,732 withrottle.DeviceServer? ? ? ? ? ? ? ?INFO? - Received Name: Engine Driver tablet [DeviceServer-3]
2020-01-02 22:41:21,104 jmri.InstanceManager? ? ? ? ? ? ? ? ? ERROR - Exception creating auto-default object for jmri.server.json.schema.JsonSchemaServiceCache [WebServer-44]
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at jmri.InstanceManager.getInstance(InstanceManager.java:289)
at jmri.InstanceManager.getNullableDefault(InstanceManager.java:233)
at jmri.InstanceManager.getDefault(InstanceManager.java:204)
at jmri.server.json.JsonConnection.<init>(JsonConnection.java:22)
at jmri.server.json.JsonWebSocket.onOpen(JsonWebSocket.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(CallableMethod.java:71)
at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onConnect(JettyAnnotatedEventDriver.java:148)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.openSession(AbstractEventDriver.java:233)
at org.eclipse.jetty.websocket.common.WebSocketSession.open(WebSocketSession.java:504)
at org.eclipse.jetty.websocket.common.WebSocketSession.onOpened(WebSocketSession.java:433)
at org.eclipse.jetty.io.AbstractConnection.onOpen(AbstractConnection.java:200)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onOpen(AbstractWebSocketConnection.java:566)
at org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:432)
at org.eclipse.jetty.server.HttpConnection.onCompleted(HttpConnection.java:376)
at org.eclipse.jetty.server.HttpChannel.onCompleted(HttpChannel.java:651)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:459)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodError: com.networknt.schema.SchemaValidatorsConfig.setUriMappings(Ljava/util/Map;)V
at jmri.server.json.schema.JsonSchemaServiceCache.<init>(JsonSchemaServiceCache.java:50)
... 35 more
2020-01-02 22:41:21,122 json.JsonWebSocket? ? ? ? ? ? ? ? ? ? ERROR - Unanticipated error Required nonnull default for jmri.server.json.schema.JsonSchemaServiceCache does not exist. [WebServer-44]
java.lang.NullPointerException: Required nonnull default for jmri.server.json.schema.JsonSchemaServiceCache does not exist.
at jmri.InstanceManager.getDefault(InstanceManager.java:206)
at jmri.server.json.JsonConnection.<init>(JsonConnection.java:22)
at jmri.server.json.JsonWebSocket.onOpen(JsonWebSocket.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(CallableMethod.java:71)
at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onConnect(JettyAnnotatedEventDriver.java:148)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.openSession(AbstractEventDriver.java:233)
at org.eclipse.jetty.websocket.common.WebSocketSession.open(WebSocketSession.java:504)
at org.eclipse.jetty.websocket.common.WebSocketSession.onOpened(WebSocketSession.java:433)
at org.eclipse.jetty.io.AbstractConnection.onOpen(AbstractConnection.java:200)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onOpen(AbstractWebSocketConnection.java:566)
at org.eclipse.jetty.io.AbstractEndPoint.upgrade(AbstractEndPoint.java:432)
at org.eclipse.jetty.server.HttpConnection.onCompleted(HttpConnection.java:376)
at org.eclipse.jetty.server.HttpChannel.onCompleted(HttpChannel.java:651)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:459)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
at java.lang.Thread.run(Thread.java:745)
2020-01-02 22:41:21,139 common.WebSocketSession? ? ? ? ? ? ? ?WARN? -? [WebServer-44]

Am I missing something?

Graeme Brooker


 

Graeme,?
How did you "upgrade" JMRI? And what operating system are you running JMRI on?
Also, this problem is coming from the JMRI webserver, not EngineDriver, so please browse to it using a browser on your JMRI computer and see if you get the same error(s).
--SteveT


 

Steve T
Thanks for your reply?
(My belated reply is due to time zone differences)

This is running on a Raspberry Pi3.
"upgrades" are done by download to the download directory and extract with overwrite to the pi directory.

Turnouts display and operate on screen correctly when using VNC Viewer from my tablet (both on the tablet and the Rpi monitor). No error messages report on the system console.

System console web server errors only show when loading Engine Driver and accessing JMRI v17.8 , v18 or v19.1.
After re loading JMRI v16, turnout operations from Engine Driver web panel operate and show correctly.


I'll now be away from my setup until Sunday (although still with access to groups)

Regards
Graeme Brooker
Australia


 

Steve T
My apologies for not answering all of your questions.

192.16.1.13:12080 Web Server via the RPi3 browser gives the same problem with JMRI V18

and Java 1.8.0_65 (en_AU)
Graeme B


 

On Thu, Jan 2, 2020 at 01:15 PM, Graeme Brooker wrote:
"upgrades" are done by download to the download directory and extract with overwrite to the pi directory.
Thanks.
Rather than overwriting the files in the JMRI directory, please rename or delete the JMRI folder before extracting again. Certain files are not overwritten, resulting in unexpected behavior, which might be the problem you're experiencing.
--SteveT


 

Steve T
(Back from the salt mine of my son's backyard landscaping)

Thanks Steve. That worked (deleting JMRI directory before extracting 4.18 upgrade and copying)

Can I suggest a small change to web page (jmri.org/install/Raspbian.shtml) where currently it says "You should therefore not expand the download into the same place as an existing JMRI installation. Instead, expand it into a separate location, and move in to it's final destination, completely replacing any previous version of JMRI."
I followed that procedure and that resulted in the error. Following your advice I deleted the JMRI directory and then copied the extracted files from the download directory. This fixed the problem.
Eg
" Instead, expand it into a separate location, backup any user created files in the JMRI directory and delete the JMRI directory. Then move the extracted JMRI directory and its contents in to it's final destination, completely replacing any previous version of JMRI."

Graeme Brooker
(Small donation made to JMRI)


 

Done. Thanks for the suggestion!

Bob

On Jan 4, 2020, at 10:52 PM, Graeme Brooker <gbrooker@...> wrote:

Steve T
(Back from the salt mine of my son's backyard landscaping)

Thanks Steve. That worked (deleting JMRI directory before extracting 4.18 upgrade and copying)

Can I suggest a small change to web page (jmri.org/install/Raspbian.shtml) where currently it says "You should therefore not expand the download into the same place as an existing JMRI installation. Instead, expand it into a separate location, and move in to it's final destination, completely replacing any previous version of JMRI."
I followed that procedure and that resulted in the error. Following your advice I deleted the JMRI directory and then copied the extracted files from the download directory. This fixed the problem.
Eg
" Instead, expand it into a separate location, backup any user created files in the JMRI directory and delete the JMRI directory. Then move the extracted JMRI directory and its contents in to it's final destination, completely replacing any previous version of JMRI."
--
Bob Jacobsen
rgj1927@...