https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99479
--- Comment #10 from Alexander Lelyakin <alexander.lelyakin at googlemail dot com> --- However adding parameter: --param=hash-table-verification-limit=1000 turns this error to PR99861 ICE in hashtab_chk_error ---- /usr/local/bin/g++ --param=hash-table-verification-limit=$N -std=c++20 -fmodules-ts -x c++-system-header condition_variable /usr/local/bin/g++ --param=hash-table-verification-limit=$N -std=c++20 -fmodules-ts -x c++-system-header iosfwd /usr/local/bin/g++ --param=hash-table-verification-limit=$N -std=c++20 -fmodules-ts -x c++-system-header future ---- In file included from /usr/local/include/c++/11.0.1/string:43, from /usr/local/include/c++/11.0.1/stdexcept:39, from /usr/local/include/c++/11.0.1/system_error:41, from /usr/local/include/c++/11.0.1/mutex:42, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/localefwd.h:156:74: error: wrong number of template arguments (1, should be 2) 156 | template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > | ^ In file included from /usr/local/include/c++/11.0.1/array:40, from /usr/local/include/c++/11.0.1/tuple:39, from /usr/local/include/c++/11.0.1/mutex:38, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/stl_algobase.h:451:11: note: provided for ‘template<class _CharT, class _Traits> class std::istreambuf_iterator’ 451 | class istreambuf_iterator; | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/local/include/c++/11.0.1/string:43, from /usr/local/include/c++/11.0.1/stdexcept:39, from /usr/local/include/c++/11.0.1/system_error:41, from /usr/local/include/c++/11.0.1/mutex:42, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/localefwd.h:158:75: error: wrong number of template arguments (1, should be 2) 158 | template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > | ^ In file included from /usr/local/include/c++/11.0.1/array:40, from /usr/local/include/c++/11.0.1/tuple:39, from /usr/local/include/c++/11.0.1/mutex:38, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/stl_algobase.h:454:11: note: provided for ‘template<class _CharT, class _Traits> class std::ostreambuf_iterator’ 454 | class ostreambuf_iterator; | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/local/include/c++/11.0.1/string:43, from /usr/local/include/c++/11.0.1/stdexcept:39, from /usr/local/include/c++/11.0.1/system_error:41, from /usr/local/include/c++/11.0.1/mutex:42, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/localefwd.h:177:75: error: wrong number of template arguments (1, should be 2) 177 | template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > | ^ In file included from /usr/local/include/c++/11.0.1/array:40, from /usr/local/include/c++/11.0.1/tuple:39, from /usr/local/include/c++/11.0.1/mutex:38, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/stl_algobase.h:451:11: note: provided for ‘template<class _CharT, class _Traits> class std::istreambuf_iterator’ 451 | class istreambuf_iterator; | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/local/include/c++/11.0.1/string:43, from /usr/local/include/c++/11.0.1/stdexcept:39, from /usr/local/include/c++/11.0.1/system_error:41, from /usr/local/include/c++/11.0.1/mutex:42, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/localefwd.h:179:75: error: wrong number of template arguments (1, should be 2) 179 | template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > | ^ In file included from /usr/local/include/c++/11.0.1/array:40, from /usr/local/include/c++/11.0.1/tuple:39, from /usr/local/include/c++/11.0.1/mutex:38, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/stl_algobase.h:451:11: note: provided for ‘template<class _CharT, class _Traits> class std::istreambuf_iterator’ 451 | class istreambuf_iterator; | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/local/include/c++/11.0.1/string:43, from /usr/local/include/c++/11.0.1/stdexcept:39, from /usr/local/include/c++/11.0.1/system_error:41, from /usr/local/include/c++/11.0.1/mutex:42, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/localefwd.h:182:75: error: wrong number of template arguments (1, should be 2) 182 | template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > | ^ In file included from /usr/local/include/c++/11.0.1/array:40, from /usr/local/include/c++/11.0.1/tuple:39, from /usr/local/include/c++/11.0.1/mutex:38, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/stl_algobase.h:454:11: note: provided for ‘template<class _CharT, class _Traits> class std::ostreambuf_iterator’ 454 | class ostreambuf_iterator; | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/local/include/c++/11.0.1/string:43, from /usr/local/include/c++/11.0.1/stdexcept:39, from /usr/local/include/c++/11.0.1/system_error:41, from /usr/local/include/c++/11.0.1/mutex:42, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/localefwd.h:184:75: error: wrong number of template arguments (1, should be 2) 184 | template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > | ^ In file included from /usr/local/include/c++/11.0.1/array:40, from /usr/local/include/c++/11.0.1/tuple:39, from /usr/local/include/c++/11.0.1/mutex:38, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/stl_algobase.h:454:11: note: provided for ‘template<class _CharT, class _Traits> class std::ostreambuf_iterator’ 454 | class ostreambuf_iterator; | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/local/include/c++/11.0.1/string:43, from /usr/local/include/c++/11.0.1/stdexcept:39, from /usr/local/include/c++/11.0.1/system_error:41, from /usr/local/include/c++/11.0.1/mutex:42, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/localefwd.h:190:75: error: wrong number of template arguments (1, should be 2) 190 | template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > | ^ In file included from /usr/local/include/c++/11.0.1/array:40, from /usr/local/include/c++/11.0.1/tuple:39, from /usr/local/include/c++/11.0.1/mutex:38, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/stl_algobase.h:451:11: note: provided for ‘template<class _CharT, class _Traits> class std::istreambuf_iterator’ 451 | class istreambuf_iterator; | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/local/include/c++/11.0.1/string:43, from /usr/local/include/c++/11.0.1/stdexcept:39, from /usr/local/include/c++/11.0.1/system_error:41, from /usr/local/include/c++/11.0.1/mutex:42, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/localefwd.h:192:75: error: wrong number of template arguments (1, should be 2) 192 | template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > | ^ In file included from /usr/local/include/c++/11.0.1/array:40, from /usr/local/include/c++/11.0.1/tuple:39, from /usr/local/include/c++/11.0.1/mutex:38, from /usr/local/include/c++/11.0.1/future:38: /usr/local/include/c++/11.0.1/bits/stl_algobase.h:454:11: note: provided for ‘template<class _CharT, class _Traits> class std::ostreambuf_iterator’ 454 | class ostreambuf_iterator; | ^~~~~~~~~~~~~~~~~~~ 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; | ^~~~~~ 0x92f6f7 hashtab_chk_error() ../../gcc/gcc/hash-table.c:137 0xb3ee45 hash_table<spec_hasher, false, xcallocator>::verify(spec_entry* const&, unsigned int) ../../gcc/gcc/hash-table.h:1033 0xb3f3ce hash_table<spec_hasher, false, xcallocator>::find_slot_with_hash(spec_entry* const&, unsigned int, insert_option) ../../gcc/gcc/hash-table.h:968 0xafbf3b match_mergeable_specialization(bool, spec_entry*) ../../gcc/gcc/cp/pt.c:30034 0xa75038 trees_in::key_mergeable(int, merge_kind, tree_node*, tree_node*, tree_node*, tree_node*, bool) ../../gcc/gcc/cp/module.cc:10670 0xa78c34 trees_in::decl_value() ../../gcc/gcc/cp/module.cc:7903 0xa71a97 trees_in::tree_node(bool) ../../gcc/gcc/cp/module.cc:9153 0xa780bb module_state::read_cluster(unsigned int) ../../gcc/gcc/cp/module.cc:14811 0xa785bd module_state::load_section(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18082 0xa7867f module_state::lazy_load(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18740 0xa72900 trees_in::tree_node(bool) ../../gcc/gcc/cp/module.cc:9664 0xa77dbb module_state::read_cluster(unsigned int) ../../gcc/gcc/cp/module.cc:14717 0xa785bd module_state::load_section(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18082 0xa7867f module_state::lazy_load(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18740 0xa72900 trees_in::tree_node(bool) ../../gcc/gcc/cp/module.cc:9664 0xa77dbb module_state::read_cluster(unsigned int) ../../gcc/gcc/cp/module.cc:14717 0xa785bd module_state::load_section(unsigned int, binding_slot*) ../../gcc/gcc/cp/module.cc:18082 0xa78778 lazy_load_binding(unsigned int, tree_node*, tree_node*, binding_slot*) ../../gcc/gcc/cp/module.cc:18773 0xa8a39e name_lookup::search_namespace_only(tree_node*) ../../gcc/gcc/cp/name-lookup.c:928 0xa8b9eb 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.