CleverRaven / Cataclysm-DDA

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

Weird CI bug #68749

Open Maleclypse opened 1 year ago

Maleclypse commented 1 year ago

Describe the bug

 Attempting to repeat stack trace using debug symbols…
(~[slow] ~[.],starting_items)=>     __interceptor_backtrace
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     debug_write_backtrace(std::ostream&)
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     DebugLog(DebugLevel, DebugClass)
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     realDebugmsg(char const*, char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     npc::place_on_map()
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     game::load_npcs()
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     clear_npcs()
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     clear_map(int, int)
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     ____C_A_T_C_H____T_E_S_T____0()
(~[slow] ~[.],starting_items)=>     player_activities_test.cpp:?
(~[slow] ~[.],starting_items)=>     Catch::RunContext::invokeActiveTestCase()
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     Catch::RunContext::runCurrentTest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     Catch::RunContext::runTest(Catch::TestCase const&)
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     Catch::Session::runInternal()
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     Catch::Session::run()
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     main
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=>     ??
(~[slow] ~[.],starting_items)=>     ??:0
(~[slow] ~[.],starting_items)=>     ??
(~[slow] ~[.],starting_items)=>     ??:0
(~[slow] ~[.],starting_items)=>     _start
(~[slow] ~[.],starting_items)=>     ??:?
(~[slow] ~[.],starting_items)=> Backtrace emission took 3 seconds.
(~[slow] ~[.],starting_items)=> (continued from above) ERROR : src/npc.cpp:1239 [void npc::place_on_map()] Failed to place NPC in a valid location near (78,50,-1)
(~[slow] ~[.],starting_items)=> 06:15:28.448 ERROR : src/npc.cpp:1239 [void npc::place_on_map()] Failed to place NPC in a valid location near (77,45,-1)
(~[slow] ~[.],starting_items)=> 06:15:28.448 ERROR : src/npc.cpp:1239 [void npc::place_on_map()] Failed to place NPC in a valid location near (78,41,-1)
(~[slow] ~[.],starting_items)=> 06:15:28.448 ERROR : src/npc.cpp:1239 [void npc::place_on_map()] Failed to place NPC in a valid location near (77,37,-1)38.309 s: Default_anatomy_body_part_hit_chances

Attach save file

N/A

Steps to reproduce

Run CI a bajillion times. Witness cryptids.

Expected behavior

Less chupacabra.

Screenshots

No response

Versions and configuration

NA

Additional context

No response

mqrause commented 1 year ago

This appears to happen when tests call clear_map on maps with npcs underground. Removing npcs requires reloading and placing them on the map first, but presumably all underground tiles are replaced with rock before that, so they can't be placed anywhere.

It might be enough to remove npcs before resetting terrain in clear_map.