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

            Bug ID: 127995
           Summary: [17 Regression] ubsan: load of value 1264848256, which
                    is not a valid value for type 'bt' in
                    module.cc:mio_typespec
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Keywords: needs-bisection, openmp
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pheeck at gcc dot gnu.org
                CC: burnus at gcc dot gnu.org
            Blocks: 63426
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu

If I compile the simdlen-scaled-4.f90 testcase from GCC's testsuite with
UBSAN-instrumented trunk GCC, I get an ubsan error:

ubsan-gcc
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/testsuite/gfortran.dg/gomp/simdlen-scaled-4.f90
-S -o simdlen-scaled-4.s -fopenmp

/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/module.cc:2862:28:
runtime error: load of value 1264848256, which is not a valid value for type
'bt'

Here's the backtrace:
    #0 0x000000862376 in mio_typespec
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/module.cc:2862
    #1 0x000000ed25b9 in mio_omp_declare_simd_clauses
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/module.cc:4490
    #2 0x000000ed420d in mio_omp_declare_variant
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/module.cc:4740
    #3 0x000000ed64c1 in mio_symbol
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/module.cc:4988
    #4 0x000000ed7751 in load_needed
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/module.cc:5675
    #5 0x000000ed7645 in load_needed
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/module.cc:5633
    #6 0x000000ed7645 in load_needed
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/module.cc:5633
    #7 0x000000edb089 in read_module
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/module.cc:6343
    #8 0x000000edeae7 in gfc_use_module
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/module.cc:8201
    #9 0x000000ee5d0b in gfc_use_modules()
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/module.cc:8325
    #10 0x000000f75393 in use_modules
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/parse.cc:163
    #11 0x000000f79674 in decode_statement
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/parse.cc:427
    #12 0x000000f84dd4 in next_free
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/parse.cc:1718
    #13 0x000000f84dd4 in next_statement
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/parse.cc:1951
    #14 0x000000f884ed in parse_spec
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/parse.cc:4671
    #15 0x000000f91b5f in parse_progunit
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/parse.cc:7249
    #16 0x000000f93f01 in gfc_parse_file()
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/parse.cc:7857
    #17 0x00000119a24e in gfc_be_parse_file
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/fortran/f95-lang.cc:251
    #18 0x0000032f409d in compile_file
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/toplev.cc:455
    #19 0x000000c38666 in do_compile
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/toplev.cc:2228
    #20 0x000000c38666 in toplev::main(int, char**)
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/toplev.cc:2396
    #21 0x000000c3bdbe in main
/home/worker/buildworker/tiber-gcc-ubsan/build/gcc/main.cc:39
    #22 0x7f67a602b53d in __libc_start_call_main (/lib64/libc.so.6+0x2b53d)
(BuildId: 3aab14bf4bc4b1750523651c336f5c0622edd1c5)
    #23 0x7f67a602b66a in __libc_start_main@GLIBC_2.2.5
(/lib64/libc.so.6+0x2b66a) (BuildId: 3aab14bf4bc4b1750523651c336f5c0622edd1c5)
    #24 0x000000c3cb04 in _start ../sysdeps/x86_64/start.S:115

The last commit to modify module.cc:4490 is r17-5077-g8bb7a53a0df5c5, so my
guess is that that's when this started happening.

commit 8bb7a53a0df5c5c6eb41ae689cba5e1a7b814875
Author:     Tobias Burnus <[email protected]>
AuthorDate: Mon Oct 12 08:29:37 2026 +0200
Commit:     Tobias Burnus <[email protected]>
CommitDate: Mon Oct 12 08:29:37 2026 +0200

    OpenMP/Fortran: Handle simdlen's 'scaled' modifier; for > / >= checks,
enforce const check [PR127723]


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63426
[Bug 63426] [meta-bug] Issues found with -fsanitize=undefined

Reply via email to