[0.16.51] Crash: "Rail::getPosition"

Post Reply
lactosis
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sat Feb 02, 2019 1:54 am
Contact:

[0.16.51] Crash: "Rail::getPosition"

Post by lactosis » Sat Feb 02, 2019 2:13 am

Hello,

My Steam version of Factorio crashed this evening. It generated factorio-current.log with full symbolized stack trace which is in the attachment.

The bug occured when we were playing on a remote headless server. I think the cause of the bug might have been Creative mode fix 0.0.32. Me and my friend both wanted to deconstruct a section of rail with signals on it. I had deconstruction planner with rail signal filter (whitelist). I attempted to deconstruct the signals from the rail at the same time as my friend used the Creator magic wand from the Creative mode to delete the entities of the rail and signals. Ít seemed that both events happened at (approximately) the same time. The game immediately crashed.

Judging from a quick glimpse at the logs, it looks like one of the methods attempted to write to an already non-existent object. Just for info, my client was Player 1, while my friend was Player 0.

Regards,
Lactosis
Attachments
factorio-dump-current.dmp
(534.71 KiB) Downloaded 7 times
factorio-current.log
(16.96 KiB) Downloaded 8 times

User avatar
TruePikachu
Filter Inserter
Filter Inserter
Posts: 600
Joined: Sat Apr 09, 2016 8:39 pm
Contact:

Re: [0.16.51] Crash: "Rail::getPosition"

Post by TruePikachu » Sat Feb 02, 2019 7:29 pm

Code: Select all

23581.926 Error CrashHandler.cpp:373: Exception Code: c0000005, Address: 0x00007ff60ddadbb9
ModuleBase: 0x00007ff60dbe0000, ImageSize: 013d9000, RelativeAddress: 001cdbb9
23581.926 Error CrashHandler.cpp:379: Access Violation: Read at address 00000000000000A2
23581.926 Error CrashHandler.cpp:393: Exception Context:
rax=0000000000000000, rbx=000000e75baff040, rcx=0000000000000000,
rdx=000000e75baff030, rsi=000000e75baff050, rdi=0000000000000000,
rip=00007ff60ddadbb9, rsp=000000e75bafef10, rbp=000000e75baff230,
 r8=000000e75baff068,  r9=000000e75baff020, r10=00000000000000c8,
r11=000000e75baff030, r12=0000000000000000, r13=0000029dc6404110,
r14=000000e75baff068, r15=0000000000000001
23581.926 Crashed in D:\Programs\Steam\steamapps\common\Factorio\bin\x64\Factorio.exe (0x00007ff60dbe0000 - 0x00007ff60efb9000)
Factorio crashed. Generating symbolized stacktrace, please wait ...
c:\cygwin64\tmp\factorio-build-rlyqnq\libraries\stackwalker\stackwalker.cpp (924): StackWalker::ShowCallstack
c:\cygwin64\tmp\factorio-build-rlyqnq\src\util\logger.cpp (408): Logger::writeStacktrace
c:\cygwin64\tmp\factorio-build-rlyqnq\src\util\logger.cpp (521): Logger::logStacktrace
c:\cygwin64\tmp\factorio-build-rlyqnq\src\util\crashhandler.cpp (169): CrashHandler::writeStackTrace
c:\cygwin64\tmp\factorio-build-rlyqnq\src\util\crashhandler.cpp (420): CrashHandler::SehHandler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC7DD7BCF0)
00007FFC7DD7BCF0 (KERNELBASE): (filename not available): UnhandledExceptionFilter
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC80E73167)
00007FFC80E73167 (ntdll): (filename not available): memset
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC80E5B5E6)
00007FFC80E5B5E6 (ntdll): (filename not available): _C_specific_handler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC80E6F7DD)
00007FFC80E6F7DD (ntdll): (filename not available): _chkstk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC80DDD856)
00007FFC80DDD856 (ntdll): (filename not available): RtlWalkFrameChain
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC80E6E70E)
00007FFC80E6E70E (ntdll): (filename not available): KiUserExceptionDispatcher
c:\cygwin64\tmp\factorio-build-rlyqnq\src\entity\rail.cpp (656): Rail::getPosition
c:\cygwin64\tmp\factorio-build-rlyqnq\src\entity\rollingstock.cpp (1292): RollingStock::getDrawPositionData
c:\cygwin64\tmp\factorio-build-rlyqnq\src\entity\rollingstock.cpp (1223): RollingStock::getSelectionBox
c:\cygwin64\tmp\factorio-build-rlyqnq\src\entity\entity.cpp (1053): Entity::selectionCollide
c:\cygwin64\tmp\factorio-build-rlyqnq\src\entity\entityselector.cpp (136): EntitySelector::checkEntityForSelection
c:\cygwin64\tmp\factorio-build-rlyqnq\src\entity\entityselector.cpp (114): EntitySelector::deduceSelectedEntity
c:\cygwin64\tmp\factorio-build-rlyqnq\src\entity\entityselector.cpp (184): EntitySelector::checkIfEntitySelectionUpdateShouldBeCreated
c:\cygwin64\tmp\factorio-build-rlyqnq\src\player.cpp (443): Player::updateEntitySelector
c:\cygwin64\tmp\factorio-build-rlyqnq\src\input\inputhandlerallegro.cpp (1087): InputHandlerAllegro::sendStateChanges
c:\cygwin64\tmp\factorio-build-rlyqnq\src\gameactionhandler.cpp (308): GameActionHandler::update
c:\cygwin64\tmp\factorio-build-rlyqnq\src\mainloop.cpp (1001): MainLoop::gameUpdateStep
c:\cygwin64\tmp\factorio-build-rlyqnq\src\mainloop.cpp (874): MainLoop::gameUpdateLoop
c:\cygwin64\tmp\factorio-build-rlyqnq\src\util\workerthread.cpp (36): WorkerThread::loop
c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.12.25827\include\thr\xthread (232): std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl RouterBase::*)(void) __ptr64,ServerRouter * __ptr64>,std::default_delete<std::tuple<void (__cdecl RouterBase::*)(void) __ptr64,ServerRouter * __ptr64> > > >::_Go
c:\program files (x86)\microsoft visual studio\2017\buildtools\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: 00007FFC7E933034)
00007FFC7E933034 (KERNEL32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC80E43691)
00007FFC80E43691 (ntdll): (filename not available): RtlUserThreadStart
I'll dig into the dumpfile in a bit.

EDIT: The faulting `RollingStock` has null rail targetters as both its joints. Maybe a mod tried spawning a railcar off of the track? The `RollingStock` in question appears to contain a roboport provider, though I can't identify specifically what entity it is because that information isn't present in the dump.

EDIT 2: Upon rereading the description, I believe the wand deleted the tracks from under a railcar.

kovarex
Factorio Staff
Factorio Staff
Posts: 6684
Joined: Wed Feb 06, 2013 12:00 am
Contact:

Re: [0.16.51] Crash: "Rail::getPosition"

Post by kovarex » Mon Feb 18, 2019 10:42 am

This will not happen in 0.17

Post Reply

Return to “Resolved for 0.17”

Who is online

Users browsing this forum: No registered users and 0 guests