Bug 624967

Summary: ../../gdb/infrun.c:5467: internal-error: normal_stop: Assertion `get_frame_type (frame) == DUMMY_FRAME' failed.
Product: [Fedora] Fedora Reporter: Andreas Schwab <schwab>
Component: gdbAssignee: Jan Kratochvil <jan.kratochvil>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 13CC: jan.kratochvil, pmuldoon
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-01-02 17:29:08 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: 632259    

Description Andreas Schwab 2010-08-18 09:10:41 UTC
$ cat strspn.c
extern int printf (const char *, ...);
extern int strspn (const char *, const char *);

int
main (void)
{
  printf ("%d.\n", strspn ("1", "1"));
}
$ gcc -static strspn.c -fno-builtin-strspn
$ gdb -ex "b strspn" -ex run ./a.out
GNU gdb (GDB) Fedora (7.1-32.fc13)
Copyright (C) 2010 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/>...
Reading symbols from /daten/src/test/a.out...(no debugging symbols found)...done.
Breakpoint 1 at 0x408fc0
Starting program: /daten/src/test/a.out 

Breakpoint 1, 0x0000000000408fc0 in strspn ()
Error in re-setting breakpoint 1: The program being debugged stopped while in a function called from GDB.
Evaluation of the expression containing the function
(strspn) will be abandoned.
When the function is done executing, GDB will silently stop.
../../gdb/infrun.c:5467: internal-error: normal_stop: Assertion `get_frame_type (frame) == DUMMY_FRAME' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)

Comment 1 Jan Kratochvil 2010-08-18 10:08:59 UTC
This is a problem due to:
 * static executable (where too many breakpoints are put at `_start').
 * legacy gnu-ifunc patch still using extra inferior calls.

The gnu-ifunc support in archer-jankratochvil-ifunc branch going upstream should not have this problem so I will fix when it goes upstream+Fedora.

Comment 2 Jan Kratochvil 2011-01-02 17:29:08 UTC
archer-jankratochvil-ifunc new testcase:
PASS: gdb.base/gnu-ifunc.exp: static gnu_ifunc

F14 uses updated implementation without this problem.  For F13 WONTFIX.