Basecamp expansion Workshop 2 Saltwater pipe crash #66318
Labels
<Crash / Freeze>
Fatal bug that results in hangs or crashes.
Help Wanted
Not particularly urgent or easy (see Good First Issue for this), but help is appreciated with this!
Map / Mapgen
Overmap, Mapgen, Map extras, Map display
Player Faction Base / Camp
All about the player faction base/camp/site
(S2 - Confirmed)
Bug that's been confirmed to exist
Describe the bug
When trying to construct the first phase of a saltwater pipe the game terminates.
Callstack when debugging:
cataclysm-tiles.exe!std::string::size() Line 4276 C++
cataclysm-tiles.exe!std::hashstd::string::_Do_hash(const std::string & _Keyval) Line 5312 C++
cataclysm-tiles.exe!std::_Conditionally_enabled_hashstd::string,1::operator()(const std::string & _Keyval) Line 2170 C++
cataclysm-tiles.exe!cata::hash_combine<std::string,std::hashstd::string>(unsigned __int64 & seed, const std::string & v, const std::hashstd::string & hash) Line 21 C++
cataclysm-tiles.exe!cata::tuple_hash::operator()<std::string const ,cata_variant>(const std::pair<std::string const ,cata_variant> & v) Line 58 C++
cataclysm-tiles.exe!cata::hash_combine<std::pair<std::string const ,cata_variant>,cata::auto_hash<std::pair<std::string const ,cata_variant>>>(unsigned __int64 & seed, const std::pair<std::string const ,cata_variant> & v, const cata::auto_hash<std::pair<std::string const ,cata_variant>> & hash) Line 21 C++
cataclysm-tiles.exe!cata::range_hash::operator()<std::unordered_map<std::string,cata_variant,std::hashstd::string,std::equal_tostd::string,std::allocator<std::pair<std::string const ,cata_variant>>>>(const std::unordered_map<std::string,cata_variant,std::hashstd::string,std::equal_tostd::string,std::allocator<std::pair<std::string const ,cata_variant>>> & range) Line 76 C++
cataclysm-tiles.exe!std::hash<mapgen_arguments>::operator()(const mapgen_arguments & args) Line 35 C++
[External Code]
The last sane part of the call chain (before the hash juggling mumbo jumbo) was:
cataclysm-tiles.exe!basecamp_action_components::choose_components() Line 856
There args_ has the value of {map= {size=0}}, which doesn't seem reasonable, and is probably what causes the code to blow up (although the "find" function should have handled such a situation).
Attach save file
N/A
Steps to reproduce
Expected behavior
It would still work...
Screenshots
No response
Versions and configuration
Dark Days Ahead [dda],
Disable NPC Needs [no_npc_food],
Bionic Professions [package_bionic_professions]
]
Additional context
I think someone recently modified things to use maps rather than lists, and this may be a case that wasn't covered or tested properly.
The text was updated successfully, but these errors were encountered: