I have an issue I can't track down and think it might have something to do with ghost block. It's repeatable. Every car in both trains is detectable. (I use BDL716 and tests show it very sensitive and reliable.)
Waits about half a block west of the turnout for it to close before proceeding thru eastbound
Dispatcher throws turnout as soon as preceding block clears and before last passenger car clears causing short
Dispatcher allocated the turnout and threw it while a car was on the turnout.
It shouldn't matter for this but my blocks are all longer than the train and have accurate dimensions as well as the train has accurate dimensions. I also check full train in autotrain. I don't believe an intermittent bounce would matter since the BDL716 has debounce and I've never seen the test LEDs on BDL flicker.
Here's a log snippet of the action.
DEBUG - FEC: handleBlockStateChange to OCCUPIED section B10:B10 (IY:AUTO:0030), block B10 (IB:AUTO:0010), length 1117 [Allocated Section Block Change on B10]
DEBUG - FEC: new current signalmast B10-B16 (IF$vsm:basic:one-low($0076))(Approach) for section B10:B10 (IY:AUTO:0030) [Allocated Section Block Change on B10]
DEBUG - FEC: B10-B16 (IF$vsm:basic:one-low($0076))(Approach) Medium(50), Dest: T6TD-B2 (IF$vsm:basic:one-low($0037)), path max: 100 [Allocated Section Block Change on B10]
DEBUG - FEC: Signal B10-B16 (IF$vsm:basic:one-low($0076)) setting speed to 50.0 for next [Allocated Section Block Change on B10]
DEBUG - FEC: setTargetSpeedValue: Speed[50.0] [Allocated Section Block Change on B10]
DEBUG - setTargetSpeed: Set Speed[0.5] adjusted to TargetSpeed[0.5]? [Allocated Section Block Change on B10]
DEBUG - RampToTarget[0.5]current[0.5] [Allocated Section Block Change on B10]
DEBUG - Remove TransitSection[IY:AUTO:0007( B11:B11 )] [AWT-EventQueue-0]
DEBUG - FEC: releasing section [B11:B11 (IY:AUTO:0007)] [Auto Allocator ]
DEBUG - FEC: handleBlockStateChange to UNOCCUPIED - Section B11:B11 (IY:AUTO:0007), Block B11 (IB:AUTO:0011), speed 0.5 [Allocated Section Block Change on B11]
DEBUG - Remove TransitSection[IY:AUTO:0008( T4:T4 )] [AWT-EventQueue-0]
DEBUG - FEC: handleBlockStateChange to UNOCCUPIED - Section T4:T4 (IY:AUTO:0008), Block VBT4 (IB:AUTO:0016), speed 0.5 [Allocated Section Block Change on VBT4]
DEBUG - FEC: releasing section [T4:T4 (IY:AUTO:0008)] [Auto Allocator ]
DEBUG - Adding TransitSection[IY:AUTO:0034( B16:B16 )] [AWT-EventQueue-0]
DEBUG - FEC / B10Loop:Next Section Expected[true] [AWT-EventQueue-0]
DEBUG - FEC: handleBlockStateChange to OCCUPIED section B16:B16 (IY:AUTO:0034), block B16 (IB:AUTO:0026), length 914 [Allocated Section Block Change on B16]
DEBUG - FEC: new current signalmast T6TD-B2 (IF$vsm:basic:one-low($0037))(Stop) for section B16:B16 (IY:AUTO:0034) [Allocated Section Block Change on B16]
DEBUG - FEC: StopInCurrentSection called for B16:B16 (IY:AUTO:0034) task[0] targetspeed[0.5] [Allocated Section Block Change on B16]
DEBUG - FEC: train will fit in [B16:B16 (IY:AUTO:0034)] (914>=609), stop when prev block clears. [Allocated Section Block Change on B16]
DEBUG - setTargetSpeed: Set Speed[0.0] adjusted to TargetSpeed[0.0]? [Allocated Section Block Change on B16]
DEBUG - RampToTarget[0.0]current[0.5] [Allocated Section Block Change on B16]
DEBUG - FEC / B10Loop:Set Stop [Allocated Section Block Change on B16]
DEBUG - Adding TransitSection[IY:AUTO:0004( B2a:B2a )] [AWT-EventQueue-0]
DEBUG - Amtrak / B3Loop:Next Section Expected[true] [AWT-EventQueue-0]
ERROR - [Amtrak / B3Loop]direction[false] Section[B15Crossing (IY:AUTO:0006)]Error in turnout check/set request - initial Block[B1] and Section[B1 (IB:AUTO:0001)] mismatch [Auto Allocator ]
DEBUG - Amtrak: handleBlockStateChange to OCCUPIED section B2a:B2a (IY:AUTO:0004), block B2a (IB:AUTO:0028), length 1117 [Allocated Section Block Change on B2a]
DEBUG - Amtrak: Allocated section [B15Crossing (IY:AUTO:0006)] [Auto Allocator ]
DEBUG - Amtrak: new current signalmast B2b (IF$vsm:basic:one-low($0072))(Clear) for section B2a:B2a (IY:AUTO:0004) [Allocated Section Block Change on B2a]
DEBUG - Amtrak: B2b (IF$vsm:basic:one-low($0072))(Clear) Normal(100), Dest: Crossing B2-B11 (IF$vsm:basic:one-low($0007)), path max: 100 [Allocated Section Block Change on B2a]
DEBUG - Amtrak: Signal B2b (IF$vsm:basic:one-low($0072)) setting speed to 100.0 for previous [Allocated Section Block Change on B2a]
DEBUG - Amtrak: setTargetSpeedValue: Speed[50.0] [Allocated Section Block Change on B2a]
DEBUG - setTargetSpeed: Set Speed[0.5] adjusted to TargetSpeed[0.5]? [Allocated Section Block Change on B2a]
DEBUG - RampToTarget[0.5]current[0.5] [Allocated Section Block Change on B2a]
DEBUG - Remove TransitSection[IY:AUTO:0017( B1:B1 )] [AWT-EventQueue-0]
DEBUG - Amtrak: releasing section [B1:B1 (IY:AUTO:0017)] [Auto Allocator ]
DEBUG - Amtrak: handleBlockStateChange to UNOCCUPIED - Section B1:B1 (IY:AUTO:0017), Block B1 (IB:AUTO:0001), speed 0.5 [Allocated Section Block Change on B1]
DEBUG - Remove TransitSection[IY:AUTO:0003( T6:T6 )] [AWT-EventQueue-0]
DEBUG - Amtrak: releasing section [T6:T6 (IY:AUTO:0003)] [Auto Allocator ]
DEBUG - Amtrak: handleBlockStateChange to UNOCCUPIED - Section T6:T6 (IY:AUTO:0003), Block VBT6 (IB:AUTO:0013), speed 0.5 [Allocated Section Block Change on VBT6]
DEBUG - FEC: auto allocating Section T6:T6 (IY:AUTO:0003) [Auto Allocator ]
DEBUG - FEC: setting turnout 6-Beach (LT6) to Thrown [Auto Allocator ]
DEBUG - FEC: setting turnout 6-Beach (LT6) to Thrown [Auto Allocator ]
DEBUG - FEC: stopping for signal [T6TD-B2 (IF$vsm:basic:one-low($0037))]? [Auto Allocator ]
DEBUG - FEC: StopInCurrentSection called for B16:B16 (IY:AUTO:0034) task[0] targetspeed[0.0] [Auto Allocator ]
DEBUG - FEC: train is already stopped or stopping. [Auto Allocator ]
DEBUG - FEC: Allocated section [T6:T6 (IY:AUTO:0003)] [Auto Allocator ]
DEBUG - Adding TransitSection[IY:AUTO:0005( B2b:B2b )] [AWT-EventQueue-0]
DEBUG - Amtrak / B3Loop:Next Section Expected[true] [AWT-EventQueue-0]
DEBUG - Amtrak: handleBlockStateChange to OCCUPIED section B2b:B2b (IY:AUTO:0005), block B2b (IB:AUTO:0049), length 736 [Allocated Section Block Change on B2b]
DEBUG - Amtrak: new current signalmast Crossing B2-B11 (IF$vsm:basic:one-low($0007))(Approach) for section B2b:B2b (IY:AUTO:0005) [Allocated Section Block Change on B2b]
DEBUG - Amtrak: Crossing B2-B11 (IF$vsm:basic:one-low($0007))(Approach) Medium(50), Dest: T4F (IF$vsm:basic:two-low($0016)), path max: 100 [Allocated Section Block Change on B2b]
WARN? - count of 2 ACTIVE neighbors with proper direction can't be handled for block BYE but maybe it can be determined when another block becomes free [AWT-EventQueue-0]
DEBUG - Amtrak: Signal Crossing B2-B11 (IF$vsm:basic:one-low($0007)) setting speed to 50.0 for next [Allocated Section Block Change on B2b]
DEBUG - Amtrak: setTargetSpeedValue: Speed[50.0] [Allocated Section Block Change on B2b]