https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128294

            Bug ID: 128294
           Summary: Random-seeming ICEs in hashtable/diagnostics code on
                    ARMv9 machine
           Product: gcc
           Version: 16.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: me at 0upti dot me
  Target Milestone: ---

I've been hitting weird ICEs, seemingly isolated to an ARMv9 builder machine
(Cix P1), on long builds. I can't find a good immediate reproducer right now
(will try more later), but the general shape of the error is something like:

       > ../kernel/rcu/tree.c: In function 'rcu_irq_work_resched':
       > ../kernel/rcu/tree.c:611:17: internal compiler error: Segmentation
fault
       >   611 |                
irq_work_queue(this_cpu_ptr(&late_wakeup_work));
       >       |                 ^~~~~~~~~~~~~~
       > 0x2092437 diagnostics::context::diagnostic_impl(rich_location*,
diagnostics::metadata const*, diagnostics::option_id, char const*,
std::__va_list*, diagnostics::kind)
       >        ???:0
       > 0x208a1cf internal_error(char const*, ...)
       >        ???:0
       > 0xf30f0f crash_signal(int)
       >        ???:0
       > 0x2118288 location_adhoc_data_hash(void const*)
       >        ???:0
       > 0x2163d77 htab_expand
       >        ???:0
       > 0x2164787 htab_find_slot_with_hash
       >        ???:0
       > 0x2119c0f line_maps::get_or_create_combined_loc(unsigned long,
source_range, void*, unsigned int)
       >        ???:0
       > 0x126bcd7 set_source_range(tree_node*, unsigned long, unsigned long)
       >        ???:0
       > 0x887bc7 c_parser_cast_expression(c_parser*, c_expr*)
       >        ???:0
       > 0x887daf c_parser_binary_expression(c_parser*, c_expr*, tree_node*)
       >        ???:0
       > 0x888ee3 c_parser_conditional_expression(c_parser*, c_expr*,
tree_node*)
       >        ???:0
       > 0x889583 c_parser_expr_no_commas(c_parser*, c_expr*, tree_node*)
       >        ???:0
       > 0x88ba67 c_parser_expression(c_parser*)
       >        ???:0
       > 0x88c07b c_parser_asm_operands(c_parser*)
       >        ???:0
       > 0x87e56f c_parser_statement_after_labels(c_parser*, bool*, tree_node*,
vec<tree_node*, va_heap, vl_ptr>*, attr_state)
       >        ???:0
       > 0x8811eb c_parser_compound_statement_nostart(c_parser*)
       >        ???:0
       > 0x8831df c_parser_postfix_expression(c_parser*)
       >        ???:0
       > 0x885e0b c_parser_unary_expression(c_parser*)
       >        ???:0
       > 0x8879fb c_parser_cast_expression(c_parser*, c_expr*)
       >        ???:0
       > 0x887daf c_parser_binary_expression(c_parser*, c_expr*, tree_node*)
       >        ???:0
       >
/nix/store/812525ks0y12m1nzrxwlrnq945skg7ll-gcc-16.2.0/libexec/gcc/aarch64-unknown-linux-gnu/16.2.0/cc1
-quiet -nostdinc -I ../arch/arm64/include -I ./arch/arm64/include/generated -I
../include -I ./include -I ../arch/arm64/include/uapi -I
./arch/arm64/include/generated/uapi -I ../include/uapi -I
./include/generated/uapi -I ../kernel/rcu -I kernel/rcu -D __KERNEL__ -D
CC_USING_PATCHABLE_FUNCTION_ENTRY -D KASAN_SHADOW_SCALE_SHIFT= -D
CONFIG_CC_HAS_K_CONSTRAINT=1 -D ARM64_ASM_ARCH="armv8.5-a" -D
KASAN_SHADOW_SCALE_SHIFT= -D GCC_PLUGINS -D KBUILD_MODFILE="kernel/rcu/tree" -D
KBUILD_BASENAME="tree" -D KBUILD_MODNAME="tree" -D __KBUILD_MODNAME=tree
-include ../include/linux/compiler-version.h -include
../include/linux/kconfig.h -include ../include/linux/compiler_types.h -MMD
kernel/rcu/.tree.o.d ../kernel/rcu/tree.c -quiet -dumpdir kernel/rcu/ -dumpbase
tree.c -dumpbase-ext .c -mlittle-endian -mgeneral-regs-only -mabi=lp64
-mbranch-protection=pac-ret -mstack-protector-guard=sysreg
-mstack-protector-guard-reg=sp_el0 -mstack-protector-guard-offset=1936
-march=armv8-a -g -O2 -Wno-psabi -Wall -Wextra -Wundef
-Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type
-Werror=strict-prototypes -Wno-format-security -Wno-trigraphs
-Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations
-Wmissing-prototypes -Wframe-larger-than=2048 -Wno-main -Wno-type-limits
-Wdangling-pointer=0 -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type
-Wno-unterminated-string-initialization -Warray-bounds=0 -Wstringop-overflow=0
-Walloc-size-larger-than=18446744073709551615EiB -Wimplicit-fallthrough=5
-Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init
-Wenum-conversion -Wunused -Wunused-but-set-variable=0
-Wunused-const-variable=0 -Wno-packed-not-aligned -Wformat-overflow=0
-Wformat-truncation=0 -Wno-stringop-truncation -Wno-override-init
-Wno-missing-field-initializers -Wno-shift-negative-value
-Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -std=gnu11
-fmacro-prefix-map=../= -fshort-wchar -funsigned-char -fno-common -fno-PIE
-fno-strict-aliasing -fms-extensions -fno-asynchronous-unwind-tables
-fno-unwind-tables -fno-delete-null-pointer-checks -fno-allow-store-data-races
-fstack-protector-strong -fno-omit-frame-pointer -fno-optimize-sibling-calls
-ftrivial-auto-var-init=zero -fzero-init-padding-bits=all
-fno-stack-clash-protection -fdiagnostics-show-context=2
-fpatchable-function-entry=4,2 -fmin-function-alignment=8
-fstrict-flex-arrays=3 -fno-strict-overflow -fstack-check=no -fconserve-stack
-fno-builtin-wcslen -o /build/ccC8LFV4.s
       > Please submit a full bug report, with preprocessed source (by using
-freport-bug).
       > Please include the complete backtrace with any bug report.
       > See <https://gcc.gnu.org/bugs/> for instructions.

The hash table bits in particular are consistently present in all tracebacks.

Reply via email to