Page 1 of 1
[0.17.79] Crash shortly after joining server (EntityWithHealth::hasEnoughHealth)
Posted: Sat Jan 04, 2020 12:57 am
by ngc0202
I don't have much info to share as this crash seemed pretty random as to when it occurred, but it has happened twice now (of two times trying to play the game tonight). Both times, approximately one minute after joining a multiplayer server, the game would freeze up and crash. Looking at the log file, I see mentions of "RazerChromaController", and while I have a Razer mouse, I have nothing Razer Chroma related. I can't think of anything in-game that is similar between the two crashes besides that they both occurred a short while into gameplay on the same server, so I hope the crash log has enough info to track this one down.
Thanks.
Re: [0.17.79] Game crash shortly after joining MP server
Posted: Sat Jan 04, 2020 1:15 am
by TruePikachu
Code: Select all
115.530 Error CrashHandler.cpp:462: Exception Code: c0000005, Address: 0x00007ff6ef7ae646
ModuleBase: 0x00007ff6ef610000, ImageSize: 0183e000, RelativeAddress: 0019e646
115.530 Error CrashHandler.cpp:468: Access Violation: Read at address 0000240000000000
115.530 Error CrashHandler.cpp:482: Exception Context:
rax=000000b459dcec01, rbx=0000029426dabc01, rcx=0000240000000000,
rdx=0000000000000000, rsi=00000294e8edca40, rdi=00000294e8edca40,
rip=00007ff6ef7ae646, rsp=000000b459dcebb0, rbp=000000b459dced30,
r8=0000000000000000, r9=0000029426dabc20, r10=0000000000000000,
r11=000000b459dcec00, r12=0000000000000000, r13=0000029525c0d890,
r14=00000294382b49e0, r15=0000000000000001
115.530 Crashed in C:\Program Files (x86)\Steam\steamapps\common\Factorio\bin\x64\Factorio.exe (0x00007ff6ef610000 - 0x00007ff6f0e4e000)
Factorio crashed. Generating symbolized stacktrace, please wait ...
c:\cygwin64\tmp\factorio-build-kcbfya\libraries\stackwalker\stackwalker.cpp (924): StackWalker::ShowCallstack
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\logger.cpp (537): Logger::writeStacktrace
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\logger.cpp (544): Logger::logStacktrace
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\crashhandler.cpp (184): CrashHandler::writeStackTrace
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\crashhandler.cpp (511): CrashHandler::SehHandler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF82FD86C9C)
00007FF82FD86C9C (KERNELBASE): (filename not available): UnhandledExceptionFilter
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF8338781CB)
00007FF8338781CB (ntdll): (filename not available): memset
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF83385FD56)
00007FF83385FD56 (ntdll): (filename not available): _C_specific_handler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF83387477F)
00007FF83387477F (ntdll): (filename not available): _chkstk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF8337D4BEF)
00007FF8337D4BEF (ntdll): (filename not available): RtlWalkFrameChain
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF8338734EE)
00007FF8338734EE (ntdll): (filename not available): KiUserExceptionDispatcher
c:\cygwin64\tmp\factorio-build-kcbfya\src\entity\entitywithhealth.cpp (231): EntityWithHealth::hasEnoughHealth
c:\cygwin64\tmp\factorio-build-kcbfya\src\entity\turret.cpp (592): Turret::hasAttackTarget
c:\cygwin64\tmp\factorio-build-kcbfya\src\entity\turret.cpp (310): Turret::update
c:\cygwin64\tmp\factorio-build-kcbfya\src\surface\chunk.cpp (647): Chunk::updateActiveEntities
c:\cygwin64\tmp\factorio-build-kcbfya\src\surface\chunk.cpp (715): Chunk::updateEntities
c:\cygwin64\tmp\factorio-build-kcbfya\src\surface\surface.cpp (1495): Surface::update
c:\cygwin64\tmp\factorio-build-kcbfya\src\map\map.cpp (1565): Map::updateEntities
c:\cygwin64\tmp\factorio-build-kcbfya\src\game.cpp (201): Game::update
c:\cygwin64\tmp\factorio-build-kcbfya\src\scenario\scenario.cpp (1216): Scenario::update
c:\cygwin64\tmp\factorio-build-kcbfya\src\mainloop.cpp (1163): MainLoop::gameUpdateStep
c:\cygwin64\tmp\factorio-build-kcbfya\src\mainloop.cpp (1032): MainLoop::gameUpdateLoop
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\workerthread.cpp (42): WorkerThread::loop
c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.15.26726\include\thr\xthread (230): std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl RazerChromaController::*)(void),RazerChromaController *>,std::default_delete<std::tuple<void (__cdecl RazerChromaController::*)(void),RazerChromaController *> > > >::_Go
c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.15.26726\include\thr\xthread (209): std::_Pad::_Call_func
minkernel\crts\ucrt\src\appcrt\startup\thread.cpp (115): thread_start<unsigned int (__cdecl*)(void * __ptr64)>
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF830A07974)
00007FF830A07974 (KERNEL32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF83383A271)
00007FF83383A271 (ntdll): (filename not available): RtlUserThreadStart
My first thought is a RAM failure; have you gotten other crashes recently?
Re: [0.17.79] Game crash shortly after joining MP server
Posted: Sat Jan 04, 2020 1:43 am
by ngc0202
I have not had any other crashes lately. If it were a RAM issue, I feel like it'd be weird for it to happen twice in exactly the same manner with the same error.
Re: [0.17.79] Game crash shortly after joining MP server
Posted: Sat Jan 04, 2020 1:59 am
by Loewchen
ngc0202 wrote: ↑Sat Jan 04, 2020 1:43 am
I feel like it'd be weird for it to happen twice in exactly the same manner with the same error.
What "same error" is that?
Do you have the log from the other crash as well?
Re: [0.17.79] Game crash shortly after joining MP server
Posted: Sat Jan 04, 2020 2:05 am
by ngc0202
Loewchen wrote: ↑Sat Jan 04, 2020 1:59 am
ngc0202 wrote: ↑Sat Jan 04, 2020 1:43 am
I feel like it'd be weird for it to happen twice in exactly the same manner with the same error.
What "same error" is that?
Do you have the log from the other crash as well?
Unfortunately it's been overwritten, but I had a crash twice in a row, i.e. launch, join game, play shortly, crash, relaunch, join, play, crash. I checked the logs both times and the error and stacktrace were identical. I believe the log I uploaded was from the first crash.
Re: [0.17.79] Crash shortly after joining server (EntityWithHealth::hasEnoughHealth)
Posted: Sat Jan 04, 2020 3:08 am
by ngc0202
Follow up: After successfully playing for almost an hour without this issue reoccurring, I got another crash. Attached is the new log file generated with what appears to be the same stacktrace again. Also of significance is that I found a Factorio setting to disable Razer Chroma support and unchecked it, so support should have been disabled entirely when this crash occurred, yet it seems that the crash again was within code related to the RazerChromaController.
Re: [0.17.79] Crash shortly after joining server (EntityWithHealth::hasEnoughHealth)
Posted: Sat Jan 04, 2020 6:48 pm
by TruePikachu
Chroma is
completely unrelated; it is just how the rest of the code is given the option to use it if it is enabled. Stuff that shallow in the call stack is generally unrelated to crashes.
Code: Select all
1134.983 Error CrashHandler.cpp:462: Exception Code: c0000005, Address: 0x00007ff68af1e646
ModuleBase: 0x00007ff68ad80000, ImageSize: 0183e000, RelativeAddress: 0019e646
1134.983 Error CrashHandler.cpp:468: Access Violation: Read at address 0000240000000000
1134.983 Error CrashHandler.cpp:482: Exception Context:
rax=000000546c00e701, rbx=000001bd1c96ce01, rcx=0000240000000000,
rdx=0000000000000000, rsi=000001bd37223740, rdi=000001bd37223740,
rip=00007ff68af1e646, rsp=000000546c00e6e0, rbp=000000546c00e860,
r8=0000000000000000, r9=000001bd1c96ce40, r10=0000000000000000,
r11=000000546c00e730, r12=0000000000000000, r13=000001bceb2c35d0,
r14=000001bc0ca3d9f0, r15=0000000000000001
1134.983 Crashed in C:\Program Files (x86)\Steam\steamapps\common\Factorio\bin\x64\Factorio.exe (0x00007ff68ad80000 - 0x00007ff68c5be000)
Factorio crashed. Generating symbolized stacktrace, please wait ...
c:\cygwin64\tmp\factorio-build-kcbfya\libraries\stackwalker\stackwalker.cpp (924): StackWalker::ShowCallstack
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\logger.cpp (537): Logger::writeStacktrace
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\logger.cpp (544): Logger::logStacktrace
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\crashhandler.cpp (184): CrashHandler::writeStackTrace
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\crashhandler.cpp (511): CrashHandler::SehHandler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF82FD86C9C)
00007FF82FD86C9C (KERNELBASE): (filename not available): UnhandledExceptionFilter
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF8338781CB)
00007FF8338781CB (ntdll): (filename not available): memset
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF83385FD56)
00007FF83385FD56 (ntdll): (filename not available): _C_specific_handler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF83387477F)
00007FF83387477F (ntdll): (filename not available): _chkstk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF8337D4BEF)
00007FF8337D4BEF (ntdll): (filename not available): RtlWalkFrameChain
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF8338734EE)
00007FF8338734EE (ntdll): (filename not available): KiUserExceptionDispatcher
c:\cygwin64\tmp\factorio-build-kcbfya\src\entity\entitywithhealth.cpp (231): EntityWithHealth::hasEnoughHealth
c:\cygwin64\tmp\factorio-build-kcbfya\src\entity\turret.cpp (592): Turret::hasAttackTarget
c:\cygwin64\tmp\factorio-build-kcbfya\src\entity\turret.cpp (310): Turret::update
c:\cygwin64\tmp\factorio-build-kcbfya\src\surface\chunk.cpp (647): Chunk::updateActiveEntities
c:\cygwin64\tmp\factorio-build-kcbfya\src\surface\chunk.cpp (715): Chunk::updateEntities
c:\cygwin64\tmp\factorio-build-kcbfya\src\surface\surface.cpp (1495): Surface::update
c:\cygwin64\tmp\factorio-build-kcbfya\src\map\map.cpp (1565): Map::updateEntities
c:\cygwin64\tmp\factorio-build-kcbfya\src\game.cpp (201): Game::update
c:\cygwin64\tmp\factorio-build-kcbfya\src\scenario\scenario.cpp (1216): Scenario::update
c:\cygwin64\tmp\factorio-build-kcbfya\src\mainloop.cpp (1163): MainLoop::gameUpdateStep
c:\cygwin64\tmp\factorio-build-kcbfya\src\mainloop.cpp (1032): MainLoop::gameUpdateLoop
c:\cygwin64\tmp\factorio-build-kcbfya\src\util\workerthread.cpp (42): WorkerThread::loop
c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.15.26726\include\thr\xthread (230): std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl RazerChromaController::*)(void),RazerChromaController *>,std::default_delete<std::tuple<void (__cdecl RazerChromaController::*)(void),RazerChromaController *> > > >::_Go
c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.15.26726\include\thr\xthread (209): std::_Pad::_Call_func
minkernel\crts\ucrt\src\appcrt\startup\thread.cpp (115): thread_start<unsigned int (__cdecl*)(void * __ptr64)>
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF830A07974)
00007FF830A07974 (KERNEL32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF83383A271)
00007FF83383A271 (ntdll): (filename not available): RtlUserThreadStart
I don't have time to mount the PDB to get any idea of what's trying to be accomplished, but my new theory is that some bitfield is incorrectly being used as a pointer. Alternatively, it's an issue with the specific server.