Page 1 of 1

Do we really need Factorio.pdb?

Posted: Sun May 01, 2016 9:49 am
by cpy
I found Factorio.pdb file inside factorio bin folder, do we really need this file for game to work?
Do we relly need this MS debug file to download with game?

Re: Do we really need Factorio.pdb?

Posted: Sun May 01, 2016 9:56 am
by daniel34
To run the game, no.
But it's useful in case your game crashes and you make a bug report with log file.
Rseding91 wrote:The file exists so the stack traces produced if the game crashes are human readable. It's intended to be there.
Besides, although the file is ~100MB big it shrinks to about ~15MB when compressed.

Re: Do we really need Factorio.pdb?

Posted: Sun May 01, 2016 11:58 am
by Rseding91
Without it a given stack trace generated in the crash log will look like this:
#0 0x100449149
#1 0x7fff8f55752a
#2 0x7fff6a17e6fb
#3 0x1007ce1e8
#4 0x10077e7a3
#5 0x100238404
#6 0x100151200
#7 0x10015124e
#8 0x1004699ee
#9 0x7fff9e19f46b
#10 0x7fff9e19f76f
#11 0x100451a19
#12 0x1008de986
#13 0x7fff9526a99d
#14 0x7fff9526a91a
#15 0x7fff95268351
With it that stack trace might look like this:
Factorio crashed. Generating symbolized stacktrace, please wait ...
c:\cygwin64\tmp\factorio-vbn8ul\libraries\stackwalker\stackwalker.cpp (923): StackWalker::ShowCallstack
c:\cygwin64\tmp\factorio-vbn8ul\src\util\logger.cpp (306): Logger::writeStacktrace
c:\cygwin64\tmp\factorio-vbn8ul\src\util\logger.cpp (360): Logger::logStacktrace
c:\cygwin64\tmp\factorio-vbn8ul\src\util\crashhandler.cpp (84): CrashHandler::writeStackTrace
c:\cygwin64\tmp\factorio-vbn8ul\src\util\crashhandler.cpp (174): CrashHandler::SignalHandler
f:\dd\vctools\crt\crtw32\misc\winxfltr.c (372): _XcptFilter
f:\dd\vctools\crt\crtw32\startup\threadex.c (378): _callthreadstartex$filt$0
f:\dd\vctools\crt\crtw32\misc\amd64\chandler.c (162): __C_specific_handler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF96AF19AED)
00007FF96AF19AED (ntdll): (filename not available): _chkstk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF96AEA4FE9)
00007FF96AEA4FE9 (ntdll): (filename not available): RtlImageNtHeaderEx
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF96AF18BFA)
00007FF96AF18BFA (ntdll): (filename not available): KiUserExceptionDispatcher
c:\cygwin64\tmp\factorio-vbn8ul\src\chart\charttag.cpp (45): ChartTag::renderTrainStop
c:\cygwin64\tmp\factorio-vbn8ul\src\graphics\chartrenderer.cpp (205): ChartRenderer::prepare
c:\cygwin64\tmp\factorio-vbn8ul\src\gui\minimapgui.cpp (47): MinimapGui::paintComponent
c:\cygwin64\tmp\factorio-vbn8ul\libraries\agui\src\agui\widget.cpp (1292): agui::Widget::_recursivePaintChildren
c:\cygwin64\tmp\factorio-vbn8ul\libraries\agui\src\agui\widget.cpp (1308): agui::Widget::_recursivePaintChildren
c:\cygwin64\tmp\factorio-vbn8ul\libraries\agui\src\agui\widget.cpp (1308): agui::Widget::_recursivePaintChildren
c:\cygwin64\tmp\factorio-vbn8ul\libraries\agui\src\agui\widget.cpp (1304): agui::Widget::_recursivePaintChildren
c:\cygwin64\tmp\factorio-vbn8ul\libraries\agui\src\agui\widget.cpp (1308): agui::Widget::_recursivePaintChildren
c:\cygwin64\tmp\factorio-vbn8ul\libraries\agui\src\agui\gui.cpp (1025): agui::Gui::render
c:\cygwin64\tmp\factorio-vbn8ul\src\graphics\guirenderer.cpp (35): GuiRenderer::prepare
c:\cygwin64\tmp\factorio-vbn8ul\src\mainloop.cpp (222): MainLoop::prepare
c:\cygwin64\tmp\factorio-vbn8ul\src\mainloop.cpp (473): MainLoop::tickStep
c:\cygwin64\tmp\factorio-vbn8ul\src\mainloop.cpp (576): MainLoop::run
c:\cygwin64\tmp\factorio-vbn8ul\src\main.cpp (493): wmain
f:\dd\vctools\crt\crtw32\startup\crt0.c (255): __tmainCRTStartup
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF968108102)
00007FF968108102 (KERNEL32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF96AECC5B4)
00007FF96AECC5B4 (ntdll): (filename not available): RtlUserThreadStart

Re: Do we really need Factorio.pdb?

Posted: Mon May 02, 2016 7:58 pm
by cpy
Well i ALWAYS delete that file so, you get adresses from me anyway. :D

Re: Do we really need Factorio.pdb?

Posted: Mon May 02, 2016 7:58 pm
by Zeblote
cpy wrote:Well i ALWAYS delete that file so, you get adresses from me anyway. :D
...why? 100MB is nothing on modern hard drives.

Re: Do we really need Factorio.pdb?

Posted: Mon May 02, 2016 8:27 pm
by Rseding91
Zeblote wrote:
cpy wrote:Well i ALWAYS delete that file so, you get adresses from me anyway. :D
...why? 100MB is nothing on modern hard drives.
Maybe he likes delaying the 0.13 dev time by making us take hours more time to possibly figure out what the stack trace could have told us in 5 seconds. Or maybe: https://i.kinja-img.com/gawker-media/im ... xlke84.jpg

Re: Do we really need Factorio.pdb?

Posted: Tue May 03, 2016 5:17 am
by cpy
I also don't send crashes to you. So don't worry. I have plenty of time to wait for 0.13, i play diablo and kerbal so i have things going for me.

First thing i do when i get game is to disable crash reports, by deleting apps responsible for it or blocking executables from being run (remove run privileges), then remove all pdb files. I have crash reports and all usage reports disabled in windows and basically everythign i run so yeah. I'm not beta tester i'm customer. So deal with it. :P
I bought name in the game package so that all support you get from me. Also factorio is the only game i went a bit extra to support devs as much as i did. I still think you do hellova good job with game. My crash reports wont make it any better anyway.

Re: Do we really need Factorio.pdb?

Posted: Tue May 03, 2016 5:54 am
by Rseding91
cpy wrote:... My crash reports wont make it any better anyway.
If you never give them to the developers then yes, that's true.

Re: Do we really need Factorio.pdb?

Posted: Tue May 03, 2016 7:42 am
by bobingabout
I don't think I've ever actually handed in a crash report... okay, maybe once(Beam weapon related issue?), but still, most of the issues I report don't usually end in a crash.
From what I recall, most were just describing the issue, including one that locked up the game entirely, but produced no crash.

Re: Do we really need Factorio.pdb?

Posted: Tue May 03, 2016 8:07 am
by cpy
Rseding91 wrote:
cpy wrote:... My crash reports wont make it any better anyway.
If you never give them to the developers then yes, that's true.
I don't truly play factorio, i play heavily modded factorio that crash probably only because of mod use so i spare you frustration of going, OMG this guy uses so many mods and it's mod that crashed it and we wasted so much time on it. That kinda thing.

My bug reports made it to new topics in forums explaining problem as best as i can, so that counts. :)

Re: Do we really need Factorio.pdb?

Posted: Fri May 20, 2016 10:52 pm
by seronis
If a mod causes a crash then there is SOMETHING that can usually be done so the game handles it in a failsafe / non-crashy way. Reports are always useful to devs who know how to use them. Personally I wish I knew how to use stack traces. Its one skill I never picked up