[kovarex] [0.16.7] Error RailPath.cpp:65: Path is already off.

This subforum contains all the issues which we already resolved.
oracleguy
Burner Inserter
Burner Inserter
Posts: 12
Joined: Mon Dec 18, 2017 5:58 am
Contact:

[kovarex] [0.16.7] Error RailPath.cpp:65: Path is already off.

Post by oracleguy »

Started having this crash with my save file. It seems to happen in less than 5 minutes with the map running and just sitting there so it is very reproducible. I'm running it from a Linux headless server if it matters.

Code: Select all

Factorio crashed. Generating symbolized stacktrace, please wait ...
c:\cygwin64\tmp\factorio-azpuox\libraries\stackwalker\stackwalker.cpp (923): StackWalker::ShowCallstack
c:\cygwin64\tmp\factorio-azpuox\src\util\logger.cpp (371): Logger::writeStacktrace
c:\cygwin64\tmp\factorio-azpuox\src\util\logger.cpp (470): Logger::logStacktrace
c:\cygwin64\tmp\factorio-azpuox\src\util\logging.cpp (78): Logging::logAndAbortOrThrow
c:\cygwin64\tmp\factorio-azpuox\src\util\logging.cpp (73): Logging::logAndAbortOrThrow
c:\cygwin64\tmp\factorio-azpuox\src\rail\railpath.cpp (65): RailPath::updatePosition
c:\cygwin64\tmp\factorio-azpuox\src\rail\train.cpp (1559): Train::resolveRailTransition
c:\cygwin64\tmp\factorio-azpuox\src\rail\railjoint.cpp (93): RailJoint::startOnNewRail
c:\cygwin64\tmp\factorio-azpuox\src\entity\rollingstock.cpp (265): RollingStock::Carriage::moveFrontJointForward
c:\cygwin64\tmp\factorio-azpuox\src\entity\rollingstock.cpp (341): RollingStock::move
c:\cygwin64\tmp\factorio-azpuox\src\rail\train.cpp (1810): Train::tryToMove
c:\cygwin64\tmp\factorio-azpuox\src\rail\train.cpp (1681): Train::move
c:\cygwin64\tmp\factorio-azpuox\src\rail\train.cpp (1197): Train::updateSpeedAndMove
c:\cygwin64\tmp\factorio-azpuox\src\rail\train.cpp (877): Train::update
c:\cygwin64\tmp\factorio-azpuox\src\rail\trainmanager.cpp (188): TrainManager::update
c:\cygwin64\tmp\factorio-azpuox\src\map\map.cpp (1232): Map::update
c:\cygwin64\tmp\factorio-azpuox\src\game.cpp (153): Game::update
c:\cygwin64\tmp\factorio-azpuox\src\scenario\scenario.cpp (822): Scenario::update
c:\cygwin64\tmp\factorio-azpuox\src\mainloop.cpp (985): MainLoop::gameUpdateStep
c:\cygwin64\tmp\factorio-azpuox\src\mainloop.cpp (852): MainLoop::gameUpdateLoop
c:\cygwin64\tmp\factorio-azpuox\src\util\workerthread.cpp (36): WorkerThread::loop
c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\thr\xthread (232): std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl MapGenerationHelper::*)(void) __ptr64,MapGenerationHelper * __ptr64>,std::default_delete<std::tuple<void (__cdecl MapGenerationHelper::*)(void) __ptr64,MapGenerationHelper * __ptr64> > > >::_Go
c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.12.25827\include\thr\xthread (211): std::_Pad::_Call_func
d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp (115): thread_start<unsigned int (__cdecl*)(void * __ptr64)>
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF8CDC31FE4)
00007FF8CDC31FE4 (KERNEL32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF8CDD6EF91)
00007FF8CDD6EF91 (ntdll): (filename not available): RtlUserThreadStart
 247.743 Error RailPath.cpp:65: Path is already off.
Logger::writeStacktrace skipped.
 247.743 Error CrashHandler.cpp:128: Map tick at moment of crash: 15514970
 247.743 Error Util.cpp:67: Unexpected error occurred. If you're running the latest version of the game you can help us solve the problem by posting the contents of the log file on the Factorio forums.
Please also include the save file(s), any mods you may be using, and any steps you know of to reproduce the crash.
 251.904 Creating crash dump.
 251.993 CrashDump success
You can download the map and two crash dumps from this link: https://drive.google.com/open?id=1rZFya ... KFAnW1AXjb
Attachments
factorio-dump-current.dmp
(551.88 KiB) Downloaded 140 times
factorio-current.log
Log file
(27.51 KiB) Downloaded 166 times
kovarex
Factorio Staff
Factorio Staff
Posts: 8207
Joined: Wed Feb 06, 2013 12:00 am
Contact:

Re: [kovarex] [0.16.7] Error RailPath.cpp:65: Path is already off.

Post by kovarex »

Thank you for the report, the reproducibility helped.
I spent quite some time checking the path finding internals to find out how could it suddenly find path in opposite direction to what it had second ago and why the path in the original direction didn't exist at all.
In the first stage, I discovered, that the train could actually move the other direction as well, as the part of the rail had two-sided signals.
In the second stage, I discovered that the new path is way longer than the new one, so I thought that it is doing some big detour, but it still didn't make any sense, that it couldn't find the original path when the longer path exists.
I was checking if rails weren't destroyed and other things.

Just to find out, the stops were controlled by circuit network and the stations of the same "Ore pickup" name are all over the map, and the circuit network is shutting them down when there is not enough ore ... the AHA moment :)

Long story short, it is fixed for the next release.
oracleguy
Burner Inserter
Burner Inserter
Posts: 12
Joined: Mon Dec 18, 2017 5:58 am
Contact:

Re: [kovarex] [0.16.7] Error RailPath.cpp:65: Path is already off.

Post by oracleguy »

You are welcome; I am glad you were able to figure it out. You guys are awesome.
Post Reply

Return to “Resolved Problems and Bugs”