Bug 8204 - internal error: 'this' is not an aggregate
Summary: internal error: 'this' is not an aggregate
Status: RESOLVED INVALID
Alias: None
Product: gdb
Classification: Unclassified
Component: c++ (show other bugs)
Version: 5.3
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-27 16:38 UTC by beece
Modified: 2010-01-22 21:25 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description beece 2003-02-27 16:38:00 UTC
[Converted from Gnats 1099]

The problem is GDB does not understand how to display or otherwise
deal with the variables in my method.  The followin shows the
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");

Release:
gdb 5.3

Environment:
aix 4.3.3.0
Comment 1 Daniel Jacobowitz 2003-02-27 19:05:05 UTC
From: Daniel Jacobowitz <drow@mvista.com>
To: beece@us.ibm.com
Cc: gdb-gnats@sources.redhat.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@us.ibm.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
Comment 2 Tom Tromey 2010-01-22 21:25:43 UTC
7 years without a response.