Bug 137904

Summary: gdb/dwarf2read.c:4969: internal-error: could not find partial DIE in cache
Product: Red Hat Enterprise Linux 3 Reporter: Mads Kiilerich <mki>
Component: gdbAssignee: Jeff Johnston <jjohnstn>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 3.0CC: avi, cagney, jjohnstn, oyvind.harboe
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2005-675 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-09-28 16:47:45 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: 156320, 164318    

Description Mads Kiilerich 2004-11-02 18:11:10 UTC
Description of problem:
When starting gdb on some binaries gdb crashes.

The binaries are proprietary unstripped 50-200 Mb binaries, compiled
with gcc-3.3.4 and binutils-2.13 build-from-scratch. There is no
problem executing the binaries. Other similar binaries from same setup
can be loaded in gdb without problems; we see no pattern.  When
stripped the binaries can be loaded in gdb without problems. 

There is no problem with 
GNU gdb Red Hat Linux (6.0post-0.20040223.20rh)



Version-Release number of selected component (if applicable):
gdb-6.1post-1.20040607.17

How reproducible:
Every time

Steps to Reproduce:
1. gdb foo
  
Actual results:
GNU gdb Red Hat Linux (6.1post-1.20040607.17rh)
Copyright 2004 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 "i386-redhat-linux-gnu"...
/usr/src/build/427038-i386/BUILD/gdb+dejagnu-20040607/gdb/dwarf2read.c:4969:
internal-error: could not find partial DIE in cache

A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)

/usr/src/build/427038-i386/BUILD/gdb+dejagnu-20040607/gdb/dwarf2read.c:4969:
internal-error: could not find partial DIE in cache

A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n)


Expected results:
GNU gdb Red Hat Linux (6.1post-1.20040607.17rh)
Copyright 2004 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 "i386-redhat-linux-gnu"...Using host
libthread_db library "/lib/tls/libthread_db.so.1".

(gdb)

Additional info:

Comment 1 Øyvind Harboe 2005-01-19 20:56:31 UTC
Can anyone reproduce the problem with this program?

- Compile with:

$ gcc -g -O3 foo.c

- Launch GDB

$ gdb foo

Error message:

dwarf2read.c:4973: internal-error: could not find partial DIE in cache






int foobar (void)
{
  return sillysilly(1);
}

int main (void)
{

  return foobar ();
}

int sillysilly(int x)
{
	return 1;
}


Comment 2 Avi Kivity 2005-04-30 21:02:22 UTC
I have the same error with gdb-6.3.0.0-1.15 (from fedora-devel) on i386, while 
looking at a core from thunderbird-1.0.2-1: 
 
[avi@firebolt ~]$ 
gdb /usr/lib/thunderbird-1.0.2/thunderbird-bin ./thunderbird-bin-332.core 
GNU gdb Red Hat Linux (6.3.0.0-1.15rh) 
Copyright 2004 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 "i386-redhat-linux-gnu"...Using host libthread_db 
library "/lib/libthread_db.so.1". 
 
Core was generated by `/usr/lib/thunderbird-1.0.2/thunderbird-bin'. 
Program terminated with signal 11, Segmentation fault. 
Reading symbols from /usr/lib/thunderbird-1.0.2/libmozjs.so...Reading symbols 
from /usr/lib/debug/usr/lib/thunderbird-1.0.2/libmozjs.so.debug...done. 
done. 
Loaded symbols for /usr/lib/thunderbird-1.0.2/libmozjs.so 
Reading symbols from /usr/lib/libgtk-x11-2.0.so.0...done. 
Loaded symbols for /usr/lib/libgtk-x11-2.0.so.0 
Reading symbols from /usr/lib/libgdk-x11-2.0.so.0...done. 
Loaded symbols for /usr/lib/libgdk-x11-2.0.so.0 
Reading symbols from /usr/lib/libatk-1.0.so.0...done. 
Loaded symbols for /usr/lib/libatk-1.0.so.0 
Reading symbols from /usr/lib/libgdk_pixbuf-2.0.so.0...done. 
Loaded symbols for /usr/lib/libgdk_pixbuf-2.0.so.0 
Reading symbols from /usr/lib/libpangoxft-1.0.so.0...done. 
Loaded symbols for /usr/lib/libpangoxft-1.0.so.0 
Reading symbols from /usr/lib/libpangox-1.0.so.0...done. 
Loaded symbols for /usr/lib/libpangox-1.0.so.0 
Reading symbols from /usr/lib/libpango-1.0.so.0...done. 
Loaded symbols for /usr/lib/libpango-1.0.so.0 
Reading symbols from /usr/lib/libgobject-2.0.so.0...done. 
Loaded symbols for /usr/lib/libgobject-2.0.so.0 
Reading symbols from /usr/lib/libgmodule-2.0.so.0...done. 
Loaded symbols for /usr/lib/libgmodule-2.0.so.0 
Reading symbols from /lib/libdl.so.2...done. 
Loaded symbols for /lib/libdl.so.2 
Reading symbols from /usr/lib/libglib-2.0.so.0...done. 
Loaded symbols for /usr/lib/libglib-2.0.so.0 
Reading symbols from /usr/lib/thunderbird-1.0.2/libxpcom.so...Reading symbols 
from /usr/lib/debug/usr/lib/thunderbird-1.0.2/libxpcom.so.debug...done. 
done. 
Loaded symbols for /usr/lib/thunderbird-1.0.2/libxpcom.so 
Reading symbols from /usr/lib/thunderbird-1.0.2/libplds4.so...Reading symbols 
from /usr/lib/debug/usr/lib/thunderbird-1.0.2/libplds4.so.debug...done. 
done. 
Loaded symbols for /usr/lib/thunderbird-1.0.2/libplds4.so 
Reading symbols from /usr/lib/thunderbird-1.0.2/libplc4.so...Reading symbols 
from /usr/lib/debug/usr/lib/thunderbird-1.0.2/libplc4.so.debug...done. 
done. 
Loaded symbols for /usr/lib/thunderbird-1.0.2/libplc4.so 
Reading symbols from /usr/lib/thunderbird-1.0.2/libnspr4.so...Reading symbols 
from /usr/lib/debug/usr/lib/thunderbird-1.0.2/libnspr4.so.debug...done. 
done. 
Loaded symbols for /usr/lib/thunderbird-1.0.2/libnspr4.so 
Reading symbols from /lib/libpthread.so.0...done. 
Loaded symbols for /lib/libpthread.so.0 
Reading symbols from /usr/X11R6/lib/libX11.so.6...done. 
Loaded symbols for /usr/X11R6/lib/libX11.so.6 
Reading symbols from /usr/lib/libpangoft2-1.0.so.0...done. 
Loaded symbols for /usr/lib/libpangoft2-1.0.so.0 
Reading symbols from /lib/libm.so.6...done. 
Loaded symbols for /lib/libm.so.6 
Reading symbols from /usr/lib/libstdc++.so.6...done. 
Loaded symbols for /usr/lib/libstdc++.so.6 
Reading symbols from /lib/libgcc_s.so.1...done. 
Loaded symbols for /lib/libgcc_s.so.1 
Reading symbols from /lib/libc.so.6...done. 
Loaded symbols for /lib/libc.so.6 
Reading symbols from /usr/X11R6/lib/libXrandr.so.2...done. 
Loaded symbols for /usr/X11R6/lib/libXrandr.so.2 
Reading symbols from /usr/X11R6/lib/libXi.so.6...done. 
Loaded symbols for /usr/X11R6/lib/libXi.so.6 
Reading symbols from /usr/X11R6/lib/libXinerama.so.1...done. 
Loaded symbols for /usr/X11R6/lib/libXinerama.so.1 
Reading symbols from /usr/X11R6/lib/libXft.so.2...done. 
Loaded symbols for /usr/X11R6/lib/libXft.so.2 
Reading symbols from /usr/lib/libfreetype.so.6...done. 
Loaded symbols for /usr/lib/libfreetype.so.6 
Reading symbols from /usr/lib/libfontconfig.so.1...done. 
Loaded symbols for /usr/lib/libfontconfig.so.1 
Reading symbols from /usr/X11R6/lib/libXfixes.so.3...done. 
Loaded symbols for /usr/X11R6/lib/libXfixes.so.3 
Reading symbols from /usr/X11R6/lib/libXcursor.so.1...done. 
Loaded symbols for /usr/X11R6/lib/libXcursor.so.1 
Reading symbols from /usr/X11R6/lib/libXrender.so.1...done. 
Loaded symbols for /usr/X11R6/lib/libXrender.so.1 
Reading symbols from /usr/X11R6/lib/libXext.so.6...done. 
Loaded symbols for /usr/X11R6/lib/libXext.so.6 
Reading symbols from /lib/ld-linux.so.2...done. 
Loaded symbols for /lib/ld-linux.so.2 
Reading symbols from /usr/lib/libz.so.1...done. 
Loaded symbols for /usr/lib/libz.so.1 
Reading symbols from /usr/lib/libexpat.so.0...done. 
Loaded symbols for /usr/lib/libexpat.so.0 
Reading symbols 
from /usr/X11R6/lib/X11/locale/lib/common/xlcUTF8Load.so.2...done. 
Loaded symbols for /usr/X11R6/lib/X11/locale/lib/common/xlcUTF8Load.so.2 
Reading symbols from /usr/lib/gconv/ISO8859-1.so...done. 
Loaded symbols for /usr/lib/gconv/ISO8859-1.so 
Reading symbols from /usr/lib/gconv/UTF-16.so...done. 
Loaded symbols for /usr/lib/gconv/UTF-16.so 
Reading symbols from /lib/libnss_files.so.2...done. 
Loaded symbols for /lib/libnss_files.so.2 
Reading symbols 
from /usr/lib/thunderbird-1.0.2/components/libnsappshell.so...Reading symbols 
from /usr/lib/debug/usr/lib/thunderbird-1.0.2/components/libnsappshell.so.debug...done. 
done. 
Loaded symbols for /usr/lib/thunderbird-1.0.2/components/libnsappshell.so 
Reading symbols from /usr/lib/thunderbird-1.0.2/libgkgfx.so...Reading symbols 
from /usr/lib/debug/usr/lib/thunderbird-1.0.2/libgkgfx.so.debug...done. 
done. 
Loaded symbols for /usr/lib/thunderbird-1.0.2/libgkgfx.so 
Reading symbols from /usr/lib/thunderbird-1.0.2/libgtkxtbin.so...Reading 
symbols 
from /usr/lib/debug/usr/lib/thunderbird-1.0.2/libgtkxtbin.so.debug...done. 
done. 
Loaded symbols for /usr/lib/thunderbird-1.0.2/libgtkxtbin.so 
Reading symbols from /usr/X11R6/lib/libXt.so.6...done. 
Loaded symbols for /usr/X11R6/lib/libXt.so.6 
Reading symbols from /usr/X11R6/lib/libSM.so.6...done. 
Loaded symbols for /usr/X11R6/lib/libSM.so.6 
Reading symbols from /usr/X11R6/lib/libICE.so.6...done. 
Loaded symbols for /usr/X11R6/lib/libICE.so.6 
Reading symbols 
from /usr/lib/thunderbird-1.0.2/components/libwidget_gtk2.so...Reading symbols 
from /usr/lib/debug/usr/lib/thunderbird-1.0.2/components/libwidget_gtk2.so.debug...done. 
done. 
Loaded symbols for /usr/lib/thunderbird-1.0.2/components/libwidget_gtk2.so 
Reading symbols 
from /usr/lib/thunderbird-1.0.2/components/libembedcomponents.so...Reading 
symbols 
from /usr/lib/debug/usr/lib/thunderbird-1.0.2/components/libembedcomponents.so.debug...done. 
done. 
Loaded symbols for /usr/lib/thunderbird-1.0.2/components/libembedcomponents.so 
Reading symbols 
from /usr/lib/thunderbird-1.0.2/components/libxpconnect.so...Reading symbols 
from /usr/lib/debug/usr/lib/thunderbird-1.0.2/components/libxpconnect.so.debug...../../gdb-6.3/gdb/dwarf2read.c:5446: 
internal-error: could not find partial DIE in cache 
 
A problem internal to GDB has been detected, 
further debugging may prove unreliable. 
Quit this debugging session? (y or n)   

Comment 3 Jeff Johnston 2005-05-03 23:02:48 UTC
A recent FSF patch regarding this problem has been applied to gdb 6.3.0.0-1.19.
 Please try this out and verify if it fixes your scenario.

Comment 5 Mads Kiilerich 2005-08-05 15:38:24 UTC
I can confirm that the reported problem disappears after building and installing
gdb-6.3.0.0-1.57.src.rpm

The problem remains however with the latest official RHEL3 packages:

GNU gdb Red Hat Linux (6.3.0.0-0.30.1rh)
Copyright 2004 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 "i386-redhat-linux-gnu"...
../../gdb-6.3/gdb/dwarf2read.c:5446: internal-error: could not find partial DIE
in cache

Comment 7 Red Hat Bugzilla 2005-09-28 16:47:45 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2005-675.html