Page 1 of 1

[0.12.0] Train Intersection Crash (Probably by Chain Signal)

Posted: Sun Jul 19, 2015 2:34 am
by MasterBuilder
I made a little test intersection to try out chain signals and this causes the game to freeze/crash the moment the train gets to the first chain signal. (Either train).
The north train is set to go to the south station, and the east train to the west station. Simply load the game and start any either train to cause the crash. (No mods)

Log:

Code: Select all

   0.002 2015-07-18 22:38:33; Factorio 0.12.0 (Build 103, win64)
   0.002 Operating system: Windows 7 Service Pack 1
   0.002 Read data path: O:/Program Files/Factorio/data
   0.002 Write data path: O:/Program Files/Factorio
   0.002 Binaries path: O:/Program Files/Factorio/bin
   0.403 Initialised Direct3D: NVIDIA GeForce GTX 660  ; driver: nvd3dumx.dll 9.18.13.5012
   0.551 Graphics options: [FullScreen: false] [VSync: false] [UIScale: 100%] [MultiSampling: X 8] [Graphics quality: normal] [Video memory usage: all]
   0.664 Loading mod core 0.0.0 (data.lua)
   0.671 Loading mod base 0.12.0 (data.lua)
   1.783 Initial atlas bitmap size is 16384
   1.792 Created atlas bitmap 16384x7658
  18.741 Info Updater.cpp:720: Downloading https://www.factorio.com/updater/get-available-versions?username=MasterBuilder&token=<private>&apiVersion=2
  18.988 0 packages available to download (experimental updates enabled).
  19.028 Factorio initialised
  25.902 Loading map O:/Program Files\Factorio\saves\Test.zip
  26.023 Info Scenario.cpp:160: Map version 0.12.0-36
  30.793 Error Train.cpp:1237: Failed to reserve signal in block.
Factorio crashed. Generating symbolized stacktrace, please wait ...
c:\temp\factorio-5829127a\libraries\stackwalker\stackwalker.cpp (923): StackWalker::ShowCallstack
c:\temp\factorio-5829127a\src\util\logger.cpp (283): Logger::writeStacktrace
c:\temp\factorio-5829127a\src\util\logger.cpp (337): Logger::logStacktrace
c:\temp\factorio-5829127a\src\util\crashhandler.cpp (79): CrashHandler::writeStackTrace
c:\temp\factorio-5829127a\src\util\crashhandler.cpp (137): CrashHandler::SignalHandler
f:\dd\vctools\crt\crtw32\misc\winsig.c (587): raise
f:\dd\vctools\crt\crtw32\misc\abort.c (82): abort
c:\temp\factorio-5829127a\src\rail\train.cpp (1237): Train::tryReserveSignalsUpTo
c:\temp\factorio-5829127a\src\rail\train.cpp (624): Train::update
c:\temp\factorio-5829127a\src\rail\trainmanager.cpp (140): TrainManager::update
c:\temp\factorio-5829127a\src\map\map.cpp (900): Map::update
c:\temp\factorio-5829127a\src\game.cpp (135): Game::update
c:\temp\factorio-5829127a\src\scenario\scenario.cpp (736): Scenario::update
c:\temp\factorio-5829127a\src\mainloop.cpp (250): MainLoop::gameUpdateStep
c:\temp\factorio-5829127a\src\mainloop.cpp (351): MainLoop::updateLoop
c:\boost_1_58_0\boost\function\function_template.hpp (160): boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void,void (__cdecl*)(ThreadBarrier * __ptr64,boost::chrono::time_point<boost::chrono::steady_clock,boost::chrono::duration<__int64,boost::ratio<1,1000000000> > > * __ptr64,boost::chrono::time_point<boost::chrono::steady_clock,boost::chrono::duration<__int64,boost::ratio<1,1000000000> > > * __ptr64,bool * __ptr64,bool),boost::_bi::list5<boost::_bi::value<ThreadBarrier * __ptr64>,boost::_bi::value<boost::chrono::time_point<boost::chrono::steady_clock,boost::chrono::duration<__int64,boost::ratio<1,1000000000> > > * __ptr64>,boost::_bi::value<boost::chrono::time_point<boost::chrono::steady_clock,boost::chrono::duration<__int64,boost::ratio<1,1000000000> > > * __ptr64>,boost::_bi::value<bool * __ptr64>,boost::_bi::value<bool> > >,void>::invoke
c:\temp\factorio-5829127a\src\util\thread.cpp (34): Thread::loop
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 000000013F7BB163)
000000013F7BB163 (Factorio): (filename not available): boost::`anonymous namespace'::thread_start_function
f:\dd\vctools\crt\crtw32\startup\threadex.c (376): _callthreadstartex
f:\dd\vctools\crt\crtw32\startup\threadex.c (354): _threadstartex
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 0000000077A6652D)
0000000077A6652D (kernel32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 0000000077C9C541)
0000000077C9C541 (ntdll): (filename not available): RtlUserThreadStart
  43.252 Error Util.cpp:45: Unexpected error occurred. You can help us to solve the problem by posting the contents of the log file on the Factorio forums.
(Arrows added with marvelous paint stills to indicate intended train direction.)
Crash.png
Crash.png (1.94 MiB) Viewed 1833 times

Re: [0.12.0] Train Intersection Crash (Probably by Chain Signal)

Posted: Sun Jul 19, 2015 2:08 pm
by HanziQ
Thank you for the report, this has been fixed for the next release.