This is the mail archive of the gdb-prs@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c++/1099: internal error: 'this' is not an aggregate


The following reply was made to PR c++/1099; it has been noted by GNATS.

From: Daniel Jacobowitz <drow at mvista dot com>
To: beece at us dot ibm dot com
Cc: gdb-gnats at sources dot redhat dot com
Subject: Re: c++/1099: internal error: 'this' is not an aggregate
Date: Thu, 27 Feb 2003 14:05:05 -0500

 On Thu, Feb 27, 2003 at 04:28:16PM -0000, beece at us dot ibm dot com wrote:
 > 
 > >Number:         1099
 > >Category:       c++
 > >Synopsis:       internal error: 'this' is not an aggregate
 > >Confidential:   no
 > >Severity:       serious
 > >Priority:       medium
 > >Responsible:    unassigned
 > >State:          open
 > >Class:          support
 > >Submitter-Id:   net
 > >Arrival-Date:   Thu Feb 27 16:38:00 UTC 2003
 > >Closed-Date:
 > >Last-Modified:
 > >Originator:     Daniel Beece
 > >Release:        gdb 5.3
 > >Organization:
 > >Environment:
 > aix 4.3.3.0 
 > >Description:
 > The problem is GDB does not understand how to display or otherwise
 > deal with the variables in my method.  The followin shows the
 
 OK, you're using AIX - what's the C++ compiler involved?  Is it GCC,
 and if so what version?
 
 > behavior:
 > ---------
 > GNU gdb 5.3
 > Copyright 2002 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 "powerpc-ibm-aix4.3.3.0"...(no debugging symbols found)...
 > (gdb) attach 33676
 > Attaching to program: ~beece/eclipz/testing/test2/run/myprog, process 33676
 > (no debugging symbols found)...0xd0011c9c in _pthread_ksleep ()
 >    from /usr/lib/libpthreads.a(shr_xpg5.o)
 > (gdb) source mysim.gdb
 > (gdb) n
 > Single stepping until exit from function _pthread_ksleep, 
 > which has no line number information.
 > 0xd00120fc in _pthread_event_wait () from /usr/lib/libpthreads.a(shr_xpg5.o)
 > (gdb) n
 > Single stepping until exit from function _pthread_event_wait, 
 > which has no line number information.
 > 0xd000e0ec in _cond_wait_local () from /usr/lib/libpthreads.a(shr_xpg5.o)
 > Breakpoint 1 at 0x3106380c: file /afs/apd.pok.ibm.com/u/beece/eclipz/testing/test2/bld/../src/virtadrsp.C, line 29.
 > (gdb) n
 > Single stepping until exit from function _cond_wait_local, 
 > which has no line number information.
 > 
 > Breakpoint 1, VirtAdrSpace::__ct (this=0x30e5672c, spname=<incomplete type>, type_id=2)
 >     at /afs/apd.pok.ibm.com/u/beece/eclipz/testing/test2/bld/../src/virtadrsp.C:29
 > Current language:  auto; currently c++
 > (gdb) n
 > (gdb) print   orunused_std_bits = false;
 > Internal error: `this' is not an aggregate
 > (gdb) 
 > 
 > -----------------
 > 
 > The following is the code snippet where I'm trying to display
 > the variable:
 > 
 >   ...
 > VirtAdrSpace::VirtAdrSpace( string spname, int type_id ) : AdrSpace( type_id ), AdrListHandler( 40 ), Alet() {   // 10 list to start with
 > 
 >   orunused_std_bits = false;
 >   cs_num_cc_used = NULL;
 >   ... 
 > 
 > --------------------------
 > 
 > A grep on the source directory for this message shows it appears 
 > in valops.c about line 3014:
 > 
 >   if (TYPE_CODE (t) != TYPE_CODE_STRUCT
 >       && TYPE_CODE (t) != TYPE_CODE_UNION)
 >     error ("Internal error: `this' is not an aggregate");
 
 Could you show me the output of "ptype this" at the same point in the
 execution?  i.e. where you got the internal error above.
 
 -- 
 Daniel Jacobowitz
 MontaVista Software                         Debian GNU/Linux Developer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]