Bug 517870 - conditional breakpoints are broken ("can't compute CFA")
Summary: conditional breakpoints are broken ("can't compute CFA")
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: gdb
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Jan Kratochvil
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-08-17 15:40 UTC by Dan Winship
Modified: 2009-08-18 19:53 UTC (History)
2 users (show)

Fixed In Version: gdb-6.8.50.20090818-2.fc12
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-08-18 19:53:38 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Dan Winship 2009-08-17 15:40:09 UTC
conditional breakpoints are broken in rawhide (gdb-6.8.50.20090811-2.fc12.i686 and also -4 from koji); if you set a condition on a breakpoint, then when it reaches the breakpoint, gdb prints:

    Error in testing breakpoint condition:
    can't compute CFA for this frame

and then breaks. Once it breaks, everything works fine (eg, it doesn't show the CFA error in the stack frame printout, and if you look at the variables by hand, you can see their values).

Comment 1 Dan Winship 2009-08-17 15:41:18 UTC
oh, should clarify; it *always* breaks, regardless of whether the condition is true or not

Comment 2 Jan Kratochvil 2009-08-17 17:15:26 UTC
It is not reproducible for me on a simple testcase, did not try harder so far.

Comment 3 Dan Winship 2009-08-17 18:48:07 UTC
Hm.

danw@x61:tmp> cat foo.c
#include <stdio.h>

int
main (int argc, char **argv)
{
	printf ("%d\n", argc);
	return 0;
}
danw@x61:tmp> cc -g -o foo foo.c
danw@x61:tmp> gdb foo
GNU gdb (GDB) Fedora (6.8.50.20090811-4.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 "i686-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
(gdb) b 6
Breakpoint 1 at 0x80483cd: file foo.c, line 6.
(gdb) cond 1 argc == 2
(gdb) run
Starting program: /tmp/foo 
Error in testing breakpoint condition:
can't compute CFA for this frame

Breakpoint 1, main (argc=1, argv=0xbffff784) at foo.c:6
6		printf ("%d\n", argc);
(gdb) p argc
$1 = 1
(gdb) quit

Comment 4 Tom Tromey 2009-08-17 20:32:52 UTC
Thanks for the report and the test case.
I pushed a fix for this into the archer git repository.


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