CleverRaven / Cataclysm-DDA

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

Frequent warnings about missing mission IDs in journal screen #68339

Open EvanBalster opened 1 year ago

EvanBalster commented 1 year ago

Describe the bug

When opening the journal screen, especially for the first time in a play session, an error message will appear mentioning requested mission with uid[id]does not exist.. The number is usually a small integer, like 4 or 28. The error only occurs once (I have not investigated whether accepting new missions will trigger it again).

Attach save file

Not necessary.

Steps to reproduce

  1. Start a new game. Pick any trait that comes with a mission (eg, Public Speaking for Social Butterfly).
  2. Configure a keybinding to open the journal screen, and use it. A non-fatal error will appear before the journal opens.

If the issue doesn't manifest, try changing the set of missions assigned to you with a different start or by accepting a mission from the NPC.

Expected behavior

The journal screen should open without errors.

Screenshots

I wasn't actually able to reproduce this just now. I use the journal very frequently when playing so I'll snap it if it comes up again.

Versions and configuration

Additional context

image

 DEBUG    : requested mission with uid 28 does not exist

 FUNCTION : find
 FILE     : D:\a\Cataclysm-DDA\Cataclysm-DDA\src\mission.cpp
 LINE     : 95
 VERSION  : ae14681
20:50:19.663 : Starting log.
20:50:19.675 INFO : Cataclysm DDA version ae14681
20:50:19.675 INFO : [main] C locale set to English_United States.utf8
20:50:19.675 INFO : [main] C++ locale set to 
20:50:19.675 INFO : SDL version used during compile is 2.26.4
20:50:19.675 INFO : SDL version used during linking and in runtime is 2.26.4
20:50:19.905 INFO : SDL render devices: direct3d, direct3d11, direct3d12, opengl, opengles2, software
20:50:19.957 INFO : [options] C locale set to English_United States.utf8
20:50:19.957 INFO : [options] C++ locale set to 
20:50:19.957 INFO : Setting language to: 'en'
20:50:19.957 INFO : [i18n] Scanning core translations from lang/mo/
20:50:19.973 WARNING : opendir [data/cache] failed with "The system cannot find the path specified.".
20:50:20.066 INFO : Active renderer: 1/direct3d11
20:50:20.405 INFO : USE_COLOR_MODULATED_TEXTURES is set to 0
20:50:20.409 WARNING : opendir [cache] failed with "The system cannot find the path specified.".
20:50:21.234 INFO : Setting language to: 'en'
20:50:44.499 INFO : D:\a\Cataclysm-DDA\Cataclysm-DDA\src\mod_tracker.h:68: Tried check if 'FakeSpecial_s_gas' had a duplicate, but type 'class overmap_special' does not track object sources
20:50:53.115 INFO : Loaded tileset: UltimateCataclysm
20:50:53.223 INFO : Loaded tileset: UltimateCataclysm
20:51:03.113 WARNING : recipe_subset deserialized invalid recipe_id 'null'
21:03:23.140 ERROR GAME : (error message will follow backtrace)
  #0
    (dbghelp: debug_write_backtrace+0xb5@00007FF7EE7AF5B5[cataclysm-tiles.exe+0x5ef5b5]), 
  #1
    (dbghelp: DebugLog+0x2b8@00007FF7EE7AE368[cataclysm-tiles.exe+0x5ee368]), 
  #2
    (dbghelp: mission::find+0xc8@00007FF7EEBC7D98[cataclysm-tiles.exe+0xa07d98]), 
  #3
    (dbghelp: <lambda_7cc9622af390b043d282068c7a9c1a28>::operator()+0x68@00007FF7EF559E88[cataclysm-tiles.exe+0x1399e88]), 
  #4
    (dbghelp: diary::mission_changes+0x805@00007FF7EF560415[cataclysm-tiles.exe+0x13a0415]), 
  #5
    (dbghelp: diary::get_change_list+0x5e@00007FF7EF55D4BE[cataclysm-tiles.exe+0x139d4be]), 
  #6
    (dbghelp: <lambda_333edf32146bfbfb65b2a6270bac9690>::operator()+0x85@00007FF7EFA6A725[cataclysm-tiles.exe+0x18aa725]), 
  #7
    (dbghelp: ui_adaptor::redraw_invalidated+0x3df@00007FF7EE91C09F[cataclysm-tiles.exe+0x75c09f]), 
  #8
    (dbghelp: diary::show_diary_ui+0xe74@00007FF7EFA6F3F4[cataclysm-tiles.exe+0x18af3f4]), 
  #9
    (dbghelp: game::do_regular_action+0x2b18@00007FF7EEDC3BE8[cataclysm-tiles.exe+0xc03be8]), 
  #10
    (dbghelp: game::handle_action+0xa65@00007FF7EEDCB9F5[cataclysm-tiles.exe+0xc0b9f5]), 
  #11
    (dbghelp: do_turn+0xeac@00007FF7EE7B774C[cataclysm-tiles.exe+0x5f774c]), 
  #12
    (dbghelp: WinMain+0xc85@00007FF7EE640165[cataclysm-tiles.exe+0x480165]), 
  #13
    (dbghelp: __scrt_common_main_seh+0x106@00007FF7EFC702CA[cataclysm-tiles.exe+0x1ab02ca]), 
  #14
    (dbghelp: BaseThreadInitThunk+0x14@00007FFD6D6F7344[KERNEL32.DLL+0x17344]), 
  #15
    (dbghelp: RtlUserThreadStart+0x21@00007FFD6F5626B1[ntdll.dll+0x526b1]), 
Backtrace emission took 0 seconds.
(continued from above) ERROR : D:\a\Cataclysm-DDA\Cataclysm-DDA\src\mission.cpp:94: requested mission with uid 28 does not exist
21:03:23.463 ERROR : D:\a\Cataclysm-DDA\Cataclysm-DDA\src\mission.cpp:95 [find] requested mission with uid 28 does not exist
21:04:39.063 : Log shutdown.
EvanBalster commented 1 year ago

Managed to get a backtrace. Looks like this is an issue in the journal's logic for displaying missions started and finished.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

NetSysFire commented 11 months ago

None of us can reproduce this anymore. If you can still reproduce this on the latest experimental, yell at us to reopen.

EvanBalster commented 1 month ago

It appears this issue does still occur, but no longer immediately upon starting a new game. Currently the conditions for manifestation seem to be something like this: