This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] gdb could leave inferior running as a background process


On Tue, Apr 22, 2008 at 11:04 AM, Daniel Jacobowitz <drow@false.org> wrote:

>  Any time the second patch is "needed", there's still a race condition
>  and the bug is present.  We're running in parallel with the inferior
>  at this point.

Indeed.

IOW, any time inferior is running, gdb should be prohibited
from calling terminal_ours (or warning). Save/restore terminal in
warning() itself isn't good enough ...

This protocol will probably be hard to enforce, and I wonder how
this will play with non-stop debugging ...

>  Where is the warning issued?

#0  warning (string=0x82e9520 "(Internal error: pc 0x%s in read in
psymtab, but not in symtab.)\n") at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/utils.c:615
#1  0x08112c5b in find_pc_sect_symtab (pc=134512896, section=0x0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/symtab.c:1984
#2  0x08112d79 in find_pc_sect_line (pc=134512896, section=0x0,
notcurrent=0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/symtab.c:2140
#3  0x08112fcc in find_pc_line (pc=134512896, notcurrent=0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/symtab.c:2262
#4  0x08128698 in init_execution_control_state (ecs=0xffffd05c) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/infrun.c:1128
#5  0x08128344 in wait_for_inferior (treat_exec_as_sigtrap=0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/infrun.c:1012
#6  0x0812821a in proceed (addr=4294967295, siggnal=TARGET_SIGNAL_0,
step=0) at ../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/infrun.c:844
#7  0x08124a2f in run_command_1 (args=0x0, from_tty=0,
tbreak_at_main=0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/infcmd.c:563
#8  0x08124a56 in run_command (args=0x0, from_tty=0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/infcmd.c:570
#9  0x080c3303 in do_cfunc (c=0x83bfc00, args=0x0, from_tty=0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/cli/cli-decode.c:60
#10 0x080c58ac in cmd_func (cmd=0x83bfc00, args=0x0, from_tty=0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/cli/cli-decode.c:1663
#11 0x08085f81 in execute_command (p=0x83a3109 "", from_tty=1) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/top.c:449
#12 0x08139d7b in command_handler (command=0x83a3108 "") at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/event-top.c:518
#13 0x0813a588 in command_line_handler (rl=0x8405870 "ï=\b") at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/event-top.c:804
#14 0x08209fac in rl_callback_read_char () at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/readline/callback.c:205
#15 0x0813945b in rl_callback_read_char_wrapper (client_data=0x0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/event-top.c:177
#16 0x08139c29 in stdin_event_handler (error=0, client_data=0x0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/event-top.c:431
#17 0x08138b11 in handle_file_event (event_file_desc=0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/event-loop.c:728
#18 0x081383cc in process_event () at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/event-loop.c:341
#19 0x08138415 in gdb_do_one_event (data=0x0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/event-loop.c:378
#20 0x0813564d in catch_errors (func=0x81383e1 <gdb_do_one_event>,
func_args=0x0, errstring=0x82d9ba9 "", mask=6) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/exceptions.c:513
#21 0x080d612b in tui_command_loop (data=0x0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/tui/tui-interp.c:153
#22 0x08135b5a in current_interp_command_loop () at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/interps.c:276
#23 0x0807ed7f in captured_command_loop (data=0x0) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/main.c:99
#24 0x0813564d in catch_errors (func=0x807ed74
<captured_command_loop>, func_args=0x0, errstring=0x82c2513 "",
mask=6) at ../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/exceptions.c:513
#25 0x0807fd83 in captured_main (data=0xffffd670) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/main.c:882
#26 0x0813564d in catch_errors (func=0x807edb5 <captured_main>,
func_args=0xffffd670, errstring=0x82c2513 "", mask=6) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/exceptions.c:513
#27 0x0807fdb9 in gdb_main (args=0xffffd670) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/main.c:891
#28 0x0807ed67 in main (argc=2, argv=0xffffd724) at
../../../google_vendor_src_branch/gdb/gdb-6.8.x/gdb/gdb.c:33



-- 
Paul Pluzhnikov

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]