public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug breakpoints/15679] New: 'catch throw' crashes with ' auto-solib-add off'
@ 2013-06-26 13:54 faorg-lists at yahoo dot co.uk
  2013-06-26 17:05 ` [Bug breakpoints/15679] " tromey at redhat dot com
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: faorg-lists at yahoo dot co.uk @ 2013-06-26 13:54 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15679

            Bug ID: 15679
           Summary: 'catch throw' crashes with ' auto-solib-add off'
           Product: gdb
           Version: 7.5
            Status: NEW
          Severity: normal
          Priority: P2
         Component: breakpoints
          Assignee: unassigned at sourceware dot org
          Reporter: faorg-lists at yahoo dot co.uk

With 'set auto-solib-add off' in ~/.gdbinit an existing catch throw causes gdb
to exit:

gdb process terminated with a core dump.
Closing this gdb session.

1) start & interrupt a program (debuggee)
2) 'shared' to load symbols
3) 'catch throw'
4) kill & restart program
5) gdb exits

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


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

* [Bug breakpoints/15679] 'catch throw' crashes with ' auto-solib-add off'
  2013-06-26 13:54 [Bug breakpoints/15679] New: 'catch throw' crashes with ' auto-solib-add off' faorg-lists at yahoo dot co.uk
@ 2013-06-26 17:05 ` tromey at redhat dot com
  2013-06-27  8:45 ` faorg-lists at yahoo dot co.uk
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: tromey at redhat dot com @ 2013-06-26 17:05 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15679

Tom Tromey <tromey at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING
                 CC|                            |tromey at redhat dot com

--- Comment #1 from Tom Tromey <tromey at redhat dot com> ---
I tried this with 7.5 and with current cvs gdb, and it worked fine for
me:

gdb -nx
set auto-solib-add off
file ./gdb.cp/nextoverthrow   # <- c++ test case from gdb
start
shared
catch throw
start

Could you supply more details?
Maybe your platform info would help.
Or maybe a stack trace from the gdb core file.

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


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

* [Bug breakpoints/15679] 'catch throw' crashes with ' auto-solib-add off'
  2013-06-26 13:54 [Bug breakpoints/15679] New: 'catch throw' crashes with ' auto-solib-add off' faorg-lists at yahoo dot co.uk
  2013-06-26 17:05 ` [Bug breakpoints/15679] " tromey at redhat dot com
@ 2013-06-27  8:45 ` faorg-lists at yahoo dot co.uk
  2013-06-27 13:50 ` faorg-lists at yahoo dot co.uk
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: faorg-lists at yahoo dot co.uk @ 2013-06-27  8:45 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15679

--- Comment #2 from faorg-lists at yahoo dot co.uk ---
Platform: SLED11.1
gdb 7.5.1
g++ (GCC) 4.6.0

There are no symbols in the core file:
Core was generated by `gdb -tty=/dev/null -x /tmp/gdbscript6vyBJt.clewn
--interpreter=mi'.
Program terminated with signal 6, Aborted.
#0  0x00007f5c8aa7c945 in raise () from /lib64/libc.so.6
#1  0x00007f5c8aa7df21 in abort () from /lib64/libc.so.6
#2  0x0000000000645f66 in ?? ()
#3  0xffffffffffffffff in ?? ()
...

I can't currently replicate it either, although yesterday the only way to avoid
the crash was to turn auto-solib-add on.  Possibly some other state or
breakpoints are relevant.

I will download gdb 7.6 and build it with debug symbols, so next time there
should be more info.

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


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

* [Bug breakpoints/15679] 'catch throw' crashes with ' auto-solib-add off'
  2013-06-26 13:54 [Bug breakpoints/15679] New: 'catch throw' crashes with ' auto-solib-add off' faorg-lists at yahoo dot co.uk
  2013-06-26 17:05 ` [Bug breakpoints/15679] " tromey at redhat dot com
  2013-06-27  8:45 ` faorg-lists at yahoo dot co.uk
@ 2013-06-27 13:50 ` faorg-lists at yahoo dot co.uk
  2013-06-27 18:37 ` tromey at redhat dot com
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: faorg-lists at yahoo dot co.uk @ 2013-06-27 13:50 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15679

--- Comment #3 from faorg-lists at yahoo dot co.uk ---
With gdb 7.6 (configure --enable-debug) I get the following:

#0  0x00007f5c4f3fe945 in raise () from /lib64/libc.so.6
#1  0x00007f5c4f3fff21 in abort () from /lib64/libc.so.6
#2  0x0000000000655536 in dump_core () at utils.c:761
#3  0x00000000006579fa in internal_vproblem (ap=<optimized out>, fmt=<optimized
out>, line=<optimized out>, file=<optimized out>, problem=0xb3ec80
<internal_error_problem>) at utils.c:929
#4  internal_vproblem (problem=0xb3ec80 <internal_error_problem>,
file=<optimized out>, line=<optimized out>, fmt=<optimized out>, ap=<optimized
out>) at utils.c:820
#5  0x0000000000657c89 in internal_verror (file=<optimized out>,
line=<optimized out>, fmt=<optimized out>, ap=<optimized out>) at utils.c:944
#6  0x0000000000657d22 in internal_error (file=<optimized out>, line=<optimized
out>, string=<optimized out>) at utils.c:954
#7  0x0000000000526e81 in print_one_breakpoint_location (b=0x345eb90,
loc=0x33d3d60, loc_number=<optimized out>, last_loc=0x7fff1c3de9c8, allflag=0)
at breakpoint.c:5940
#8  0x0000000000526f29 in print_one_breakpoint (b=0x345eb90,
last_loc=0x7fff1c3de9c8, allflag=0) at breakpoint.c:6233
#9  0x000000000052703c in do_captured_breakpoint_query (uiout=<optimized out>,
data=<optimized out>) at breakpoint.c:6305
#10 0x0000000000594632 in catch_exceptions_with_msg (func_uiout=<optimized
out>, func=0x526fe0 <do_captured_breakpoint_query>, func_args=0x7fff1c3dea40,
gdberrmsg=0x0, mask=6) at exceptions.c:498
#11 0x000000000052cd1d in gdb_breakpoint_query (uiout=<optimized out>,
bnum=<optimized out>, error_message=<optimized out>) at breakpoint.c:6321
#12 0x00000000004d93c6 in mi_breakpoint_created (b=0x345eb90) at
./mi/mi-interp.c:650
#13 0x00000000005cb92d in generic_observer_notify (args=0x7fff1c3deaa0,
subject=<optimized out>) at observer.c:167
#14 observer_notify_breakpoint_created (b=<optimized out>) at observer.inc:558
#15 0x000000000052e3a9 in install_breakpoint (internal=0, b=0x345eb90,
update_gll=0) at breakpoint.c:8443
#16 0x000000000052ecca in create_breakpoint_sal (display_canonical=0, flags=0,
internal=0, enabled=1, from_tty=1, ops=0xb4e1a0
<gnu_v3_exception_catchpoint_ops>, ignore_count=0, task=0, thread=-1,
disposition=disp_donttouch, type=bp_breakpoint, extra_string=0x0,
cond_string=0x0, filter=0x0,
    addr_string=0x3e73a20 "__cxa_throw", gdbarch=0xdb9100, sals=...) at
breakpoint.c:9192
#17 create_breakpoints_sal (gdbarch=0xdb9100, canonical=0x7fff1c3dec70,
cond_string=0x0, extra_string=0x0, type=bp_breakpoint,
disposition=disp_donttouch, thread=-1, task=0, ignore_count=0, ops=0xb4e1a0
<gnu_v3_exception_catchpoint_ops>, from_tty=1, enabled=1, internal=0, flags=0)
at breakpoint.c:9236
#18 0x000000000053000a in create_breakpoint (gdbarch=0xdb9100, arg=0x784bc0 "",
cond_string=0x0, thread=-1, extra_string=0x0, parse_condition_and_thread=0,
tempflag=0, type_wanted=bp_breakpoint, ignore_count=0,
pending_break_support=AUTO_BOOLEAN_TRUE, ops=0xb4e1a0
<gnu_v3_exception_catchpoint_ops>, from_tty=1,
    enabled=1, internal=0, flags=0) at breakpoint.c:9681
#19 0x000000000053090d in handle_gnu_v3_exceptions (from_tty=1,
ex_event=<optimized out>, cond_string=0x0, tempflag=0) at breakpoint.c:11689
#20 catch_exception_command_1 (ex_event=<optimized out>, arg=0x751f33 "",
tempflag=0, from_tty=1) at breakpoint.c:11724
#21 0x0000000000653ac5 in execute_command (p=0x7fff1c3dee4b "", from_tty=1) at
top.c:484
#22 0x00000000004d3e40 in safe_execute_command (command_uiout=<optimized out>,
command=0x7fff1c3dee40 "catch throw", from_tty=1) at ./cli/cli-interp.c:124
#23 0x00000000004d3eda in cli_interpreter_exec (data=<optimized out>,
command_str=<optimized out>) at ./cli/cli-interp.c:107
#24 0x0000000000595547 in interp_exec (interp=<optimized out>,
command_str=<optimized out>) at interps.c:365
#25 0x00000000004d9f25 in mi_cmd_interpreter_exec (command=<optimized out>,
argv=0xd844f0, argc=<optimized out>) at ./mi/mi-interp.c:266
#26 0x00000000004dd78d in mi_cmd_execute (parse=0x345ea30) at
./mi/mi-main.c:2133
#27 captured_mi_execute_command (context=0x345ea30, uiout=0xcf1f50) at
./mi/mi-main.c:1884
#28 mi_execute_command (cmd=0x345e9d0 "109-interpreter-exec console \"catch
throw\"", from_tty=<optimized out>) at ./mi/mi-main.c:2003
#29 0x00000000004d8acd in mi_execute_command_wrapper (cmd=<optimized out>) at
./mi/mi-interp.c:311
#30 mi_execute_command_input_handler (cmd=<optimized out>) at
./mi/mi-interp.c:319
#31 0x000000000059c5d4 in process_event () at event-loop.c:342
#32 process_event () at event-loop.c:314
#33 0x000000000059c9a8 in gdb_do_one_event () at event-loop.c:406
#34 0x000000000059cb45 in start_event_loop () at event-loop.c:431
#35 0x0000000000596173 in captured_command_loop (data=<optimized out>) at
main.c:258
#36 0x00000000005947cb in catch_errors (func=0x596160 <captured_command_loop>,
func_args=0x0, errstring=0x751f33 "", mask=6) at exceptions.c:546
#37 0x00000000005969e6 in captured_main (data=<optimized out>) at main.c:1041
#38 0x00000000005947cb in catch_errors (func=0x596350 <captured_main>,
func_args=0x7fff1c3df260, errstring=0x751f33 "", mask=6) at exceptions.c:546
#39 0x0000000000597374 in gdb_main (args=<optimized out>) at main.c:1050
#40 0x0000000000465d0e in main (argc=<optimized out>, argv=<optimized out>) at
gdb.c:34

There is a simpler way for me to replicate this:
1) start
2) interrupt
3) catch throw (terminates)

In ~/.gdbinit I have:

set auto-solib-add off
define hookpost-start
  sharedlibrary x.so
  ...
  continue
end

ie. I only load a small subset of libs for speed.

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


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

* [Bug breakpoints/15679] 'catch throw' crashes with ' auto-solib-add off'
  2013-06-26 13:54 [Bug breakpoints/15679] New: 'catch throw' crashes with ' auto-solib-add off' faorg-lists at yahoo dot co.uk
                   ` (2 preceding siblings ...)
  2013-06-27 13:50 ` faorg-lists at yahoo dot co.uk
@ 2013-06-27 18:37 ` tromey at redhat dot com
  2013-06-28  8:55 ` faorg-lists at yahoo dot co.uk
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: tromey at redhat dot com @ 2013-06-27 18:37 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15679

--- Comment #4 from Tom Tromey <tromey at redhat dot com> ---
(In reply to faorg-lists from comment #3)
> With gdb 7.6 (configure --enable-debug) I get the following:

> #3  0x00000000006579fa in internal_vproblem (ap=<optimized out>,
> fmt=<optimized out>, line=<optimized out>, file=<optimized out>,
> problem=0xb3ec80 <internal_error_problem>) at utils.c:929

Can you show the text that it prints?

> #7  0x0000000000526e81 in print_one_breakpoint_location (b=0x345eb90,
> loc=0x33d3d60, loc_number=<optimized out>, last_loc=0x7fff1c3de9c8,
> allflag=0) at breakpoint.c:5940

Line 5940 doesn't look like a likely suspect in any tree I have checked out.
Maybe something changed on the 7.6 branch since the release.
Anyway if you could show this source line, or the error text, that
would help.

It is possible that this is a dup of #15468

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


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

* [Bug breakpoints/15679] 'catch throw' crashes with ' auto-solib-add off'
  2013-06-26 13:54 [Bug breakpoints/15679] New: 'catch throw' crashes with ' auto-solib-add off' faorg-lists at yahoo dot co.uk
                   ` (3 preceding siblings ...)
  2013-06-27 18:37 ` tromey at redhat dot com
@ 2013-06-28  8:55 ` faorg-lists at yahoo dot co.uk
  2013-06-28  8:58 ` faorg-lists at yahoo dot co.uk
  2013-06-28 15:52 ` faorg-lists at yahoo dot co.uk
  6 siblings, 0 replies; 8+ messages in thread
From: faorg-lists at yahoo dot co.uk @ 2013-06-28  8:55 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15679

--- Comment #5 from faorg-lists at yahoo dot co.uk ---
> Can you show the text that it prints?

In 'mi' mode, just:

gdb process terminated with a core dump.
Closing this gdb session.

I haven't had it go wrong with the normal UI yet.

> Line 5940 doesn't look like a likely suspect in any tree I have checked out.

 5935   if (b->ops != NULL && b->ops->print_one != NULL)
 5936     {
 5937       /* Although the print_one can possibly print all locations,
 5938          calling it here is not likely to get any nice result.  So,
 5939          make sure there's just one location.  */
 5940       gdb_assert (b->loc == NULL || b->loc->next == NULL);
 5941       b->ops->print_one (b, last_loc);
 5942     }

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


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

* [Bug breakpoints/15679] 'catch throw' crashes with ' auto-solib-add off'
  2013-06-26 13:54 [Bug breakpoints/15679] New: 'catch throw' crashes with ' auto-solib-add off' faorg-lists at yahoo dot co.uk
                   ` (4 preceding siblings ...)
  2013-06-28  8:55 ` faorg-lists at yahoo dot co.uk
@ 2013-06-28  8:58 ` faorg-lists at yahoo dot co.uk
  2013-06-28 15:52 ` faorg-lists at yahoo dot co.uk
  6 siblings, 0 replies; 8+ messages in thread
From: faorg-lists at yahoo dot co.uk @ 2013-06-28  8:58 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15679

--- Comment #6 from faorg-lists at yahoo dot co.uk ---
Ok, now it has gone wrong with the normal UI:

breakpoint.c:5940: internal-error: print_one_breakpoint_location: Assertion
`b->loc == NULL || b->loc->next == NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)

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


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

* [Bug breakpoints/15679] 'catch throw' crashes with ' auto-solib-add off'
  2013-06-26 13:54 [Bug breakpoints/15679] New: 'catch throw' crashes with ' auto-solib-add off' faorg-lists at yahoo dot co.uk
                   ` (5 preceding siblings ...)
  2013-06-28  8:58 ` faorg-lists at yahoo dot co.uk
@ 2013-06-28 15:52 ` faorg-lists at yahoo dot co.uk
  6 siblings, 0 replies; 8+ messages in thread
From: faorg-lists at yahoo dot co.uk @ 2013-06-28 15:52 UTC (permalink / raw)
  To: gdb-prs

http://sourceware.org/bugzilla/show_bug.cgi?id=15679

--- Comment #7 from faorg-lists at yahoo dot co.uk ---
re #15468, "info func __cxa_throw" lists 3 Non-debugging symbols before
executing "shared" and 20 after (when it works ok).

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


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

end of thread, other threads:[~2013-06-28 15:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-26 13:54 [Bug breakpoints/15679] New: 'catch throw' crashes with ' auto-solib-add off' faorg-lists at yahoo dot co.uk
2013-06-26 17:05 ` [Bug breakpoints/15679] " tromey at redhat dot com
2013-06-27  8:45 ` faorg-lists at yahoo dot co.uk
2013-06-27 13:50 ` faorg-lists at yahoo dot co.uk
2013-06-27 18:37 ` tromey at redhat dot com
2013-06-28  8:55 ` faorg-lists at yahoo dot co.uk
2013-06-28  8:58 ` faorg-lists at yahoo dot co.uk
2013-06-28 15:52 ` faorg-lists at yahoo dot co.uk

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