https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99861
--- Comment #8 from Alexander Lelyakin <alexander.lelyakin at googlemail dot com> --- Interesting: There is a pair of system headers <condition_variable> and <future> Almost any sequence of system headers having condition_variable and ending at future will produce Segmentation fault With parameter --param=hash-table-verification-limit=10000000 this pair produces hashtab_chk_error instead of Segmentation fault. So probably for some or all or most of sequences producing "Segmentation fault" the reason in somewhere in hashtab? ---- /usr/local/bin/g++ --param=hash-table-verification-limit=10000000 -std=c++20 -fmodules-ts -x c++-system-header condition_variable /usr/local/bin/g++ --param=hash-table-verification-limit=10000000 -std=c++20 -fmodules-ts -x c++-system-header future ---- hash table checking failed: equal operator returns true for a pair of values with a different hash value In file included from /usr/local/include/c++/11.0.1/future:43: /usr/local/include/c++/11.0.1/bits/atomic_futex.h:77:5: internal compiler error: in hashtab_chk_error, at hash-table.c:137 77 | atomic<unsigned> _M_data; | ^~~~~~ 0x92f671 hashtab_chk_error() ../../gcc/gcc/hash-table.c:137 0xb3ec35 hash_table<spec_hasher, false, xcallocator>::verify(spec_entry* const&, unsigned int) ../../gcc/gcc/hash-table.h:1033 0xb3f1be hash_table<spec_hasher, false, xcallocator>::find_slot_with_hash(spec_entry* const&, unsigned int, insert_option) ../../gcc/gcc/hash-table.h:968 0xafbd2b match_mergeable_specialization(bool, spec_entry*) ../../gcc/gcc/cp/pt.c:30034 0xa74e18 trees_in::key_mergeable(int, merge_kind, tree_node*, tree_node*, tree_node*, tree_node*, bool) ../../gcc/gcc/cp/module.cc:10670 0xa78a14 trees_in::decl_value() ../../gcc/gcc/cp/module.cc:7903 0xa71877 trees_in::tree_node(bool) ../../gcc/gcc/cp/module.cc:9153 0xa77e9b module_state::read_cluster(unsigned int) ../../gcc/gcc/cp/module.cc:14811 0xa7839d module_state::load_section(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18082 0xa7845f module_state::lazy_load(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18740 0xa726e0 trees_in::tree_node(bool) ../../gcc/gcc/cp/module.cc:9664 0xa77b9b module_state::read_cluster(unsigned int) ../../gcc/gcc/cp/module.cc:14717 0xa7839d module_state::load_section(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18082 0xa7845f module_state::lazy_load(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18740 0xa726e0 trees_in::tree_node(bool) ../../gcc/gcc/cp/module.cc:9664 0xa77b9b module_state::read_cluster(unsigned int) ../../gcc/gcc/cp/module.cc:14717 0xa7839d module_state::load_section(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18082 0xa78558 lazy_load_binding(unsigned int, tree_node*, tree_node*, binding_slot*) ../../gcc/gcc/cp/module.cc:18773 0xa8a17e name_lookup::search_namespace_only(tree_node*) ../../gcc/gcc/cp/name-lookup.c:928 0xa8b7cb name_lookup::search_unqualified(tree_node*, cp_binding_level*) ../../gcc/gcc/cp/name-lookup.c:1158 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. ---- At commit: 784de5292c34e287c848b382b431599b818ea76e