public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug debug/50203] New: ICE: in output_loc_list, at dwarf2out.c:8188 with --param max-vartrack-expr-depth=140
@ 2011-08-26 22:06 zsojka at seznam dot cz
  2011-08-29 10:05 ` [Bug debug/50203] " jakub at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: zsojka at seznam dot cz @ 2011-08-26 22:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50203

             Bug #: 50203
           Summary: ICE: in output_loc_list, at dwarf2out.c:8188 with
                    --param max-vartrack-expr-depth=140
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: zsojka@seznam.cz
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu


Created attachment 25114
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25114
reduced testcase

Compiler output:
$ /mnt/svn/gcc-trunk/binary-latest/bin/gcc -O3 -gdwarf-2 -fno-tree-sink --param
max-vartrack-expr-depth=140 testcase.c
testcase.c:29:1: internal compiler error: in output_loc_list, at
dwarf2out.c:8188
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

(gdb) bt
#0  fancy_abort (file=0x125e160 "/mnt/svn/gcc-trunk/gcc/dwarf2out.c",
line=8188, function=0x1266840 "output_loc_list")
    at /mnt/svn/gcc-trunk/gcc/diagnostic.c:892
#1  0x00000000006f3e0c in output_loc_list (die=Unhandled dwarf expression
opcode 0xfa
) at /mnt/svn/gcc-trunk/gcc/dwarf2out.c:8188
#2  output_location_lists (die=Unhandled dwarf expression opcode 0xfa
) at /mnt/svn/gcc-trunk/gcc/dwarf2out.c:7514
#3  0x00000000006f3bd1 in output_location_lists (die=Unhandled dwarf expression
opcode 0xfa
) at /mnt/svn/gcc-trunk/gcc/dwarf2out.c:7516
#4  0x00000000006f3bd1 in output_location_lists (die=Unhandled dwarf expression
opcode 0xfa
) at /mnt/svn/gcc-trunk/gcc/dwarf2out.c:7516
#5  0x00000000006f3bd1 in output_location_lists (die=Unhandled dwarf expression
opcode 0xfa
) at /mnt/svn/gcc-trunk/gcc/dwarf2out.c:7516
#6  0x0000000000714457 in dwarf2out_finish (filename=Unhandled dwarf expression
opcode 0xf3
) at /mnt/svn/gcc-trunk/gcc/dwarf2out.c:22620
#7  0x00000000009dc3ce in compile_file (argc=18, argv=0x7fffffffda88) at
/mnt/svn/gcc-trunk/gcc/toplev.c:597
#8  do_compile (argc=18, argv=0x7fffffffda88) at
/mnt/svn/gcc-trunk/gcc/toplev.c:1886
#9  toplev_main (argc=18, argv=0x7fffffffda88) at
/mnt/svn/gcc-trunk/gcc/toplev.c:1962
#10 0x00007ffff6192d2d in __libc_start_main () from /lib64/libc.so.6
#11 0x000000000055a609 in _start ()

Tested revisions:
r178096 - crash


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

* [Bug debug/50203] ICE: in output_loc_list, at dwarf2out.c:8188 with --param max-vartrack-expr-depth=140
  2011-08-26 22:06 [Bug debug/50203] New: ICE: in output_loc_list, at dwarf2out.c:8188 with --param max-vartrack-expr-depth=140 zsojka at seznam dot cz
@ 2011-08-29 10:05 ` jakub at gcc dot gnu.org
  2011-08-29 10:49 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-08-29 10:05 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50203

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aoliva at gcc dot gnu.org,
                   |                            |jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-08-29 09:08:45 UTC ---
DWARF has a fixed limit for the size of expression in .debug_loc - 64KB, so
with insane high parameters you can trigger it.


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

* [Bug debug/50203] ICE: in output_loc_list, at dwarf2out.c:8188 with --param max-vartrack-expr-depth=140
  2011-08-26 22:06 [Bug debug/50203] New: ICE: in output_loc_list, at dwarf2out.c:8188 with --param max-vartrack-expr-depth=140 zsojka at seznam dot cz
  2011-08-29 10:05 ` [Bug debug/50203] " jakub at gcc dot gnu.org
@ 2011-08-29 10:49 ` rguenth at gcc dot gnu.org
  2011-08-29 11:18 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-08-29 10:49 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50203

--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-08-29 10:12:00 UTC ---
Shouldn't we limit the max of the param then?


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

* [Bug debug/50203] ICE: in output_loc_list, at dwarf2out.c:8188 with --param max-vartrack-expr-depth=140
  2011-08-26 22:06 [Bug debug/50203] New: ICE: in output_loc_list, at dwarf2out.c:8188 with --param max-vartrack-expr-depth=140 zsojka at seznam dot cz
  2011-08-29 10:05 ` [Bug debug/50203] " jakub at gcc dot gnu.org
  2011-08-29 10:49 ` rguenth at gcc dot gnu.org
@ 2011-08-29 11:18 ` jakub at gcc dot gnu.org
  2011-08-29 11:48 ` rguenth at gcc dot gnu.org
  2012-01-19  5:52 ` pinskia at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-08-29 11:18 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50203

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-08-29 10:48:39 UTC ---
But what would be a good limit for the parameter?  On some targets some people
have managed to trigger it even with the parameter 20 which has been the
default for a while, but on other code/targets even a few hundred is fine.
As I wrote on gcc-patches I think, what we could do is just drop the expression
on the floor instead of asserting if it is >= 64KB, or we could stick it into a
DW_TAG_dwarf_procedure (though, I think >= 64KB location expressions ought to
be rarely useful).


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

* [Bug debug/50203] ICE: in output_loc_list, at dwarf2out.c:8188 with --param max-vartrack-expr-depth=140
  2011-08-26 22:06 [Bug debug/50203] New: ICE: in output_loc_list, at dwarf2out.c:8188 with --param max-vartrack-expr-depth=140 zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2011-08-29 11:18 ` jakub at gcc dot gnu.org
@ 2011-08-29 11:48 ` rguenth at gcc dot gnu.org
  2012-01-19  5:52 ` pinskia at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-08-29 11:48 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50203

--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-08-29 11:05:19 UTC ---
(In reply to comment #3)
> But what would be a good limit for the parameter?  On some targets some people
> have managed to trigger it even with the parameter 20 which has been the
> default for a while, but on other code/targets even a few hundred is fine.
> As I wrote on gcc-patches I think, what we could do is just drop the expression
> on the floor instead of asserting if it is >= 64KB, or we could stick it into a
> DW_TAG_dwarf_procedure (though, I think >= 64KB location expressions ought to
> be rarely useful).

I suppose we can't know in advance and turn the max-vartrack-expr-depth param
into a max-dwarf2-expr-size param?  That we could limit to 64kb ...


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

* [Bug debug/50203] ICE: in output_loc_list, at dwarf2out.c:8188 with --param max-vartrack-expr-depth=140
  2011-08-26 22:06 [Bug debug/50203] New: ICE: in output_loc_list, at dwarf2out.c:8188 with --param max-vartrack-expr-depth=140 zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2011-08-29 11:48 ` rguenth at gcc dot gnu.org
@ 2012-01-19  5:52 ` pinskia at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-01-19  5:52 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50203

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |DUPLICATE

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-01-19 05:47:40 UTC ---
This is basically a dup of bug 51695 because that is also a  >= 64KB
expression.

*** This bug has been marked as a duplicate of bug 51695 ***


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

end of thread, other threads:[~2012-01-19  5:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-26 22:06 [Bug debug/50203] New: ICE: in output_loc_list, at dwarf2out.c:8188 with --param max-vartrack-expr-depth=140 zsojka at seznam dot cz
2011-08-29 10:05 ` [Bug debug/50203] " jakub at gcc dot gnu.org
2011-08-29 10:49 ` rguenth at gcc dot gnu.org
2011-08-29 11:18 ` jakub at gcc dot gnu.org
2011-08-29 11:48 ` rguenth at gcc dot gnu.org
2012-01-19  5:52 ` pinskia at gcc dot gnu.org

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).