Bug 32544 - gdb Can't fetch instructions for slot numbers greater than 2.
gdb Can't fetch instructions for slot numbers greater than 2.
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: gdb (Show other bugs)
7.3
ia64 Linux
medium Severity medium
: ---
: ---
Assigned To: Trond Eivind Glomsrxd
Aaron Brown
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-03-21 12:39 EST by John Reiser
Modified: 2007-04-18 12:32 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-04-09 20:22:34 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)

  None (edit)
Description John Reiser 2001-03-21 12:39:25 EST
From Bugzilla Helper:
User-Agent: Mozilla/4.75 [en] (X11; U; Linux 2.2.5-15 i586)


Multiple 'stepi' followed by multiple 'next' leads to the complaint
"Can't fetch instructions for slot numbers greater than 2."
and then gdb can be lost (further 'n' causes gdb crash via SIGSEGV, etc.)


Reproducible: Always
Steps to Reproduce:
1. compile test program:  cc -g foo.c
2. invoke in background:  ./a.out &
3. attach with gdb, set register value to escape from inifinite loop,
   stepi (several times) out of infinite loop, 'next' several times.

c>cat foo.c
int go(int j)
{
	return j;
}

int a,b,c;

main()
{
	while (0==go(0)) {
		;  /* do nothing */
	}
	printf("Now is the time %d %d %d\n", a, b, c);
	return a+b;
}

c>

Actual Results:  c>cc -g foo.c
c>./a.out &
[1] 28656
c>/usr/bin/gdb ./a.out 28656
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "ia64-redhat-linux"...
/home/angus/jreiser/dv/insight/examples/c/28656: No such file or directory.
Attaching to program: /home/angus/jreiser/dv/insight/examples/c/./a.out,
Pid 28656
Reading symbols from /lib/libc.so.6.1...done.
Loaded symbols for /lib/libc.so.6.1
Reading symbols from /lib/ld-linux-ia64.so.2...done.
Loaded symbols for /lib/ld-linux-ia64.so.2
0x4000000000000681 in go (j=0) at foo.c:3
3		return j;
(gdb) x/i $pc
0x4000000000000681 <go+17>:	            mov r8=r14
(gdb) def g
Type commands for definition of "g".
End with a line saying just "end".
>stepi
>x/i $pc
>end
(gdb) set $r14 = 1
(gdb) g
4	}
0x4000000000000682 <go+18>:	            mov r12=r2
(gdb) 
0x4000000000000690	4	}
0x4000000000000690 <go+32>:	[MIB]       nop.m 0x0
(gdb) p/x $r8
$1 = 0x1
(gdb) g
0x4000000000000691	4	}
0x4000000000000691 <go+33>:	            nop.i 0x0
(gdb) 
0x4000000000000692	4	}
0x4000000000000692 <go+34>:	            br.ret.sptk.many b0;;
(gdb) 
0x40000000000006e0 in main () at foo.c:10
10		while (0==go(0)) {
0x40000000000006e0 <main+64>:	[MII]       mov r1=r32
(gdb) n
13		printf("Now is the time %d %d %d\n", a, b, c);
gdb) 
Now is the time 0 0 0
14		return a+b;
(gdb) 
15	}
(gdb) 
0x2000000000086d20 in __libc_start_main (main=0x4000000000000a48
<_fini+392>, 
    argc=1, ubp_av=0x80000ffffffff0a8, init=0x4000000000000a28 <_fini+360>, 
    fini=0x200000000003d500 <_dl_debug_impcalls>, 
    rtld_fini=0x2000000000250190 <translit_from_idx+304>, 
    stack_end=0x80000ffffffff0a0) at ../sysdeps/generic/libc-start.c:129
129	../sysdeps/generic/libc-start.c: No such file or directory.
	in ../sysdeps/generic/libc-start.c
(gdb) 
Can't fetch instructions for slot numbers greater than 2.
(gdb)
	

Expected Results:  No complaint "Can't fetch instructions for slot numbers
greater than 2."


c>rpm -q -f /usr/bin/gdb
gdb-5.0-13
c>ls -l /usr/bin/gdb
-rwxr-xr-x    1 root     root      4149304 Jan 22 05:47 /usr/bin/gdb
c>cat /etc/redhat-release
Red Hat Linux release 7.0.90 (Fisher)
Comment 1 Trond Eivind Glomsrxd 2001-03-21 12:47:53 EST
Bill: IA64-specific
Comment 2 Bill Nottingham 2001-03-21 12:52:38 EST
Assigning to gdb package maintainer. :P
Comment 3 Trond Eivind Glomsrxd 2001-03-23 16:42:20 EST
Fixed in gdb CVS, haven't built new RPMs yet.
Comment 4 Trond Eivind Glomsrxd 2001-04-06 15:47:01 EDT
OK, built gdb-5.0rh-6 with this fix. Available from Rawhide someday, now (for a
limited time) from http://people.redhat.com/teg/gdb/
Comment 5 Paul Pluzhnikov 2001-04-08 23:12:26 EDT
John no longer has access to the IA-64 machine.

Using "GNU gdb 5.0rh-6 Red Hat Linux 7.1" from
http://people.redhat.com/teg/gdb/gdb-5.0rh-6 
I still get the exact same result John described.
Comment 6 Trond Eivind Glomsrxd 2001-04-09 20:22:29 EDT
Reopening.
Comment 7 Trond Eivind Glomsrxd 2001-05-22 14:37:20 EDT
Try gdb-5.0rh-9 from the above address - with it, I can't reproduce the problem.
Comment 8 Paul Pluzhnikov 2001-05-22 21:34:23 EDT
gdb-5.0rh-9 appears to have fixed the problem for me as well

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