[0.17.79] Crash shortly after joining server (EntityWithHealth::hasEnoughHealth)

Bugs that we were not able to reproduce, and/or are waiting for more detailed info.
ngc0202
Burner Inserter
Burner Inserter
Posts: 7
Joined: Sat Jan 04, 2020 12:42 am
Contact:

[0.17.79] Crash shortly after joining server (EntityWithHealth::hasEnoughHealth)

Post 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.
Attachments
factorio-current.log
(33.64 KiB) Downloaded 103 times
User avatar
TruePikachu
Filter Inserter
Filter Inserter
Posts: 978
Joined: Sat Apr 09, 2016 8:39 pm
Contact:

Re: [0.17.79] Game crash shortly after joining MP server

Post 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?
ngc0202
Burner Inserter
Burner Inserter
Posts: 7
Joined: Sat Jan 04, 2020 12:42 am
Contact:

Re: [0.17.79] Game crash shortly after joining MP server

Post 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.
Loewchen
Global Moderator
Global Moderator
Posts: 9666
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: [0.17.79] Game crash shortly after joining MP server

Post 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?
ngc0202
Burner Inserter
Burner Inserter
Posts: 7
Joined: Sat Jan 04, 2020 12:42 am
Contact:

Re: [0.17.79] Game crash shortly after joining MP server

Post 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.
ngc0202
Burner Inserter
Burner Inserter
Posts: 7
Joined: Sat Jan 04, 2020 12:42 am
Contact:

Re: [0.17.79] Crash shortly after joining server (EntityWithHealth::hasEnoughHealth)

Post 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.
Attachments
factorio-current.log
(45.7 KiB) Downloaded 112 times
User avatar
TruePikachu
Filter Inserter
Filter Inserter
Posts: 978
Joined: Sat Apr 09, 2016 8:39 pm
Contact:

Re: [0.17.79] Crash shortly after joining server (EntityWithHealth::hasEnoughHealth)

Post 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.
Post Reply

Return to “Pending”