CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.68k stars 4.19k forks source link

Game crash on finishing/accepting next ranch mission #36916

Open dongboka opened 4 years ago

dongboka commented 4 years ago

Game version: 0.D-11170-g64b5e04

Operating system: Windows 10

Tiles or curses: Default

Mods active:

Expected behavior

Finish 5 backpacks delivery and end conversation

Actual behavior

The game crashes when I end the conversation after finishing the backpack mission at the Ranch

Steps to reproduce the behavior

Finish the backpack mission and end the conversation

Crash Log:

The program has crashed.
See the log file for a stack trace.
CRASH LOG FILE: ./config/crash.log
VERSION: 0.D-11170-g64b5e04
TYPE: Signal
MESSAGE: SIGSEGV: Segmentation fault
STACK TRACE:

  #0
    (dbghelp: @0x5f84a6[cataclysm-tiles.exe+0x1f84a6]), 
    (libbacktrace: Z21debug_write_backtraceRSo+0x56@0x5f84a6),
    (libbacktrace: 0x5f84a6    [unknown src]:0    [unknown func]),
  #1
    (dbghelp: @0x5de7ef[cataclysm-tiles.exe+0x1de7ef]), 
    (libbacktrace: log_crash+0x4af@0x5de7ef),
    (libbacktrace: 0x5de7ef    [unknown src]:0    [unknown func]),
  #2
    (dbghelp: @0x5df4b2[cataclysm-tiles.exe+0x1df4b2]), 
    (libbacktrace: signal_handler+0x32@0x5df4b2),
    (libbacktrace: 0x5df4b2    [unknown src]:0    [unknown func]),
  #3
    (dbghelp: SMPEG_error+0x4b034@0xff1a80[cataclysm-tiles.exe+0xbf1a80]), 
    (libbacktrace: gnu_exception_handler+0x70@0xff1a80),
    (libbacktrace: 0xff1a80    /home/narc/src/mxe/tmp-gcc-x86_64-w64-mingw32.static/gcc-5.4.0.build_/mingw-w64-v5.0.2/mingw-w64-crt/crt/crt_handler.c:223    _gnu_exception_handler),
  #4
    (dbghelp: _C_specific_handler+0x98@0x7ffdfa1d8068[msvcrt.dll+0x28068]), 
    (backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
    (backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
  #5
    (dbghelp: _chkstk+0x11f@0x7ffdfc32477f[ntdll.dll+0xa477f]), 
    (backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
    (backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
  #6
    (dbghelp: RtlWalkFrameChain+0x14bf@0x7ffdfc284bef[ntdll.dll+0x4bef]), 
    (backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
    (backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
  #7
    (dbghelp: KiUserExceptionDispatcher+0x2e@0x7ffdfc3234ee[ntdll.dll+0xa34ee]), 
    (backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
    (backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
  #8
    (dbghelp: @0x961753[cataclysm-tiles.exe+0x561753]), 
    (libbacktrace: ZN3map20add_vehicle_to_cacheEP7vehicle+0x93@0x961753),
    (libbacktrace: 0x961753    [unknown src]:0    [unknown func]),
  #9
    (dbghelp: @0x9619dc[cataclysm-tiles.exe+0x5619dc]), 
    (libbacktrace: ZN3map19reset_vehicle_cacheEi+0x4c@0x9619dc),
    (libbacktrace: 0x9619dc    [unknown src]:0    [unknown func]),
  #10
    (dbghelp: @0x6c8005[cataclysm-tiles.exe+0x2c8005]), 
    (libbacktrace: ZN4game11refresh_allEv+0x35@0x6c8005),
    (libbacktrace: 0x6c8005    [unknown src]:0    [unknown func]),
  #11
    (dbghelp: @0xbf9d75[cataclysm-tiles.exe+0x7f9d75]), 
    (libbacktrace: ZN11npc_trading5tradeER3npciRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x1e5@0xbf9d75),
    (libbacktrace: 0xbf9d75    [unknown src]:0    [unknown func]),
  #12
    (dbghelp: @0xbecb59[cataclysm-tiles.exe+0x7ecb59]), 
    (libbacktrace: ZN13talk_function14mission_rewardER3npc+0x49@0xbecb59),
    (libbacktrace: 0xbecb59    [unknown src]:0    [unknown func]),
  #13
    (dbghelp: @0xbcbaa5[cataclysm-tiles.exe+0x7cbaa5]), 
    (libbacktrace: ZNK13talk_effect_t5applyER8dialogue+0x45@0xbcbaa5),
    (libbacktrace: 0xbcbaa5    [unknown src]:0    [unknown func]),
  #14
    (dbghelp: @0xbe4ff8[cataclysm-tiles.exe+0x7e4ff8]), 
    (libbacktrace: ZN8dialogue3optER15dialogue_windowRK10talk_topic+0x758@0xbe4ff8),
    (libbacktrace: 0xbe4ff8    [unknown src]:0    [unknown func]),
  #15
    (dbghelp: @0xbe5dec[cataclysm-tiles.exe+0x7e5dec]), 
    (libbacktrace: ZN3npc9talk_to_uEbb+0x7fc@0xbe5dec),
    (libbacktrace: 0xbe5dec    [unknown src]:0    [unknown func]),
  #16
    (dbghelp: @0xbe8096[cataclysm-tiles.exe+0x7e8096]), 
    (libbacktrace: ZN4game4chatEv+0x786@0xbe8096),
    (libbacktrace: 0xbe8096    [unknown src]:0    [unknown func]),
  #17
    (dbghelp: @0x747240[cataclysm-tiles.exe+0x347240]), 
    (libbacktrace: ZN4game13handle_actionEv+0x2420@0x747240),
    (libbacktrace: 0x747240    [unknown src]:0    [unknown func]),
  #18
    (dbghelp: @0x710a4d[cataclysm-tiles.exe+0x310a4d]), 
    (libbacktrace: ZN4game7do_turnEv+0x72d@0x710a4d),
    (libbacktrace: 0x710a4d    [unknown src]:0    [unknown func]),
  #19
    (dbghelp: IMG_LoadWEBP_RW+0x65903c@0x173c92c[cataclysm-tiles.exe+0x133c92c]), 
    (libbacktrace: main+0x10fc@0x173c92c),
    (libbacktrace: 0x173c92c    [unknown src]:0    [unknown func]),
  #20
    (dbghelp: @0x4013ed[cataclysm-tiles.exe+0x13ed]), 
    (libbacktrace: _tmainCRTStartup+0x23d@0x4013ed),
    (libbacktrace: 0x4013ed    /home/narc/src/mxe/tmp-gcc-x86_64-w64-mingw32.static/gcc-5.4.0.build_/mingw-w64-v5.0.2/mingw-w64-crt/crt/crtexe.c:336    __tmainCRTStartup),
  #21
    (dbghelp: @0x4014fb[cataclysm-tiles.exe+0x14fb]), 
    (libbacktrace: WinMainCRTStartup+0x1b@0x4014fb),
    (libbacktrace: 0x4014fb    /home/narc/src/mxe/tmp-gcc-x86_64-w64-mingw32.static/gcc-5.4.0.build_/mingw-w64-v5.0.2/mingw-w64-crt/crt/crtexe.c:186    WinMainCRTStartup),
  #22
    (dbghelp: BaseThreadInitThunk+0x14@0x7ffdf9ad7974[KERNEL32.DLL+0x17974]), 
    (backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
    (backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
  #23
    (dbghelp: RtlUserThreadStart+0x21@0x7ffdfc2ea271[ntdll.dll+0x6a271]), 
    (backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
    (backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
ZhilkinSerg commented 4 years ago

Do you have a savegame prior to crash?

dongboka commented 4 years ago

Yes, but it is too large to upload, so i uploaded on google drive. save

ZhilkinSerg commented 4 years ago

I am pretty sure it is related to vehicles and mission end is just a coincidence.

image

Edit: Well, maybe mission is still related as MISSION_RANCH_FOREMAN_14 updates mapgen on mission end.

dongboka commented 4 years ago

So... is there way to progress the mission without crashing it?

ghost commented 4 years ago

So been looking into this, it tries to place the ambulance that is part of that missions update_mapgen It fails, because there is a low end cube van there, so it tries to place wreckage. Placing the wreckage fails, so it tries to place the low end cube van back there, that fails too for some reason. So the pointer to the low end cube van is now nullptr, but I cant see how that nullptr gets back into the cache.

But later on, when dialogue ends it calls g->refresh_all() which rebuilds the cache, and a nullptr is added in. I cant connect how that first problem leads on to the crash.

I-am-Erk commented 4 years ago

It seems like this specific bug is resolvable by moving the spawn, right? Is the cube van always there?

ghost commented 4 years ago

If the cube van is moved, before handing in the mission, then there are no problems. Its kinda sweeping the problem under the rug though.

I-am-Erk commented 4 years ago

I don't think it should close the issue, but I think it would be sufficient to stop it being a release blocker. Then we can solve the update_mapgen interface to be smarter about vehicles on our own time.

ZhilkinSerg commented 4 years ago

Reopening and moving out of release blockers as #37308 is just a band-aid.