Bug 516627
Summary: | can't compute CFA for this frame | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Bill Nottingham <notting> |
Component: | gdb | Assignee: | Tom Tromey <tromey> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | rawhide | CC: | danw, jan.kratochvil, lpoetter, patrickm, rvokal, selinux, tromey |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | gdb-6.8.50.20090818-7.fc12 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2009-09-01 13:34:59 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 473302, 473303 |
Description
Bill Nottingham
2009-08-10 18:59:09 UTC
Persists with gdb-6.8.50.20090810-2.fc12.x86_64. *** Bug 514261 has been marked as a duplicate of this bug. *** Closing with the Rawhide build: * Tue Aug 11 2009 Jan Kratochvil <jan.kratochvil> - 6.8.50.20090811-2 - archer-jankratochvil-fedora12 commit: 93f5e942bdcdcc376ece452c309bedabae71def9 - Fix "can't compute CFA for this frame" (by Tom Tromey, BZ 516627). GNU gdb (GDB) Fedora (6.8.50.20090811-1.fc12) ... (gdb) s func (x=can't compute CFA for this frame ) at 1.c:4 4 return x + 42; GNU gdb (GDB) Fedora (6.8.50.20090811-2.fc12) ... (gdb) s func (x=-42) at 1.c:4 4 return x + 42; (gdb) bt I believe I'm still seeing this with gdb-6.8.50.20090818-5.fc12.x86_64 [tbl@tlondon tmp]$ gdb /usr/libexec/pulse/gconf-helper core.1794 GNU gdb (GDB) Fedora (6.8.50.20090818-5.fc12) Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... warning: Can't read pathname for load map: Input/output error. Reading symbols from /usr/lib64/libgconf-2.so.4.1.5...Reading symbols from /usr/lib/debug/usr/lib64/libgconf-2.so.4.1.5.debug...done. done. <<<<SNIP>>>> Loaded symbols for /lib64/libattr.so.1.1.0 Core was generated by `/usr/libexec/pulse/gconf-helper'. Program terminated with signal 11, Segmentation fault. #0 0x0000000000089680 in ?? () (gdb) bt full #0 0x0000000000089680 in ?? () No symbol table info available. #1 0x00007fee02714409 in CORBA_ORB_init (argc=0x7fff6aeaac6c, argv=0x7fff6aeaac50, orb_identifier=0x7fee05f98ab6 "orbit-local-orb", ev=0x7fff6aeaac20) at corba-orb.c:404 thread_safe = <value optimized out> retval = <value optimized out> orb_if = {type = ORBIT_ROT_ORB, destroy = 0x7fee02714340 <CORBA_ORB_release_fn>} #2 0x00007fee05f7cf63 in gconf_orb_get () at gconf-internals.c:2767 ev = {_id = 0x0, _major = 0, _any = {_type = 0x0, _value = 0x0, _release = 0 '\000'}} argc = 1 argv = {0x7fee05f98ab0 "gconf", 0x0} __PRETTY_FUNCTION__ = "gconf_orb_get" #3 0x00007fee05f7d0d3 in gconf_get_server (start_if_not_found=<value optimized out>, failure_log=0x2513c00) at gconf-internals.c:2519 server = <value optimized out> ior = 0x2516e60 "IOR:010000001600000049444c3a436f6e666967536572766572323a312e30000000030000000054424f500000000101020005000000554e4958000000000a0000006c6f63616c686f7374000000270000002f746d702f6f726269742d74626c2f6c696e"... orb = <value optimized out> ev = {_id = 0x0, _major = 0, _any = {_type = 0x0, _value = 0x0, _release = 0 '\000'}} #4 0x00007fee05f7d2b2 in gconf_activate_server (start_if_not_found=0, error=0x0) at gconf-internals.c:2861 server = <value optimized out> failure_log = 0x2513c00 ev = {_id = 0x40 <Address 0x40 out of bounds>, _major = 0, _any = {_type = 0x0, _value = 0x3000000002, _release = 124 '|'}} #5 0x00007fee05f8aae4 in try_to_contact_server (err=<value optimized out>, start_if_not_found=<value optimized out>) at gconf.c:2241 ev = can't compute CFA for this frame (gdb) But: (gdb) bt #0 0x0000000000089680 in ?? () #1 0x00007fee02714409 in CORBA_ORB_init (argc=0x7fff6aeaac6c, argv=0x7fff6aeaac50, orb_identifier=0x7fee05f98ab6 "orbit-local-orb", ev=0x7fff6aeaac20) at corba-orb.c:404 #2 0x00007fee05f7cf63 in gconf_orb_get () at gconf-internals.c:2767 #3 0x00007fee05f7d0d3 in gconf_get_server (start_if_not_found=<value optimized out>, failure_log=0x2513c00) at gconf-internals.c:2519 #4 0x00007fee05f7d2b2 in gconf_activate_server (start_if_not_found=0, error=0x0) at gconf-internals.c:2861 #5 0x00007fee05f8aae4 in try_to_contact_server (err=<value optimized out>, start_if_not_found=<value optimized out>) at gconf.c:2241 #6 gconf_get_config_server (err=<value optimized out>, start_if_not_found=<value optimized out>) at gconf.c:2285 #7 0x00007fee05f8b5cc in gconf_engine_connect (conf=0x2513830, start_if_not_found=0, err=0x0) at gconf.c:359 #8 0x00007fee05f8bedd in gconf_engine_get_default () at gconf.c:584 #9 0x00007fee05f93b14 in gconf_client_get_default () at gconf-client.c:433 #10 0x0000000000401014 in main (argc=<value optimized out>, argv=<value optimized out>) at modules/gconf/gconf-helper.c:104 (gdb) Is this the same issue? Seeing the same thing with a different executable/core: [tbl@tlondon classical]$ gdb /usr/libexec/at-spi-registryd /tmp/core.1755 GNU gdb (GDB) Fedora (6.8.50.20090818-5.fc12) Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... warning: core file may not match specified executable file. warning: Can't read pathname for load map: Input/output error. Reading symbols from /usr/lib64/libspi.so.0.10.11...Reading symbols from /usr/lib/debug/usr/lib64/libspi.so.0.10.11.debug...done. done. <<<SNIP>>>> Core was generated by `/usr/libexec/at-spi-registryd'. Program terminated with signal 11, Segmentation fault. #0 0x0000000000000000 in ?? () (gdb) where #0 0x0000000000000000 in ?? () #1 0x00007f7609a2890d in _SmcProcessMessage (iceConn=0x12890d0, clientData=<value optimized out>, opcode=<value optimized out>, length=0, swap=0, replyWait=0x0, replyReadyRet=0x7fff21a6c278) at sm_process.c:324 #2 0x00007f7609819284 in IceProcessMessages (iceConn=0x12890d0, replyWait=0x0, replyReadyRet=0x0) at process.c:344 #3 0x0000000000408780 in process_ice_messages (channel=<value optimized out>, condition=<value optimized out>, client_data=0x12890d0) at registry-main.c:163 #4 0x00007f760662419e in g_main_dispatch (context=<value optimized out>) at gmain.c:1960 #5 IA__g_main_context_dispatch (context=<value optimized out>) at gmain.c:2513 #6 0x00007f7606627b88 in g_main_context_iterate (context=0x1252ca0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591 #7 0x00007f7606627fd5 in IA__g_main_loop_run (loop=0x1288470) at gmain.c:2799 #8 0x00007f76093b7fd6 in bonobo_main () at bonobo-main.c:311 #9 0x0000000000408d32 in main (argc=1, argv=0x7fff21a6c588) at registry-main.c:113 (gdb) set pagination off (gdb) bt full #0 0x0000000000000000 in ?? () No symbol table info available. #1 0x00007f7609a2890d in _SmcProcessMessage (iceConn=0x12890d0, clientData=<value optimized out>, opcode=<value optimized out>, length=0, swap=0, replyWait=0x0, replyReadyRet=0x7fff21a6c278) at sm_process.c:324 No locals. #2 0x00007f7609819284 in IceProcessMessages (iceConn=0x12890d0, replyWait=0x0, replyReadyRet=0x0) at process.c:344 header = 0x1289b80 replyReady = 0 useThisReplyWait = 0x0 retStatus = <value optimized out> #3 0x0000000000408780 in process_ice_messages (channel=<value optimized out>, condition=<value optimized out>, client_data=0x12890d0) at registry-main.c:163 status = <value optimized out> #4 0x00007f760662419e in g_main_dispatch (context=<value optimized out>) at gmain.c:1960 dispatch = 0x7f7606659400 <g_io_unix_dispatch> user_data = can't compute CFA for this frame (gdb) Yes, this looks like the same problem. If you have a simple way to reproduce it, that would be very helpful. Would it be helpful to post the core files? I get the 'gconf-helper' one every time I login..... OK, I think I found an "easy" way to reproduce: 1. run "gdb /usr/libexec/pulse/gconf-helper" 2. set a breakpoint at corba-orb.c:404 3. run 4. when program breaks, enter "bt" and "bt full" "script" below. Hope this helps. Let me know if you need more..... [tbl@tlondon ~]$ gdb /usr/libexec/pulse/gconf-helper GNU gdb (GDB) Fedora (6.8.50.20090818-5.fc12) Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... (gdb) set pagination off (gdb) break corba-orb.c:404 No source file named corba-orb.c. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (corba-orb.c:404) pending. (gdb) run Starting program: /usr/libexec/pulse/gconf-helper [Thread debugging using libthread_db enabled] Breakpoint 1, CORBA_ORB_init (argc=0x7fffffffdf2c, argv=0x7fffffffdf10, orb_identifier=0x7ffff7bcbab6 "orbit-local-orb", ev=0x7fffffffdee0) at corba-orb.c:404 404 strstr (orb_identifier, "orbit-local-non-threaded-orb") != NULL) (gdb) bt #0 CORBA_ORB_init (argc=0x7fffffffdf2c, argv=0x7fffffffdf10, orb_identifier=0x7ffff7bcbab6 "orbit-local-orb", ev=0x7fffffffdee0) at corba-orb.c:404 #1 0x00007ffff7baff63 in gconf_orb_get () at gconf-internals.c:2767 #2 0x00007ffff7bb00d3 in gconf_get_server (start_if_not_found=<value optimized out>, failure_log=0x609c00) at gconf-internals.c:2519 #3 0x00007ffff7bb02b2 in gconf_activate_server (start_if_not_found=0, error=0x0) at gconf-internals.c:2861 #4 0x00007ffff7bbdae4 in try_to_contact_server (err=<value optimized out>, start_if_not_found=<value optimized out>) at gconf.c:2241 #5 gconf_get_config_server (err=<value optimized out>, start_if_not_found=<value optimized out>) at gconf.c:2285 #6 0x00007ffff7bbe5cc in gconf_engine_connect (conf=0x609830, start_if_not_found=0, err=0x0) at gconf.c:359 #7 0x00007ffff7bbeedd in gconf_engine_get_default () at gconf.c:584 #8 0x00007ffff7bc6b14 in gconf_client_get_default () at gconf-client.c:433 #9 0x0000000000401014 in main (argc=<value optimized out>, argv=<value optimized out>) at modules/gconf/gconf-helper.c:104 (gdb) bt full #0 CORBA_ORB_init (argc=0x7fffffffdf2c, argv=0x7fffffffdf10, orb_identifier=0x7ffff7bcbab6 "orbit-local-orb", ev=0x7fffffffdee0) at corba-orb.c:404 thread_safe = <value optimized out> retval = 0x0 orb_if = {type = ORBIT_ROT_ORB, destroy = 0x7ffff4347340 <CORBA_ORB_release_fn>} #1 0x00007ffff7baff63 in gconf_orb_get () at gconf-internals.c:2767 ev = {_id = 0x0, _major = 0, _any = {_type = 0x0, _value = 0x0, _release = 0 '\000'}} argc = 1 argv = {0x7ffff7bcbab0 "gconf", 0x0} __PRETTY_FUNCTION__ = "gconf_orb_get" #2 0x00007ffff7bb00d3 in gconf_get_server (start_if_not_found=<value optimized out>, failure_log=0x609c00) at gconf-internals.c:2519 server = <value optimized out> ior = 0x60ce60 "IOR:010000001600000049444c3a436f6e666967536572766572323a312e30000000030000000054424f500000000101020005000000554e4958000000000a0000006c6f63616c686f7374000000280000002f746d702f6f726269742d74626c2f6c696e"... orb = <value optimized out> ev = {_id = 0x0, _major = 0, _any = {_type = 0x0, _value = 0x0, _release = 0 '\000'}} #3 0x00007ffff7bb02b2 in gconf_activate_server (start_if_not_found=0, error=0x0) at gconf-internals.c:2861 server = <value optimized out> failure_log = 0x609c00 ev = {_id = 0x7fffffffe0c0 "", _major = 4158593973, _any = {_type = 0x0, _value = 0x0, _release = 1 '\001'}} #4 0x00007ffff7bbdae4 in try_to_contact_server (err=<value optimized out>, start_if_not_found=<value optimized out>) at gconf.c:2241 ev = can't compute CFA for this frame (gdb) quit A debugging session is active. Inferior 1 [process 2345] will be killed. Quit anyway? (y or n) y [tbl@tlondon ~]$ I pushed a gdb patch into the appropriate upstream branch. The bug was that the new DW_OP_call_frame_cfa code was not properly accounting for inline frames. [bash]jkratoch@MOCK-fedora-rawhide-x86_64:/home/jkratoch/gdb-6.8.50.20090818-7.fc12.x86_64# DISPLAY=192.168.67.2:0 ./usr/bin/gdb -nx -ex 'set breakpoint pending on' -ex 'b corba-orb.c:404' -ex r -ex bt -ex 'bt full' /usr/libexec/pulse/gconf-helper GNU gdb (GDB) Fedora (6.8.50.20090818-7.fc12) Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... No source file named corba-orb.c. Breakpoint 1 (corba-orb.c:404) pending. Starting program: /usr/libexec/pulse/gconf-helper [Thread debugging using libthread_db enabled] Detaching after fork from child process 14442. Breakpoint 1, CORBA_ORB_init (argc=0x7fffffffd11c, argv=0x7fffffffd100, orb_identifier=0x7ffff7bcbab6 "orbit-local-orb", ev=0x7fffffffd0d0) at corba-orb.c:404 404 strstr (orb_identifier, "orbit-local-non-threaded-orb") != NULL) #0 CORBA_ORB_init (argc=0x7fffffffd11c, argv=0x7fffffffd100, orb_identifier=0x7ffff7bcbab6 "orbit-local-orb", ev=0x7fffffffd0d0) at corba-orb.c:404 #1 0x00007ffff7baff63 in gconf_orb_get () at gconf-internals.c:2767 #2 0x00007ffff7bb00d3 in gconf_get_server (start_if_not_found=<value optimized out>, failure_log=0x609c60) at gconf-internals.c:2519 #3 0x00007ffff7bb02b2 in gconf_activate_server (start_if_not_found=1, error=0x7fffffffd428) at gconf-internals.c:2861 #4 0x00007ffff7bbdae4 in try_to_contact_server (err=<value optimized out>, start_if_not_found=<value optimized out>) at gconf.c:2241 #5 gconf_get_config_server (err=<value optimized out>, start_if_not_found=<value optimized out>) at gconf.c:2285 #6 0x00007ffff7bbe5cc in gconf_engine_connect (conf=0x609830, start_if_not_found=1, err=0x7fffffffd428) at gconf.c:359 #7 0x00007ffff7bbf291 in gconf_engine_get_database (conf=0x0, err=0x7ffff7bcbab6, start_if_not_found=<value optimized out>) at gconf.c:434 #8 0x00007ffff7bc26ac in gconf_engine_notify_add (conf=0x609830, namespace_section=0x401401 "/system/pulseaudio", func=<value optimized out>, user_data=<value optimized out>, err=0x7fffffffd428) at gconf.c:827 #9 0x00007ffff7bc6385 in gconf_client_add_dir (client=0x60b000, dirname=0x401401 "/system/pulseaudio", preload=GCONF_CLIENT_PRELOAD_RECURSIVE, err=0x0) at gconf-client.c:569 #10 0x0000000000401039 in main (argc=<value optimized out>, argv=<value optimized out>) at modules/gconf/gconf-helper.c:107 #0 CORBA_ORB_init (argc=0x7fffffffd11c, argv=0x7fffffffd100, orb_identifier=0x7ffff7bcbab6 "orbit-local-orb", ev=0x7fffffffd0d0) at corba-orb.c:404 thread_safe = <value optimized out> retval = 0x0 orb_if = {type = ORBIT_ROT_ORB, destroy = 0x7ffff4349340 <CORBA_ORB_release_fn>} #1 0x00007ffff7baff63 in gconf_orb_get () at gconf-internals.c:2767 ev = {_id = 0x0, _major = 0, _any = {_type = 0x0, _value = 0x0, _release = 0 '\000'}} argc = 1 argv = {0x7ffff7bcbab0 "gconf", 0x0} __PRETTY_FUNCTION__ = "gconf_orb_get" #2 0x00007ffff7bb00d3 in gconf_get_server (start_if_not_found=<value optimized out>, failure_log=0x609c60) at gconf-internals.c:2519 server = <value optimized out> ior = 0x60e7e0 "IOR:010000001600000049444c3a436f6e666967536572766572323a312e30000000030000000054424f580000000101020005000000554e4958000000000a0000006c6f63616c686f73740000002d0000002f746d702f6f726269742d6a6b7261746f63"... orb = <value optimized out> ev = {_id = 0x0, _major = 0, _any = {_type = 0x0, _value = 0x0, _release = 0 '\000'}} Missing separate debuginfos, use: debuginfo-install libuuid-2.16-8.fc12.x86_64 ---Type <return> to continue, or q <return> to quit--- #3 0x00007ffff7bb02b2 in gconf_activate_server (start_if_not_found=1, error=0x7fffffffd428) at gconf-internals.c:2861 server = <value optimized out> failure_log = 0x609c60 ev = {_id = 0x7fffffffd248 "\377\377\377\377", _major = 0, _any = {_type = 0xfabdb6f4, _value = 0x7ffff7ba5aae, _release = 24 '\030'}} #4 0x00007ffff7bbdae4 in try_to_contact_server (err=<value optimized out>, start_if_not_found=<value optimized out>) at gconf.c:2241 ev = {_id = 0x0, _major = 0, _any = {_type = 0x7ffff78be118, _value = 0x7ffff7fea000, _release = 1 '\001'}} #5 gconf_get_config_server (err=<value optimized out>, start_if_not_found=<value optimized out>) at gconf.c:2285 __PRETTY_FUNCTION__ = "gconf_get_config_server" #6 0x00007ffff7bbe5cc in gconf_engine_connect (conf=0x609830, start_if_not_found=1, err=0x7fffffffd428) at gconf.c:359 cs = <value optimized out> db = 0x2 tries = 0 ev = {_id = 0x0, _major = 0, _any = {_type = 0x0, _value = 0x0, _release = 0 '\000'}} __PRETTY_FUNCTION__ = "gconf_engine_connect" #7 0x00007ffff7bbf291 in gconf_engine_get_database (conf=0x0, err=0x7ffff7bcbab6, start_if_not_found=<value optimized out>) at gconf.c:434 No locals. #8 0x00007ffff7bc26ac in gconf_engine_notify_add (conf=0x609830, namespace_section=0x401401 "/system/pulseaudio", func=<value optimized out>, user_data=<value optimized out>, err=0x7fffffffd428) at gconf.c:827 db = 0x2 cl = 0x0 id = 140737351956081 ev = {_id = 0x0, _major = 0, _any = {_type = 0x0, _value = 0x0, _release = 0 '\000'}} tries = 0 properties = {_maximum = 1, _length = 1, _buffer = 0x7fffffffd3b0, _release = 0 '\000'} properties_buffer = {{key = 0x7ffff7bcd59d "name", value = 0x7ffff7bcf8bd "unknown"}} __PRETTY_FUNCTION__ = "gconf_engine_notify_add" #9 0x00007ffff7bc6385 in gconf_client_add_dir (client=0x60b000, dirname=0x401401 "/system/pulseaudio", preload=GCONF_CLIENT_PRELOAD_RECURSIVE, err=0x0) at gconf-client.c:569 d = 0x0 notify_id = <value optimized out> error = 0x0 __PRETTY_FUNCTION__ = "gconf_client_add_dir" #10 0x0000000000401039 in main (argc=<value optimized out>, argv=<value optimized out>) at modules/gconf/gconf-helper.c:107 g = <value optimized out> client = 0x60b000 modules = <value optimized out> m = <value optimized out> (gdb) q A debugging session is active. Inferior 1 [process 14439] will be killed. Quit anyway? (y or n) y |