Bug 29151

Summary: gdb Abort in disassembly of __ia64_backtrace
Product: [Retired] Red Hat Linux Reporter: John Reiser <jreiser>
Component: gdbAssignee: Trond Eivind Glomsrxd <teg>
Status: CLOSED RAWHIDE QA Contact: Aaron Brown <abrown>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3CC: notting
Target Milestone: ---   
Target Release: ---   
Hardware: ia64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-02-26 23:57:38 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:

Description John Reiser 2001-02-23 23:05:44 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.75 [en] (X11; U; Linux 2.2.5-15 i586)


$ gdb foo
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"...
(gdb) b main
Breakpoint 1 at 0x40000000000007c2
(gdb) run
Starting program: /home/angus/jreiser/jfr-unwind/foo 
x/
Breakpoint 1, 0x40000000000007c2 in main ()
(gdb) x/32x __ia64_backtrace
0x40000000000052f0 <__ia64_backtrace>:	0x0a2d1800	0xc1000580	0x20467833
0x8cf46002
0x4000000000005300 <__ia64_backtrace+16>:	0x18c06008	0x0120232c	0x60084490
0x00ca0802
0x4000000000005310 <__ia64_backtrace+32>:	0x00000002	0x09400001	0x00006200
0x00040000
0x4000000000005320 <__ia64_backtrace+48>:	0x20488000	0x11501598	0xc0006200
0x00c40032
0x4000000000005330 <__ia64_backtrace+64>:	0x224c8001	0x21701598	0x00006200
0x00c40053
0x4000000000005340 <__ia64_backtrace+80>:	0x20108000	0x80e015d8	0x80420030
0x00cc0004
0x4000000000005350 <__ia64_backtrace+96>:	0x2214800a	0x026015d8	0x40420038
0x00c40004
0x4000000000005360 <__ia64_backtrace+112>:	0x20188000	0x80e015d8	0xa0422031
0x84010004
(gdb) x/16i __ia64_backtrace
0x40000000000052f0 <__ia64_backtrace>:	[MII]       alloc r35=ar.pfs,11,5,0
0x40000000000052f1 <__ia64_backtrace+1>:	            adds r16=-392,r12
0x40000000000052f2 <__ia64_backtrace+2>:	            adds r17=-384,r12
0x4000000000005300 <__ia64_backtrace+16>:	[MMI]       adds r12=-2512,r12
0x4000000000005301 <__ia64_backtrace+17>:	            mov.m r18=ar.unat
0x4000000000005302 <__ia64_backtrace+18>:	            mov.i r19=ar.lc
0x4000000000005310 <__ia64_backtrace+32>:	[MII]       nop.m 0x0
0x4000000000005311 <__ia64_backtrace+33>:	            mov r20=b1;;
0x4000000000005312 <__ia64_backtrace+34>:	            nop.i 0x0
0x4000000000005320 <__ia64_backtrace+48>:	[MII]       st8 [r16]=r18,16
0x4000000000005321 <__ia64_backtrace+49>:	            mov r21=b2
0x4000000000005322 <__ia64_backtrace+50>:	            mov r22=b3
0x4000000000005330 <__ia64_backtrace+64>:	[MII]       st8 [r17]=r19,16
0x4000000000005331 <__ia64_backtrace+65>:	            mov r23=b4
0x4000000000005332 <__ia64_backtrace+66>:	            mov r24=b5;;
0x4000000000005340 <__ia64_backtrace+80>:	Aborted (core dumped)
bash-2.04$ gdb /usr/bin/gdb core
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"...(no debugging symbols
found)...
Core was generated by `gdb foo'.
Program terminated with signal 6, Aborted.
Reading symbols from /usr/lib/libncurses.so.5...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libncurses.so.5
Reading symbols from /lib/libc.so.6.1...done.
Loaded symbols for /lib/libc.so.6.1
Reading symbols from /lib/libnss_dns.so.2...done.
Loaded symbols for /lib/libnss_dns.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/libm.so.6.1...done.
Loaded symbols for /lib/libm.so.6.1
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/ld-linux-ia64.so.2...done.
Loaded symbols for /lib/ld-linux-ia64.so.2
Reading symbols from /lib/libthread_db.so.1...done.
Loaded symbols for /lib/libthread_db.so.1
#0  0x200000000014acc2 in kill () at soinit.c:64
64	soinit.c: No such file or directory.
	in soinit.c
(gdb) where
#0  0x200000000014acc2 in kill () at soinit.c:64
#1  0x200000000014ab70 in raise (sig=6) at ../sysdeps/posix/raise.c:27
#2  0x200000000014d3e0 in abort () at ../sysdeps/generic/abort.c:88
#3  0x4000000000304750 in ia64_dis_opcode ()
#4  0x40000000002fe8e0 in print_insn_ia64 ()
#5  0x400000000007b750 in print_frame_args ()
#6  0x200000000014ab70 in raise (sig=214984) at ../sysdeps/posix/raise.c:27
#7  0x40000000000752d0 in print_address_demangle ()
#8  0x60000000000347d8 in current_demangling_style ()
#9  0x200000000014ab70 in raise (sig=776) at ../sysdeps/posix/raise.c:27
#10 0x40000000003bf2e8 in _sch_toupper ()
#11 0x200000000014ab70 in raise (sig=1482640) at
../sysdeps/posix/raise.c:27
#12 0x6000000000020fc8 in floatformat_arm_ext ()
Can't fetch instructions for slot numbers greater than 2.
(gdb) q
bash-2.04$ uname -a
Linux angus 2.4.0-0.99.11smp #1 SMP Wed Jan 24 13:38:34 EST 2001 ia64
unknown
bash-2.04$ type gdb
gdb is hashed (/usr/bin/gdb)
bash-2.04$ ls -l /usr/bin/gdb
-rwxr-xr-x    1 root     root      4149304 Jan 22 05:47 /usr/bin/gdb
bash-2.04$ gdb --version
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".
bash-2.04$ rpm -qif /usr/bin/gdb
Name        : gdb                          Relocations: (not relocateable)
Version     : 5.0                               Vendor: Red Hat, Inc.
Release     : 13                            Build Date: Mon 22 Jan 2001
05:48:00 AM PST
Install date: Wed 21 Feb 2001 06:15:49 AM PST      Build Host:
boris.devel.redhat.com
Group       : Development/Debuggers         Source RPM: gdb-5.0-13.src.rpm
Size        : 4563783                          License: GPL
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Summary     : A GNU source-level debugger for C, C++ and Fortran.
Description :
Gdb is a full featured, command driven debugger. Gdb allows you to
trace the execution of programs and examine their internal state at
any time.  Gdb works for C and C++ compiled with the GNU C compiler
gcc.

If you are going to develop C and/or C++ programs and use the GNU gcc
compiler, you may want to install gdb to help you debug your
programs.
bash-2.04$ cat /etc/redhat-release
Red Hat Linux release 7.0.90 (Fisher)
bash-2.04$ $ cat foo.c
main()
{
	void *array[10];
	int const k = __ia64_backtrace(array, 10);
	return k;
}
bash-2.04$ gcc -o foo foo.c



Reproducible: Always
Steps to Reproduce:
1. Follow steps in Description, which is a copy+paste transcript
   with the incident first, and the supporting details later.
2.
3.
	

Actual Results:  Aborted (core dumped).

Expected Results:  Correct disassembly of instructions that the processor
accepts.

Comment 1 Trond Eivind Glomsrxd 2001-02-25 15:18:18 UTC
Can you try gdb-5.0rh-2 , currently/soon in Rawhide?

Comment 2 Glen Foster 2001-02-26 23:57:33 UTC
We (Red Hat) should really try to resolve this before next release.

Comment 3 Trond Eivind Glomsrxd 2001-02-27 02:36:01 UTC
This should be fixed in gdb-5.0rh-3, coming to Rawhide soonish. You can also
pick it up for some time from http://people.redhat.com/teg/ - please try and verify.


Comment 4 John Reiser 2001-02-27 04:04:41 UTC
The usr/bin/gdb in http://people.redhat.com/teg/gdb-5.0rh-3.ia64.rpm
now works correctly for me on the reported testcase above.

I looked in ftp://rawhide.redhat.com/pub/rawhide/ia64/RedHat/RPMS
but did not see any gdb-5.0rh* , not even rh-2 .
Is there another place that I should look for "Rawhide"?


Comment 5 Trond Eivind Glomsrxd 2001-02-27 04:20:08 UTC
Rawhide is usually pushed once a week (Friday), if the tree builds at that
time... it'll show up, eventually.