https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109531
Bug ID: 109531 Summary: Checking ICE with hash table checking failed: equal operator returns true for a pair of values with a different hash value Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: sjames at gcc dot gnu.org Target Milestone: --- Host: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu Build: x86_64-pc-linux-gnu Created attachment 54872 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54872&action=edit ArithmeticSubtermGeneralization.ii.orig.xz Hit this with vampire-4.7: ``` $ /usr/bin/x86_64-pc-linux-gnu-g++ -DCHECK_LEAKS=0 -DVDEBUG=0 -DVZ3=1 -I/var/tmp/portage/sci-mathematics/vampire-4.7-r1/work/vampire-2d02e4655e1b08d1ca9ee7c0aade40f59f046460 -O2 -march=znver3 -pipe -U_GLIBCXX_ASSERTIONS -U_FORTIFY_SOURCE -fno-strict-aliasing -std=c++14 -fdiagnostics-color=always -Wall -c /var/tmp/portage/sci-mathematics/vampire-4.7-r1/work/vampire-2d02e4655e1b08d1ca9ee7c0aade40f59f046460/Inferences/ArithmeticSubtermGeneralization.cpp hash table checking failed: equal operator returns true for a pair of values with a different hash value [... warning output ...] /var/tmp/portage/sci-mathematics/vampire-4.7-r1/work/vampire-2d02e4655e1b08d1ca9ee7c0aade40f59f046460/Lib/Metaiterators.hpp:1787:19: internal compiler error: in hashtab_chk_error, at hash-table.cc:137 1787 | Container<Elem> collect() | ^~~~~~~ 0x18f8915 hashtab_chk_error() /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/hash-table.cc:137 0x67cd7a hash_table<ctp_hasher, false, xcallocator>::verify(tree_node* const&, unsigned int) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/hash-table.h:1118 0x67cd7a hash_table<ctp_hasher, false, xcallocator>::find_slot_with_hash(tree_node* const&, unsigned int, insert_option) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/hash-table.h:1046 0x67cd7a hash_table<ctp_hasher, false, xcallocator>::find_slot(tree_node* const&, insert_option) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/hash-table.h:435 0x67cd7a canonical_type_parameter(tree_node*) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/pt.cc:4536 0x1d69d7f tsubst(tree_node*, tree_node*, int, tree_node*) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/pt.cc:16298 0x1e7d600 tsubst_function_type /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/pt.cc:15649 0x1d689e9 tsubst(tree_node*, tree_node*, int, tree_node*) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/pt.cc:16468 0x1e7a865 tsubst_function_decl /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/pt.cc:14419 0x202b236 tsubst_template_decl /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/pt.cc:14730 0x1e5be82 tsubst_decl /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/pt.cc:14892 0x1e72315 instantiate_class_template(tree_node*) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/pt.cc:12338 0x1aa8568 complete_type(tree_node*) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/typeck.cc:138 0x1aa8402 complete_type_or_maybe_complain(tree_node*, tree_node*, int) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/typeck.cc:151 0x1cab4b2 require_complete_type(tree_node*, int) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/typeck.cc:94 0x1ca483e build_cxx_call(tree_node*, int, tree_node**, int, tree_node*) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/call.cc:10981 0x84ef64 build_over_call /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/call.cc:10432 0x1d91d09 build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, tree_node*, int, tree_node**, int) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/call.cc:11703 0x1df5802 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/pt.cc:21314 0x1e1a540 tsubst_expr(tree_node*, tree_node*, int, tree_node*) /usr/src/debug/sys-devel/gcc-13.0.1_pre20230416/gcc-13-20230416/gcc/cp/pt.cc:19888 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://bugs.gentoo.org/> for instructions. ``` 'g++-13 -O2 -Wall -c ArithmeticSubtermGeneralization.ii' is enough to reproduce. Reduction in progress.