public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name()
@ 2021-03-09 16:29 raj.khem at gmail dot com
  2021-03-09 16:30 ` [Bug tree-optimization/99489] " raj.khem at gmail dot com
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: raj.khem at gmail dot com @ 2021-03-09 16:29 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 99489
           Summary: internal compiler error: during GIMPLE pass: strlen in
                    dlt_logstorage_log_file_name()
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: raj.khem at gmail dot com
  Target Milestone: ---

Created attachment 50339
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50339&action=edit
testcase

Attached test is causing ICE on aarch64 targets


aarch64-yoe-linux-musl-gcc -O2 -c dlt_offline_logstorage_behavior.i
during GIMPLE pass: strlen
/mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/dlt-daemon/2.18.6-r0/git/src/offlinelogstorage/dlt_offline_logstorage_behavior.c:
In function 'dlt_logstorage_log_file_name.part.0':
/mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/dlt-daemon/2.18.6-r0/git/src/offlinelogstorage/dlt_offline_logstorage_behavior.c:54:6:
internal compiler error: Segmentation fault
   54 | void dlt_logstorage_log_file_name(char *log_file_name,
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
0x1669eb8 internal_error(char const*, ...)
        ???:0
0x679c22 private_lookup_attribute(char const*, unsigned long, tree_node*)
        ???:0
0x77a73f gimple_call_alloc_size(gimple*, generic_wide_int<wide_int_storage>*,
range_query*)
        ???:0
0xd65005 strlen_dom_walker::before_dom_children(basic_block_def*)
        ???:0
0x14e02f7 dom_walker::walk(basic_block_def*)
        ???:0

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug tree-optimization/99489] internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name()
  2021-03-09 16:29 [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name() raj.khem at gmail dot com
@ 2021-03-09 16:30 ` raj.khem at gmail dot com
  2021-03-09 18:00 ` [Bug tree-optimization/99489] [11 Regression] " msebor at gcc dot gnu.org
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: raj.khem at gmail dot com @ 2021-03-09 16:30 UTC (permalink / raw)
  To: gcc-bugs

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

Khem Raj <raj.khem at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |10.2.0
               Host|                            |x86_64
      Known to fail|                            |11.0
             Target|                            |aarch64
              Build|                            |x86_64

--- Comment #1 from Khem Raj <raj.khem at gmail dot com> ---
my compiler 

gcc version 11.0.1 20210308 (experimental) (GCC)

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug tree-optimization/99489] [11 Regression] internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name()
  2021-03-09 16:29 [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name() raj.khem at gmail dot com
  2021-03-09 16:30 ` [Bug tree-optimization/99489] " raj.khem at gmail dot com
@ 2021-03-09 18:00 ` msebor at gcc dot gnu.org
  2021-03-09 19:29 ` marxin at gcc dot gnu.org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: msebor at gcc dot gnu.org @ 2021-03-09 18:00 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |msebor at gcc dot gnu.org
   Last reconfirmed|                            |2021-03-09
            Summary|internal compiler error:    |[11 Regression] internal
                   |during GIMPLE pass: strlen  |compiler error: during
                   |in                          |GIMPLE pass: strlen in
                   |dlt_logstorage_log_file_nam |dlt_logstorage_log_file_nam
                   |e()                         |e()
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
           Keywords|                            |ice-on-valid-code

--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
Confirmed with a native x86_64 compiler and the full backtrace below.  It's
most likely a regression introduced in
g:7f5ff78ff3f971c11ec67f422b2fd34281db9123.

during GIMPLE pass: strlen
/mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/dlt-daemon/2.18.6-r0/git/src/offlinelogstorage/dlt_offline_logstorage_behavior.c:
In function ‘dlt_logstorage_log_file_name.part.0’:
/mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux-musl/dlt-daemon/2.18.6-r0/git/src/offlinelogstorage/dlt_offline_logstorage_behavior.c:54:6:
internal compiler error: gimple check: expected gimple_call(error_mark), have
gimple_nop() in gimple_call_fndecl, at gimple.h:3171
0xe66115 gimple_check_failed(gimple const*, char const*, int, char const*,
gimple_code, tree_code)
        /src/gcc/master/gcc/gimple.c:1259
0xbb23bf GIMPLE_CHECK2<const gcall*>
        /src/gcc/master/gcc/gimple.h:74
0xb7bbe1 gimple_call_fndecl
        /src/gcc/master/gcc/gimple.h:3171
0xb8edf0 gimple_call_alloc_size(gimple*, generic_wide_int<wide_int_storage>*,
range_query*)
        /src/gcc/master/gcc/builtins.c:4931
0x15cc71e handle_builtin_stxncpy_strncat
        /src/gcc/master/gcc/tree-ssa-strlen.c:3108
0x15caea9 handle_builtin_strncat
        /src/gcc/master/gcc/tree-ssa-strlen.c:2666
0x15d214f strlen_check_and_optimize_call
        /src/gcc/master/gcc/tree-ssa-strlen.c:5165
0x15d2d30 check_and_optimize_stmt
        /src/gcc/master/gcc/tree-ssa-strlen.c:5373
0x15d3917 strlen_dom_walker::before_dom_children(basic_block_def*)
        /src/gcc/master/gcc/tree-ssa-strlen.c:5625
0x22901c2 dom_walker::walk(basic_block_def*)
        /src/gcc/master/gcc/domwalk.c:309
0x15d3c0e printf_strlen_execute
        /src/gcc/master/gcc/tree-ssa-strlen.c:5691
0x15d3fa4 execute
        /src/gcc/master/gcc/tree-ssa-strlen.c:5813
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug tree-optimization/99489] [11 Regression] internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name()
  2021-03-09 16:29 [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name() raj.khem at gmail dot com
  2021-03-09 16:30 ` [Bug tree-optimization/99489] " raj.khem at gmail dot com
  2021-03-09 18:00 ` [Bug tree-optimization/99489] [11 Regression] " msebor at gcc dot gnu.org
@ 2021-03-09 19:29 ` marxin at gcc dot gnu.org
  2021-03-09 19:40 ` marxin at gcc dot gnu.org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-03-09 19:29 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marxin at gcc dot gnu.org

--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to Martin Sebor from comment #2)
> Confirmed with a native x86_64 compiler and the full backtrace below.  It's
> most likely a regression introduced in
> g:7f5ff78ff3f971c11ec67f422b2fd34281db9123.
> 

Yes, I can confirm that. I'm reducing a test-case..

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug tree-optimization/99489] [11 Regression] internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name()
  2021-03-09 16:29 [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name() raj.khem at gmail dot com
                   ` (2 preceding siblings ...)
  2021-03-09 19:29 ` marxin at gcc dot gnu.org
@ 2021-03-09 19:40 ` marxin at gcc dot gnu.org
  2021-03-09 19:43 ` marxin at gcc dot gnu.org
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-03-09 19:40 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|aarch64                     |aarch64, x86_64

--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
I can reproduce it also on x86_64-linux-gnu target and reduced test-case is:

char *strcat();
char *strncat(char *, char *, unsigned long);
char *stpcpy(char *, char *);
typedef struct {
  char logfile_delimiter;
} DltLogStorageUserConfig;
DltLogStorageUserConfig dlt_logstorage_log_file_name_file_config;
char dlt_logstorage_log_file_name_name;
void dlt_logstorage_log_file_name(char *log_file_name) {
  strcat(log_file_name, &dlt_logstorage_log_file_name_name);
  strncat(log_file_name,
          &dlt_logstorage_log_file_name_file_config.logfile_delimiter, 1);
}

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug tree-optimization/99489] [11 Regression] internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name()
  2021-03-09 16:29 [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name() raj.khem at gmail dot com
                   ` (3 preceding siblings ...)
  2021-03-09 19:40 ` marxin at gcc dot gnu.org
@ 2021-03-09 19:43 ` marxin at gcc dot gnu.org
  2021-03-09 19:59 ` msebor at gcc dot gnu.org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-03-09 19:43 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |11.0
           Priority|P3                          |P1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug tree-optimization/99489] [11 Regression] internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name()
  2021-03-09 16:29 [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name() raj.khem at gmail dot com
                   ` (4 preceding siblings ...)
  2021-03-09 19:43 ` marxin at gcc dot gnu.org
@ 2021-03-09 19:59 ` msebor at gcc dot gnu.org
  2021-03-09 22:09 ` msebor at gcc dot gnu.org
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: msebor at gcc dot gnu.org @ 2021-03-09 19:59 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=82429
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |msebor at gcc dot gnu.org

--- Comment #5 from Martin Sebor <msebor at gcc dot gnu.org> ---
Reduced test case (the stpcpy declaration is important because of the hack
described in pr82429):

$ cat v.c && gcc -O2 -S -Wall v.c
char *stpcpy (char *, const char *);

void f (char *d, char c, char *s)
{
  __builtin_strcat (d, s);
  __builtin_strncat (d, &c, 1);
}
during GIMPLE pass: strlen
v.c: In function ‘f’:
v.c:3:6: internal compiler error: gimple check: expected
gimple_call(error_mark), have gimple_nop() in gimple_call_fndecl, at
gimple.h:3171
    3 | void f (char *d, char c, char *s)
      |      ^
0xe66115 gimple_check_failed(gimple const*, char const*, int, char const*,
gimple_code, tree_code)
        /src/gcc/master/gcc/gimple.c:1259
0xbb23bf GIMPLE_CHECK2<const gcall*>
        /src/gcc/master/gcc/gimple.h:74
0xb7bbe1 gimple_call_fndecl
        /src/gcc/master/gcc/gimple.h:3171
0xb8edf0 gimple_call_alloc_size(gimple*, generic_wide_int<wide_int_storage>*,
range_query*)
        /src/gcc/master/gcc/builtins.c:4931
0x15cc71e handle_builtin_stxncpy_strncat
        /src/gcc/master/gcc/tree-ssa-strlen.c:3109
0x15caea9 handle_builtin_strncat
        /src/gcc/master/gcc/tree-ssa-strlen.c:2666
0x15d214f strlen_check_and_optimize_call
        /src/gcc/master/gcc/tree-ssa-strlen.c:5166
0x15d2d30 check_and_optimize_stmt
        /src/gcc/master/gcc/tree-ssa-strlen.c:5374
0x15d3917 strlen_dom_walker::before_dom_children(basic_block_def*)
        /src/gcc/master/gcc/tree-ssa-strlen.c:5626
0x22901c2 dom_walker::walk(basic_block_def*)
        /src/gcc/master/gcc/domwalk.c:309
0x15d3c0e printf_strlen_execute
        /src/gcc/master/gcc/tree-ssa-strlen.c:5692
0x15d3fa4 execute
        /src/gcc/master/gcc/tree-ssa-strlen.c:5814
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug tree-optimization/99489] [11 Regression] internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name()
  2021-03-09 16:29 [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name() raj.khem at gmail dot com
                   ` (5 preceding siblings ...)
  2021-03-09 19:59 ` msebor at gcc dot gnu.org
@ 2021-03-09 22:09 ` msebor at gcc dot gnu.org
  2021-03-11 18:26 ` dcb314 at hotmail dot com
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: msebor at gcc dot gnu.org @ 2021-03-09 22:09 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |88781
           Keywords|                            |patch

--- Comment #6 from Martin Sebor <msebor at gcc dot gnu.org> ---
Patch: https://gcc.gnu.org/pipermail/gcc-patches/2021-March/566510.html


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88781
[Bug 88781] [meta-bug] bogus/missing -Wstringop-truncation warnings

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug tree-optimization/99489] [11 Regression] internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name()
  2021-03-09 16:29 [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name() raj.khem at gmail dot com
                   ` (6 preceding siblings ...)
  2021-03-09 22:09 ` msebor at gcc dot gnu.org
@ 2021-03-11 18:26 ` dcb314 at hotmail dot com
  2021-03-13 21:29 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: dcb314 at hotmail dot com @ 2021-03-11 18:26 UTC (permalink / raw)
  To: gcc-bugs

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

David Binderman <dcb314 at hotmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dcb314 at hotmail dot com

--- Comment #7 from David Binderman <dcb314 at hotmail dot com> ---
I notice something similar:

drive_cache.cpp:477:6: internal compiler error: gimple check: expected
gimple_call(error_mark), have gimple_phi() 
in gimple_call_fndecl, at gimple.h:3171

Reduced C++ code available on request.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug tree-optimization/99489] [11 Regression] internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name()
  2021-03-09 16:29 [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name() raj.khem at gmail dot com
                   ` (7 preceding siblings ...)
  2021-03-11 18:26 ` dcb314 at hotmail dot com
@ 2021-03-13 21:29 ` cvs-commit at gcc dot gnu.org
  2021-03-13 21:30 ` msebor at gcc dot gnu.org
  2021-03-13 23:39 ` raj.khem at gmail dot com
  10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-03-13 21:29 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Martin Sebor <msebor@gcc.gnu.org>:

https://gcc.gnu.org/g:77643ac4bbd0ff758edc182a12cb622b74a3c38a

commit r11-7658-g77643ac4bbd0ff758edc182a12cb622b74a3c38a
Author: Martin Sebor <msebor@redhat.com>
Date:   Tue Mar 9 15:02:35 2021 -0700

    PR tree-optimization/99489 - ICE calling strncat after strcat

    gcc/ChangeLog:

            PR tree-optimization/99489
            * builtins.c (gimple_call_alloc_size): Fail gracefully when
argument
            is not a call statement.

    gcc/testsuite/ChangeLog:

            PR tree-optimization/99489
            * gcc.dg/Wstringop-truncation-9.c: New test.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug tree-optimization/99489] [11 Regression] internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name()
  2021-03-09 16:29 [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name() raj.khem at gmail dot com
                   ` (8 preceding siblings ...)
  2021-03-13 21:29 ` cvs-commit at gcc dot gnu.org
@ 2021-03-13 21:30 ` msebor at gcc dot gnu.org
  2021-03-13 23:39 ` raj.khem at gmail dot com
  10 siblings, 0 replies; 12+ messages in thread
From: msebor at gcc dot gnu.org @ 2021-03-13 21:30 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #9 from Martin Sebor <msebor at gcc dot gnu.org> ---
Fixed in r11-7658.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug tree-optimization/99489] [11 Regression] internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name()
  2021-03-09 16:29 [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name() raj.khem at gmail dot com
                   ` (9 preceding siblings ...)
  2021-03-13 21:30 ` msebor at gcc dot gnu.org
@ 2021-03-13 23:39 ` raj.khem at gmail dot com
  10 siblings, 0 replies; 12+ messages in thread
From: raj.khem at gmail dot com @ 2021-03-13 23:39 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Khem Raj <raj.khem at gmail dot com> ---
(In reply to Martin Sebor from comment #9)
> Fixed in r11-7658.

I validated the fix as well.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-03-13 23:39 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-09 16:29 [Bug tree-optimization/99489] New: internal compiler error: during GIMPLE pass: strlen in dlt_logstorage_log_file_name() raj.khem at gmail dot com
2021-03-09 16:30 ` [Bug tree-optimization/99489] " raj.khem at gmail dot com
2021-03-09 18:00 ` [Bug tree-optimization/99489] [11 Regression] " msebor at gcc dot gnu.org
2021-03-09 19:29 ` marxin at gcc dot gnu.org
2021-03-09 19:40 ` marxin at gcc dot gnu.org
2021-03-09 19:43 ` marxin at gcc dot gnu.org
2021-03-09 19:59 ` msebor at gcc dot gnu.org
2021-03-09 22:09 ` msebor at gcc dot gnu.org
2021-03-11 18:26 ` dcb314 at hotmail dot com
2021-03-13 21:29 ` cvs-commit at gcc dot gnu.org
2021-03-13 21:30 ` msebor at gcc dot gnu.org
2021-03-13 23:39 ` raj.khem at gmail dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).