[0.17.32] Sudden Crash

This subforum contains all the issues which we already resolved.
Post Reply
Cocolumbo
Manual Inserter
Manual Inserter
Posts: 3
Joined: Sat Apr 20, 2019 8:04 pm
Contact:

[0.17.32] Sudden Crash

Post by Cocolumbo »

Hey there,

Since 0.17 dropped I'm experiencing a crash. When it happens, an Error message appears telling me to send the error log to the devs, but the message itselfs has no relevant crash information. As long as I dont touch the message, factorio keeps running fine. As soon as I close the message, factorio closes immediately without further notice. Sometimes I just crash directly to desktop without a message.

So far I've tried a bunch of different version of 0.17 without success.

The Crash happens in vanilla, without having any mods enabled. however, during a test of 2 hours where I sat idle in an otherwise empty world, nothing happened.

A friend of mine, with whom I play multiplayer experiences no issue, even though we are playing the same version with the same mods.

I'd really appreciate some help with this, since I'm at wits end and the factory hasnt grown in days!

Crashlog: https://pastebin.com/ieQ5Y7QT'

EDIT: https://pastebin.com/F3yc0G7e' Here is a Vanilla Crashlog.
Last edited by Cocolumbo on Sun Apr 21, 2019 8:17 am, edited 1 time in total.

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

Re: [0.17.32] Sudden Crash

Post by TruePikachu »

Code: Select all

 309.101 Error CrashHandler.cpp:425: Exception Code: c0000005, Address: 0x000002ba1c1c4dd0
ModuleBase: 0x00007ff681500000, ImageSize: 01650000, RelativeAddress: 9acc4dd0
 309.101 Error CrashHandler.cpp:431: Access Violation: Unknown at address 000002BA1C1C4DD0
 309.101 Error CrashHandler.cpp:445: Exception Context:
rax=0000000000000000, rbx=00007ff68239b2f2, rcx=00000000ffffffff,
rdx=0000000000000000, rsi=0000000000000001, rdi=000000cba154fcf8,
rip=000002ba1c1c4dd0, rsp=000000cba154fb18, rbp=000002ba1c2d3500,
 r8=0000000000000000,  r9=000000cba154fb28, r10=0000000000000000,
r11=000002ba065d5a80, r12=0000000000000000, r13=000000cba154fcf8,
r14=000000cba154fcf8, r15=000002ba06960410
Factorio crashed. Generating symbolized stacktrace, please wait ...
…
00007FFFA2BDE70E (ntdll): (filename not available): KiUserExceptionDispatcher
ERROR: SymGetSymFromAddr64, GetLastError: 126 (Address: 000002BA1C1C4DD0)
ERROR: SymGetLineFromAddr64, GetLastError: 126 (Address: 000002BA1C1C4DD0)
ERROR: SymGetModuleInfo64, GetLastError: 1114 (Address: 000002BA1C1C4DD0)
000002BA1C1C4DD0 ((module-name not available)): (filename not available): (function-name not available)
f:\dd\vctools\crt\crtw32\concrt\searchalgorithms.cpp (1036): Concurrency::details::WorkSearchContext::SearchCacheLocal_Runnables
f:\dd\vctools\crt\crtw32\concrt\searchalgorithms.cpp (1449): Concurrency::details::WorkSearchContext::SearchCacheLocal
f:\dd\vctools\crt\crtw32\concrt\internalcontextbase.cpp (1531): Concurrency::details::InternalContextBase::WorkWasFound
f:\dd\vctools\crt\crtw32\concrt\internalcontextbase.cpp (1699): Concurrency::details::InternalContextBase::Dispatch
f:\dd\vctools\crt\crtw32\concrt\freethreadproxy.cpp (203): Concurrency::details::FreeThreadProxy::Dispatch
f:\dd\vctools\crt\crtw32\concrt\threadproxy.cpp (177): Concurrency::details::ThreadProxy::ThreadProxyMain
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFFA2754034)
00007FFFA2754034 (KERNEL32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFFA2BB3691)
00007FFFA2BB3691 (ntdll): (filename not available): RtlUserThreadStart
Notably, this isn't in the main thread; backtrace context makes me believe it to be somewhere in the fluid thread logic. I also just took a look at the register context, which looks pretty odd to me, but I don't really want to attempt to investigate potential stack corruption without a crash dump file.

EDIT: I could be completely wrong, but the best I can figure about a "good" state is that Concurrency::details::SchedulingNode::FindVirtualProcessor had returned with -1 in ECX and 0 in R10 (=i). No sign of anything that would have corrupted the stack, though, unless there's some error that crops up if that final `i` is zero, and that resulting `-1` is written to something acting as an array offset (I didn't look too closely at things).

Cocolumbo
Manual Inserter
Manual Inserter
Posts: 3
Joined: Sat Apr 20, 2019 8:04 pm
Contact:

Re: [0.17.32] Sudden Crash

Post by Cocolumbo »

I assume this is the dump file: https://drive.google.com/open?id=1B7izl ... Cd0dPQ9yVB
If it isnt, I'd be happy to dig it up for you.

Thank you for your help, especially at 1:30 am :D

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

Re: [0.17.32] Sudden Crash

Post by TruePikachu »

So far, it looks like Concurrency::details::WorkSearchContext::StealLocalRunnable (or a callee) threw an extra value onto the stack somewhere, and the `ret` at the end is what resulted in the bad jump. I'll go through the assembly line-by-line to see if I can find the source of imbalance.

EDIT: I don't see any possible source of extra stack values in the above-mentioned function's call graph, under the assumptions that `operator delete[](void*)` and the imports TlsGetValue and Sleep are valid. The former being bad would create a lot more crash reports, while the latter are OS functions which also would create crash reports.

Checking the list of loaded modules, the only "exotic" one I see is Discord:

Code: Select all

    Loaded symbol image file: DiscordHook64.dll
    Image path: C:\Users\[REDACTED]\AppData\Roaming\discord\0.0.305\modules\discord_hook\151198a728\DiscordHook64.dll
    Image name: DiscordHook64.dll
    Timestamp:        Fri Apr 05 09:21:21 2019 (5CA78081)
    CheckSum:         002CB10E
    ImageSize:        002D4000
    File version:     0.0.0.0
    Product version:  0.0.0.0
    File flags:       0 (Mask 0)
    File OS:          0 Unknown Base
    File type:        0.0 Unknown
    File date:        00000000.00000000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
You aren't running anything like Cheat Engine, correct? Do you have all updates for Windows installed?


EDIT 2: I just noticed you also uploaded a vanilla crashlog, which looks interesting in that it's a more-traditional segfault. Specifically, in that case, `pCurrentRing` was null, stemming from a `VirtualProcessor` with a null `m_pOwningRing`.

Cocolumbo
Manual Inserter
Manual Inserter
Posts: 3
Joined: Sat Apr 20, 2019 8:04 pm
Contact:

Re: [0.17.32] Sudden Crash

Post by Cocolumbo »

No I'm not running Cheat engine or anything else that would mess with factorio.
I'm not doing anything fancy in the background either. Aside from discord there is a Browser running, maybe Spotify or an email client.

Windows is up to date.

Was my dumb file the correct one?

Thank you very much for your help.



EDIT: I also reinstalled factorio numerous times already. I also tried "checking integrity of game files" in steam.

posila
Factorio Staff
Factorio Staff
Posts: 5201
Joined: Thu Jun 11, 2015 1:35 pm
Contact:

Re: [0.17.32] Sudden Crash

Post by posila »

Thanks for the report.
We have replaced usage of Microsoft's PPL with our own thread pool in 0.17.34, so this crash should not happen anymore.

Post Reply

Return to “Resolved Problems and Bugs”