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

            Bug ID: 122136
           Summary: Testcase gfortran.dg/pdt_39.f03 ICEs due to invalid
                    read
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: anlauf at gcc dot gnu.org
  Target Milestone: ---

As seen from

https://gcc.gnu.org/pipermail/gcc-testresults/2025-October/858689.html

(x86/Darwin), gfortran may ICE on various testcases, e.g. pdt_39.f03 .
I can reproduce this on Suse 15.6 / x86 in various ways when "perturbing"
the memory, either using valgrind, or simply:

% MALLOC_PERTURB_=0 /work/gnu/git/build-trunk/gcc/f951 -quiet pdt_39.f03
% MALLOC_PERTURB_=3 /work/gnu/git/build-trunk/gcc/f951 -quiet pdt_39.f03f951:
internal compiler error: Segmentation fault
0x3727473 internal_error(char const*, ...)
        ../../gcc-trunk/gcc/diagnostic-global-context.cc:786
0x1989b54 crash_signal
        ../../gcc-trunk/gcc/toplev.cc:323
0xfb9e0c get_kind
        ../../gcc-trunk/gcc/fortran/simplify.cc:134
0xfcc89e gfc_simplify_real(gfc_expr*, gfc_expr*)
        ../../gcc-trunk/gcc/fortran/simplify.cc:7547
0xefbac9 do_simplify
        ../../gcc-trunk/gcc/fortran/intrinsic.cc:4895
0xefc702 gfc_intrinsic_func_interface(gfc_expr*, int)
        ../../gcc-trunk/gcc/fortran/intrinsic.cc:5298
0xf8a143 resolve_unknown_f
        ../../gcc-trunk/gcc/fortran/resolve.cc:3082
0xf8b0a6 resolve_function
        ../../gcc-trunk/gcc/fortran/resolve.cc:3509
0xf963c3 gfc_resolve_expr(gfc_expr*)
        ../../gcc-trunk/gcc/fortran/resolve.cc:8154
0xe80317 resolve_array_list
        ../../gcc-trunk/gcc/fortran/array.cc:2210
0xe80971 gfc_resolve_array_constructor(gfc_expr*)
        ../../gcc-trunk/gcc/fortran/array.cc:2388
0xf96499 gfc_resolve_expr(gfc_expr*)
        ../../gcc-trunk/gcc/fortran/resolve.cc:8186
0xe80317 resolve_array_list
        ../../gcc-trunk/gcc/fortran/array.cc:2210
0xe80971 gfc_resolve_array_constructor(gfc_expr*)
        ../../gcc-trunk/gcc/fortran/array.cc:2388
0xf96499 gfc_resolve_expr(gfc_expr*)
        ../../gcc-trunk/gcc/fortran/resolve.cc:8186
0xf87bb5 resolve_actual_arglist
        ../../gcc-trunk/gcc/fortran/resolve.cc:2077
0xf8ad9b resolve_function
        ../../gcc-trunk/gcc/fortran/resolve.cc:3428
0xf963c3 gfc_resolve_expr(gfc_expr*)
        ../../gcc-trunk/gcc/fortran/resolve.cc:8154
0xfa4d9b gfc_resolve_code(gfc_code*, gfc_namespace*)
        ../../gcc-trunk/gcc/fortran/resolve.cc:13851
0xfb426d resolve_codes
        ../../gcc-trunk/gcc/fortran/resolve.cc:19864
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.

I have to admit when running f951 under gdb (with MALLOC_PERTURB_=3) I can
locate the segfault but don't understand why it happens.  The corruption
could have happened upstream...

Reply via email to