¿ªÔÆÌåÓý

Locked Dispatcher Auto Active Train Fails to Pause


 

I'm using Dispatcher to run trains automatically. ?Some of the track is used for single line working so I've specified appropriate sections as safe in the associated transits. ?Some of the safe sections coincide with station platforms and so I've specified that the train pauses at these section in the transit. I run the trains using 'to safe secs' as the allocation method. ?Where the section comprises a single block the train fails to stop. ?For sections with multiple blocks the train stops as expected. When the train enters the section the speed is set to 25% (33 in the loconet log). ?First entry is block occupancy detector registering block/section entry, next loco speed setting, then the previous block occupancy detector going low as the preceding block is left. ?Detection is based on current sensing. ?The final entry is a switch being set as result of the next sections being allocated.?

16:52:35.474: Sensor LS263 (3-P1) is High. ?(BDL16 # 17, DS7; DS54/DS64/SE8c # 33, AuxD/A4/DS07).
16:52:35.542: Set speed of loco in slot 4 to 33.
16:52:40.900: Sensor LS293 (4-Up-A) is Low. ?(BDL16 # 19, DS5; DS54/DS64 # 37, AuxC/A3).
16:52:40.925: Requesting Switch at LT106 (3-Dn -X) to Closed (Output On).
?
The train then proceeds to the end of the transit at the current speed, ignoring the transit section action to pause. ?When end of the transit is reached and the train terminates the console log has the following entry:

2018-06-21 16:54:08,410 dispatcher.AutoActiveTrain ? ? ? ? ? ?ERROR - InterruptedException while watiting to stop for pause - {} [pause train C170-19]
java.lang.InterruptedException: sleep interrupted
at java.lang.Thread.sleep(Native Method)
at jmri.jmrit.dispatcher.AutoActiveTrain$PauseTrain.run(AutoActiveTrain.java:1506)
at java.lang.Thread.run(Thread.java:748)

I'm currently running version 4.11.7 but I think this problem predates this version. ?It took a bit of time to clarify the circumstances. ?This is on a Mac running High Sierra.

Paul



 

Hi Paul
What happens if there is no pause action?
Steve G.

On June 21, 2018 12:06:15 PM EDT, paul@... wrote:
I'm using Dispatcher to run trains automatically. ?Some of the track is
used for single line working so I've specified appropriate sections as
safe in the associated transits. ?Some of the safe sections coincide
with station platforms and so I've specified that the train pauses at
these section in the transit. I run the trains using 'to safe secs' as
the allocation method. ?Where the section comprises a single block the
train fails to stop. ?For sections with multiple blocks the train stops
as expected. When the train enters the section the speed is set to 25%
(33 in the loconet log). ?First entry is block occupancy detector
registering block/section entry, next loco speed setting, then the
previous block occupancy detector going low as the preceding block is
left. ?Detection is based on current sensing. ?The final entry is a
switch being set as result of the next sections being allocated.?

16:52:35.474: Sensor LS263 (3-P1) is High. ?(BDL16 # 17, DS7;
DS54/DS64/SE8c # 33, AuxD/A4/DS07).
16:52:35.542: Set speed of loco in slot 4 to 33.
16:52:40.900: Sensor LS293 (4-Up-A) is Low. ?(BDL16 # 19, DS5;
DS54/DS64 # 37, AuxC/A3).
16:52:40.925: Requesting Switch at LT106 (3-Dn -X) to Closed (Output
On).
?
The train then proceeds to the end of the transit at the current speed,
ignoring the transit section action to pause. ?When end of the transit
is reached and the train terminates the console log has the following
entry:

2018-06-21 16:54:08,410 dispatcher.AutoActiveTrain ? ? ? ? ? ?ERROR -
InterruptedException while watiting to stop for pause - {} [pause train
C170-19]
java.lang.InterruptedException: sleep interrupted
at java.lang.Thread.sleep(Native Method)
at
jmri.jmrit.dispatcher.AutoActiveTrain$PauseTrain.run(AutoActiveTrain.java:1506)
at java.lang.Thread.run(Thread.java:748)

I'm currently running version 4.11.7 but I think this problem predates
this version. ?It took a bit of time to clarify the circumstances.
?This is on a Mac running High Sierra.

Paul

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.


 

Hi Steve,

If no pause is specified in the transit action then the train continues as normal, but I have to deal with irate passengers.

Further investigation reveals that if I hold the next signal myself before starting the train, then the train will stop showing paused in the dispatcher status, and when the pause timer expires the status changes to waiting. ?When I release the signal then the train restarts, which is what I'd expect. ?However having to hold and release the signal manually rather defeats the objective of automated operation.

Paul


 

Hi Paul
I just tried this and "no delay", "pause", "on section entry", for "4" fast
minutes worked just dandy. one block in section or two blocks in section No
speed profile. JMRI 4.11.7.
Steve G.
ps Irate passengers can be kept in their place with super glue, except G scale.
G scale needs the garden gnome police. ;)

---------- Original Message ----------
From: paul@...
Date: June 21, 2018 at 4:03 PM


Hi Steve,

If no pause is specified in the transit action then the train continues as
normal, but I have to deal with irate passengers.

Further investigation reveals that if I hold the next signal myself before
starting the train, then the train will stop showing paused in the dispatcher
status, and when the pause timer expires the status changes to waiting. ?When
I release the signal then the train restarts, which is what I'd expect.
?However having to hold and release the signal manually rather defeats the
objective of automated operation.

Paul



 

Hi Steve

On your test did you have 'All cars have resistance wheels' checked? ?I normally run with this checked, but when I tried to think of potential differences that could impact behaviour this seemed to be a candidate. ?Anyway if I uncheck this box the train pauses as expected. ?However it seems reasonable to expect that I should be able to run with this box checked if I have resistance wheels throughout, especially as having resistance wheels is recommended for auto active trains.

Regards

Paul


 

Yes. And I check with both sml and ssl.

On June 22, 2018 10:46:25 AM EDT, paul@... wrote:
Hi Steve

On your test did you have 'All cars have resistance wheels' checked? ?I
normally run with this checked, but when I tried to think of potential
differences that could impact behaviour this seemed to be a candidate.
?Anyway if I uncheck this box the train pauses as expected. ?However it
seems reasonable to expect that I should be able to run with this box
checked if I have resistance wheels throughout, especially as having
resistance wheels is recommended for auto active trains.

Regards

Paul

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.


 

OK - this is now getting seriously weird. ?I thought I'd try setting dispatcher debug on as suggested in another thread. ?It so happens that I have two transits on different parts of the layout which have single block sections where I want trains to stop. ?So far these have behaved consistently. ?I tried one to see if I could spot something untoward on the console log, but the problem failed to show and the train paused as it should. ?I then tried the other transit, and the problem was still there. ?I've now repeated this a few times and it appears repeatable. ?I've tried comparing the log entries for the working and non working transit but there are a lot of entries there and I'm not sure what I'm looking for.

The layout uses sml. ?All sections have been created automatically using tools - generate sections from the sml table.

Regards

Paul


 

Paul,

? ? I've tested this Pause feature before and I saw that when the train first enters the section the pause timer starts up and as the loco slows in that section it never stops because the timer completes before the end of the train gets all the way into the section.? Have you entered higher pause times yet?

Roger


 

I've set a pause time of 2 minutes which are real minutes as I'm not running a fast clock. ?This is ample time for the train to fully enter the section and come to a halt. It's a single car train.

However I've just noticed that the apparently inconsistent action described above is my fault. ?I'd 'lost' the safe marking on one of the sections and applying debug has not affected the behaviour. ?Not so seriously weird after all, just annoying.

Paul


 

I'm having a similar problem.

Auto train enters a 2 block section with action "on section entry, pause for 2 min." Train reduces speed on section entry to 33, but not to zero. Proceeds at reduced speed until end of train leaves first block, then it stops in second block. No safe section were identified in this area (an oversight), no speed profiles, all resistance wheels.

Nick


 

I've just got around to a bit more investigation on this, mainly to see if I could identify why it seems difficult to recreate the problem or identify some other environmental issue. ?I've produced a greatly simplified layout panel on the basis that if the problem disappeared then I could introduce features step by step, however it's still there. ?To provide a quick recap, it occurs when

1) pause is specified on a section in a transit which comprises a single block and which is marked as being safe in the transit?and,
2) on the Activate New Train panel 'all cars have resistance wheels' is specified in conjunction with the Allocation Method being 'to Safe Sec'.

The train slows to 25% on section entry but its speed is not set to 0 and the status in the dispatcher panel doesn't changed to paused. ?The train moves to the end of the transit at the reduced speed and when it reaches the end it is terminated as expected but a java exception occurs:

18:25:27.963 (138223) ERROR [pause train C170-19] AutoActiveTrain.java:1537 ?- InterruptedException while waiting when paused
? ? java.lang.InterruptedException: sleep interrupted
? ? at java.lang.Thread.sleep(Native Method)
? ? at jmri.jmrit.dispatcher.AutoActiveTrain$PauseTrain.run(AutoActiveTrain.java:1532)
? ? at java.lang.Thread.run(Thread.java:748)
?
I've uploaded the simplified panel, dispatcher options file and the train description file in the hope that this will hope with spotting what's gone wrong with my usage.
/g/jmriusers/files/ProblemsBeingWorkedOn/PauseTest.zip

Thanks in advance

Paul


 

Hi Paul
There is good news, there is nothing wrong with the panel that causes this and I
have isolated the problem. There is a property in the Signal System that
AutoTrains does not process correctly and causes the pause to be ignored. I just
need to find the best way to handle it without breaking anything else.
Steve G.

---------- Original Message ----------
From: paul@...
Date: July 14, 2018 at 1:34 PM


I've just got around to a bit more investigation on this, mainly to see if I
could identify why it seems difficult to recreate the problem or identify some
other environmental issue. ?I've produced a greatly simplified layout panel on
the basis that if the problem disappeared then I could introduce features step
by step, however it's still there. ?To provide a quick recap, it occurs when

1) pause is specified on a section in a transit which comprises a single block
and which is marked as being safe in the transit?and,
2) on the Activate New Train panel 'all cars have resistance wheels' is
specified in conjunction with the Allocation Method being 'to Safe Sec'.

The train slows to 25% on section entry but its speed is not set to 0 and the
status in the dispatcher panel doesn't changed to paused. ?The train moves to
the end of the transit at the reduced speed and when it reaches the end it is
terminated as expected but a java exception occurs:

18:25:27.963 (138223) ERROR [pause train C170-19] AutoActiveTrain.java:1537 ?-
InterruptedException while waiting when paused
? ? java.lang.InterruptedException: sleep interrupted
? ?at java.lang.Thread.sleep(Native Method)
? ?at
jmri.jmrit.dispatcher.AutoActiveTrain$PauseTrain.run(AutoActiveTrain.java:1532)
? ?at java.lang.Thread.run(Thread.java:748)
?
I've uploaded the simplified panel, dispatcher options file and the train
description file in the hope that this will hope with spotting what's gone
wrong with my usage.
/g/jmriusers/files/ProblemsBeingWorkedOn/PauseTest.zip

Thanks in advance

Paul



 

Hi Steve,

Thanks for the speedy response and your assistance so far. ?I can well appreciate that the complexity of the dispatcher AutoTrains code means that fixes have to be carefully thought through so that nothing gets broken as a side effect of the fix.

Thanks and regards

Paul.


 

Hi Steve,

Do the changes in 4.14.4 have any impact this? ?I've retested it on this release and there's some good news and not so good. ?Pause now appears to work on a single block automatically generated 'safe' section which is brilliant, but only if the action is set to happen without delay. ? I expect that the previous workaround of editing out the facing signal in the xml or generating the section manually will still work. ?I'll check and confirm.

Regards

Paul


 

Hi Paul
I will try and get to this today.
Steve G.


On October 25, 2018 6:54:11 AM EDT, paul@... wrote:
Hi Steve,

Do the changes in 4.14.4 have any impact this? ?I've retested it on this release and there's some good news and not so good. ?Pause now appears to work on a single block automatically generated 'safe' section which is brilliant, but only if the action is set to happen without delay. ? I expect that the previous workaround of editing out the facing signal in the xml or generating the section manually will still work. ?I'll check and confirm.

Regards

Paul

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.


 

I've also tested this problem with 4.13.4 and find the pause action in the Transit to not work.? Loco goes to 25%, then stays at that speed for the duration of transit.? Does not terminate either.

Roger


 

Hi Paul
I did get to look at this today. I discovered more bad than good, but will try again next week.
Steve G.


On October 25, 2018 6:54:11 AM EDT, paul@... wrote:
Hi Steve,

Do the changes in 4.14.4 have any impact this? ?I've retested it on this release and there's some good news and not so good. ?Pause now appears to work on a single block automatically generated 'safe' section which is brilliant, but only if the action is set to happen without delay. ? I expect that the previous workaround of editing out the facing signal in the xml or generating the section manually will still work. ?I'll check and confirm.

Regards

Paul

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.


 

Hi Paul
I think I can fix this. I believe it's due to timing and when it thinks it is in a paused state. So a two second delay should pause but a 250milli second may not. I will investigate further.
Steve G.


On October 25, 2018 6:54:11 AM EDT, paul@... wrote:
Hi Steve,

Do the changes in 4.14.4 have any impact this? ?I've retested it on this release and there's some good news and not so good. ?Pause now appears to work on a single block automatically generated 'safe' section which is brilliant, but only if the action is set to happen without delay. ? I expect that the previous workaround of editing out the facing signal in the xml or generating the section manually will still work. ?I'll check and confirm.

Regards

Paul

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.