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

            Bug ID: 103132
           Summary: ice: Segmentation fault
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

For this C code:

int globus_i_GLOBUS_GRIDFTP_SERVER_debug_handle_1;
int globus_l_gfs_ipc_unpack_data__sz;
static void globus_l_gfs_ipc_unpack_cred(len) {
  if (globus_i_GLOBUS_GRIDFTP_SERVER_debug_handle_1)
    globus_i_GLOBUS_GRIDFTP_SERVER_debug_printf("", __func__);
}
static void globus_l_gfs_ipc_unpack_data(len) {
  for (; globus_l_gfs_ipc_unpack_data__sz;)
    len--;
  len -= 4;
  len -= 4;
  globus_l_gfs_ipc_unpack_cred(len);
}
void globus_l_gfs_ipc_reply_read_body_cb() { globus_l_gfs_ipc_unpack_data(); }

compiled by recent gcc, does this:

$ /home/dcb/gcc/results.20211105/bin/gcc -g -O2 -c bug770.c
In function ‘globus_l_gfs_ipc_unpack_data.isra’:
cc1: internal compiler error: Segmentation fault
0xd987a9 crash_signal(int)
        ../../trunk.git/gcc/toplev.c:322
0x10b9b2a contains_struct_check(tree_node*, tree_node_structure_enum, char
const*, int, char const*)
        ../../trunk.git/gcc/tree.h:3546
0x10b9b2a walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
        ../../trunk.git/gcc/tree.c:11030

The fault first seems to occur sometime between git hash d3f7a2fa64f8777c
and bcf4065c909bd101, a distance of 25 commits.

Reply via email to