public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug backtrace/28631] New: dwarf2/loc.c:1388: internal-error: Assertion `frame != NULL' failed
@ 2021-11-27 12:18 sergeev917 at gmail dot com
  2021-11-28  0:27 ` [Bug backtrace/28631] " sam at gentoo dot org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: sergeev917 at gmail dot com @ 2021-11-27 12:18 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=28631

            Bug ID: 28631
           Summary: dwarf2/loc.c:1388: internal-error: Assertion `frame !=
                    NULL' failed
           Product: gdb
           Version: 11.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: backtrace
          Assignee: unassigned at sourceware dot org
          Reporter: sergeev917 at gmail dot com
  Target Milestone: ---

Gdb v11.1 reliably crashes when requested to print backtrace over a firefox
coredump.

I've noted that gdb in this particular case seems to consume a lot of memory.
Firefox coredump size is around 300MB, firefox and libraries -- 150MB,
splitdebug files -- around 800MB. Gdb uses over 8GB of memory trying to take
all that in. The crash comes after everything is loaded (see below).

$ gdb /usr/lib64/firefox/firefox firefox.core
GNU gdb (Gentoo 11.1 vanilla) 11.1
[...]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/lib64/firefox/firefox -contentproc -childID 72
-isForBrowser -prefsLen 597'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  MOZ_Crash (dwarf2/loc.c:1388: internal-error: call_site_parameter*
dwarf_expr_reg_to_entry_parameter(frame_info*, call_site_parameter_kind,
call_site_parameter_u, dwarf2_per_cu_data**, dwarf2_per_objfile**): Assertion
`frame != NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.

The backtrace of the crashed gdb:

Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
49      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x73fce74eb300 (LWP 14845))]
>> bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1  0x000073fce756a2b6 in __GI_abort () at abort.c:79
#2  0x00005ce7fb0b07f7 in dump_core () at utils.c:204
#3  0x00005ce7fb0b59bd in internal_vproblem(internal_problem *, const char *,
int, const char *, typedef __va_list_tag __va_list_tag *)
(problem=0x5ce7fb4dc240 <internal_error_problem>, file=<optimized out>, line
=<optimized out>, fmt=<optimized out>, ap=<optimized out>) at utils.c:414
#4  0x00005ce7fb0b5b5b in internal_verror (file=<optimized out>,
line=<optimized out>, fmt=<optimized out>, ap=ap@entry=0x7ffcd7218aa0) at
utils.c:439
#5  0x00005ce7fb198487 in internal_error (file=file@entry=0x5ce7fb22127a
"dwarf2/loc.c", line=line@entry=1388, fmt=fmt@entry=0x5ce7fb1d60a7 "%s:
Assertion `%s' failed.") at errors.cc:55
#6  0x00005ce7fae19846 in dwarf_expr_reg_to_entry_parameter (frame=0x0,
kind=CALL_SITE_PARAMETER_DWARF_REG, kind_u=..., per_cu_return=0x7ffcd7218c90,
per_objfile_return=0x7ffcd7218c98) at dwarf2/loc.c:1388
#7  0x00005ce7fae19a31 in value_of_dwarf_reg_entry (type=0x5ce898c32270,
frame=0x5ce7fdc80800, kind=CALL_SITE_PARAMETER_DWARF_REG, kind_u=...) at
dwarf2/loc.c:1583
#8  0x00005ce7fae19b7c in value_of_dwarf_block_entry (type=0x5ce898c32270,
frame=frame@entry=0x5ce7fdc80800, block=0x73fc557c9b94 "Q",
block_len=<optimized out>) at dwarf2/loc.c:1633
#9  0x00005ce7fae19c8b in loclist_read_variable_at_entry
(symbol=0x5ce8b06b9b60, frame=0x5ce7fdc80800) at dwarf2/loc.c:4609
#10 0x00005ce7fb01ea99 in read_frame_arg (fp_opts=..., sym=0x5ce8b06b9b60,
frame=0x5ce7fdc80800, argp=0x7ffcd7218f00, entryargp=0x7ffcd7218f20) at
stack.c:562
#11 0x00005ce7fb01f3d0 in print_frame_args (fp_opts=..., func=<optimized out>,
frame=0x7ffcd7218f00, num=-1, stream=0x5ce7fcf87b50) at stack.c:890
#12 0x00005ce7fb020db9 in print_frame (sal=..., print_args=<optimized out>,
print_what=SRC_AND_LOC, print_level=<optimized out>, frame=0x5ce7fdc80800,
fp_opts=...) at stack.c:1394
#13 print_frame_info (fp_opts=..., frame=0x5ce7fdc80800, print_level=<optimized
out>, print_what=SRC_AND_LOC, print_args=<optimized out>, set_current_sal=1) at
stack.c:1119
#14 0x00005ce7fb021321 in print_stack_frame (frame=0x5ce7fdc80800,
print_level=1, print_what=SRC_AND_LOC, set_current_sal=1) at stack.c:366
#15 0x00005ce7fadd56b4 in core_target_open (arg=<error reading variable: value
has been optimized out>, from_tty=1, from_tty@entry=<error reading variable:
value has been optimized out>) at corelow.c:574
#16 0x00005ce7faf22723 in catch_command_errors (command=<optimized out>,
arg=<optimized out>, from_tty=<optimized out>, do_bp_actions=<optimized out>)
at main.c:523
#17 0x00005ce7faf248d4 in captured_main_1 (context=<optimized out>) at
main.c:1280
#18 0x00005ce7faf24a5b in captured_main (data=data@entry=0x7ffcd7219610) at
main.c:1343
#19 gdb_main (args=args@entry=0x7ffcd7219640) at main.c:1368
#20 0x00005ce7face025c in main (argc=<optimized out>, argv=<optimized out>) at
gdb.c:32

Currently, I'm unable to share the coredumps since firefox crashes on a banking
site after being logged in.
Please advice if I can do anything else to help with this issue.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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

* [Bug backtrace/28631] dwarf2/loc.c:1388: internal-error: Assertion `frame != NULL' failed
  2021-11-27 12:18 [Bug backtrace/28631] New: dwarf2/loc.c:1388: internal-error: Assertion `frame != NULL' failed sergeev917 at gmail dot com
@ 2021-11-28  0:27 ` sam at gentoo dot org
  2022-04-15 13:22 ` tromey at sourceware dot org
  2024-01-06 20:13 ` ssbssa at sourceware dot org
  2 siblings, 0 replies; 4+ messages in thread
From: sam at gentoo dot org @ 2021-11-28  0:27 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=28631

Sam James <sam at gentoo dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sam at gentoo dot org

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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

* [Bug backtrace/28631] dwarf2/loc.c:1388: internal-error: Assertion `frame != NULL' failed
  2021-11-27 12:18 [Bug backtrace/28631] New: dwarf2/loc.c:1388: internal-error: Assertion `frame != NULL' failed sergeev917 at gmail dot com
  2021-11-28  0:27 ` [Bug backtrace/28631] " sam at gentoo dot org
@ 2022-04-15 13:22 ` tromey at sourceware dot org
  2024-01-06 20:13 ` ssbssa at sourceware dot org
  2 siblings, 0 replies; 4+ messages in thread
From: tromey at sourceware dot org @ 2022-04-15 13:22 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=28631

Tom Tromey <tromey at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tromey at sourceware dot org

--- Comment #1 from Tom Tromey <tromey at sourceware dot org> ---
This seems very strange, because the assert appears here:

  while (get_frame_type (frame) == INLINE_FRAME)
    {
      frame = get_prev_frame (frame);
      gdb_assert (frame != NULL);
    }

So this would have to be a stack where all the frames are inlined...
but that doesn't make sense.

Anyway one concrete thing to do is to try a newer version of gdb.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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

* [Bug backtrace/28631] dwarf2/loc.c:1388: internal-error: Assertion `frame != NULL' failed
  2021-11-27 12:18 [Bug backtrace/28631] New: dwarf2/loc.c:1388: internal-error: Assertion `frame != NULL' failed sergeev917 at gmail dot com
  2021-11-28  0:27 ` [Bug backtrace/28631] " sam at gentoo dot org
  2022-04-15 13:22 ` tromey at sourceware dot org
@ 2024-01-06 20:13 ` ssbssa at sourceware dot org
  2 siblings, 0 replies; 4+ messages in thread
From: ssbssa at sourceware dot org @ 2024-01-06 20:13 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=28631

Hannes Domani <ssbssa at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ssbssa at sourceware dot org

--- Comment #2 from Hannes Domani <ssbssa at sourceware dot org> ---
(In reply to Tom Tromey from comment #1)
> This seems very strange, because the assert appears here:
> 
>   while (get_frame_type (frame) == INLINE_FRAME)
>     {
>       frame = get_prev_frame (frame);
>       gdb_assert (frame != NULL);
>     }
> 
> So this would have to be a stack where all the frames are inlined...
> but that doesn't make sense.

Unless there was a backtrace limit set here, then it would be the same as
PR29865.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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

end of thread, other threads:[~2024-01-06 20:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-27 12:18 [Bug backtrace/28631] New: dwarf2/loc.c:1388: internal-error: Assertion `frame != NULL' failed sergeev917 at gmail dot com
2021-11-28  0:27 ` [Bug backtrace/28631] " sam at gentoo dot org
2022-04-15 13:22 ` tromey at sourceware dot org
2024-01-06 20:13 ` ssbssa at sourceware dot 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).