Bug 507267 - gdb gets stuck in infinite loop when debugged program crashes
gdb gets stuck in infinite loop when debugged program crashes
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: gdb (Show other bugs)
11
All Linux
low Severity medium
: ---
: ---
Assigned To: Jan Kratochvil
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-06-21 23:23 EDT by Dan Winship
Modified: 2009-07-02 01:49 EDT (History)
1 user (show)

See Also:
Fixed In Version: 6.8.50.20090302-31.fc11
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-07-02 01:49:03 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Sourceware 9988 None None None Never

  None (edit)
Description Dan Winship 2009-06-21 23:23:05 EDT
gdb-6.8.50.20090302-27.fc11.x86_64

There is currently a bug in the WebKit javascript JITter on x86_64 that occasionally causes the browser to crash. If you are running it under gdb though, it doesn't drop you to the gdb prompt, it just hangs. Presumably the JIT bug is causing WebKit to trash its stack, which is then trapping gdb in an infinite loop or something? Attaching gdb to gdb (whee!) shows:

0x000000000053c48e in end_symtab (end_addr=140737328065138, objfile=0x7266750, 
    section=10) at ../../gdb/buildsym.c:970
970		      if (BLOCK_START (pb->block) < BLOCK_START (pbnext->block))
(gdb) where
#0  0x000000000053c48e in end_symtab (end_addr=140737328065138, 
    objfile=0x7266750, section=10) at ../../gdb/buildsym.c:970
#1  0x0000000000554a41 in process_full_comp_unit (per_cu=<value optimized out>)
    at ../../gdb/dwarf2read.c:2999
#2  process_queue (per_cu=<value optimized out>) at ../../gdb/dwarf2read.c:2815
#3  psymtab_to_symtab_1 (per_cu=<value optimized out>)
    at ../../gdb/dwarf2read.c:2895
#4  0x0000000000554b59 in dwarf2_psymtab_to_symtab (pst=0x7ad5eb0)
    at ../../gdb/dwarf2read.c:2768
#5  0x00000000004f6752 in psymtab_to_symtab (pst=0x7ad5eb0)
    at ../../gdb/symfile.c:296
#6  0x00000000004c07d5 in find_pc_partial_function (pc=140737327682501, 
    name=0x7fff1c3d92b8, address=<value optimized out>, 
    endaddr=<value optimized out>) at ../../gdb/blockframe.c:228
#7  0x000000000050c507 in handle_inferior_event (ecs=0x7fff1c3d9260)
    at ../../gdb/infrun.c:2926
#8  0x000000000050f309 in wait_for_inferior (treat_exec_as_sigtrap=0)
    at ../../gdb/infrun.c:1868
#9  0x000000000050f93f in proceed (addr=<value optimized out>, 
    siggnal=TARGET_SIGNAL_0, step=0) at ../../gdb/infrun.c:1479
#10 0x0000000000507209 in run_command_1 (args=0x0, from_tty=1, 
    tbreak_at_main=<value optimized out>) at ../../gdb/infcmd.c:572
#11 0x0000000000451969 in execute_command (p=0x23f0103 "", from_tty=1)
    at ../../gdb/top.c:450
#12 0x000000000051c2d5 in command_handler (command=0x23f0100 "")
    at ../../gdb/event-top.c:519
#13 0x000000000051cf9c in command_line_handler (rl=<value optimized out>)
    at ../../gdb/event-top.c:744
#14 0x0000003c19627e2c in rl_callback_read_char () at ../callback.c:205
#15 0x000000000051c419 in rl_callback_read_char_wrapper (client_data=0x1)
    at ../../gdb/event-top.c:179
#16 0x000000000051ad78 in process_event () at ../../gdb/event-loop.c:394
#17 0x000000000051bf6a in gdb_do_one_event (data=<value optimized out>)
    at ../../gdb/event-loop.c:459
#18 0x000000000051609b in catch_errors (func=<value optimized out>, 
    func_args=<value optimized out>, errstring=<value optimized out>, 
    mask=<value optimized out>) at ../../gdb/exceptions.c:516
#19 0x00000000004a6d28 in tui_command_loop (data=<value optimized out>)
    at ../../gdb/tui/tui-interp.c:156
#20 0x00000000004449c9 in captured_command_loop (data=0x1)
    at ../../gdb/main.c:183
#21 0x000000000051609b in catch_errors (func=<value optimized out>, 
    func_args=<value optimized out>, errstring=<value optimized out>, 
    mask=<value optimized out>) at ../../gdb/exceptions.c:516
#22 0x000000000044533e in captured_main (data=<value optimized out>)
    at ../../gdb/main.c:989
#23 0x000000000051609b in catch_errors (func=<value optimized out>, 
    func_args=<value optimized out>, errstring=<value optimized out>, 
    mask=<value optimized out>) at ../../gdb/exceptions.c:516
#24 0x00000000004449b4 in gdb_main (args=0xf8a1e68) at ../../gdb/main.c:999
#25 0x0000000000444989 in main (argc=<value optimized out>, argv=0xf8a1e68)
    at ../../gdb/gdb.c:47
Comment 1 Fedora Update System 2009-06-22 13:28:30 EDT
gdb-6.8.50.20090302-30.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/gdb-6.8.50.20090302-30.fc11
Comment 2 Jan Kratochvil 2009-06-22 13:32:25 EDT
It did accelerate for me in the specific testcase from about 40s to 4.6s.  Is it now acceptably fast?  I would need some real reproducer to be able to find some other serious performance issues.
(Assuming you have enough RAM as sure swap would kill anything.)
Thanks.
Comment 3 Dan Winship 2009-06-22 16:49:39 EDT
Oh. I didn't wait that long to see if it would finish. After 10s I just assumed it must be trying to find the end of a circular linked list or something. :)

The new package works great.
Comment 4 Jan Kratochvil 2009-06-22 16:57:21 EDT
Great. :-)
Comment 5 Fedora Update System 2009-06-24 15:38:58 EDT
gdb-6.8.50.20090302-30.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update gdb'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-6858
Comment 6 Fedora Update System 2009-06-29 06:11:00 EDT
gdb-6.8.50.20090302-31.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/gdb-6.8.50.20090302-31.fc11
Comment 7 Fedora Update System 2009-06-30 17:24:44 EDT
gdb-6.8.50.20090302-31.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update gdb'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-7071
Comment 8 Fedora Update System 2009-07-02 01:48:49 EDT
gdb-6.8.50.20090302-31.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.