• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
GDB internal error when setting some breakpoints in C++ shared library
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GDB internal error when setting some breakpoints in C++ shared library


  • Subject: GDB internal error when setting some breakpoints in C++ shared library
  • From: "James Larcombe" <email@hidden>
  • Date: Wed, 8 Feb 2006 12:20:47 -0000

Our application is built from a number of static libraries, all written in
C++. I've been having consistent problems when setting certain breakpoints
in Xcode. The application quits without warning shortly after the breakpoint
is set and Xcode reports that "the program has quit with exit type 1 but the
debugger is still running".

In an attempt to get a reproducable case to submit a bug report, I tried
debugging with GDB from the command line. This gave the following error:

/SourceCache/gdb/gdb-437/src/gdb/gdbtypes.c:600: internal-error: make_cv_type: Assertion `TYPE_OBJFILE (*typeptr) == TYPE_OBJFILE (type) || (TYPE_STUB (*typeptr) || TYPE_IS_OPAQUE (*typeptr))' failed.

This happens consistently on every method of some of my classes, but other
classes work fine.

Googling this error threw up a couple of interesting messages from Apple's
Jim Ingham - see

http://lists.apple.com/archives/xcode-users/2005/Feb/msg00006.html
and
http://sources.redhat.com/ml/gdb-patches/2004-05/msg00397.html

The first of these suggests that the problem is related to the use of
forward declarations in some way, so I made a simple project that used a
forward declaration to a type in a static library, but unfortunately I was
able to debug this with no problems.

My question is: does anyone have any further insight into this problem that
would help me to work out how to reproduce it in a minimal case?

I turned on the GDB log from Xcode and while I don't want to post the whole
thing to a public forum perhaps the bits at the end are useful?

# Enqueue seq in Interrupt Handler Q: <PBXGDB_NewBreakpointSequence: 0x17558f40> t=186.378101 Tepoch=1139400369.993695
# Initiating interrupt t=186.378169 Tepoch=1139400369.993763
-> 0-exec-interrupt
<- 0^done
# processing result t=186.390732 Tepoch=1139400370.006326
<- 174*stopped,reason="signal-received",signal-name="SIGINT",signal-meaning="Interrupt",thread-id="1"
# processing result t=186.391172 Tepoch=1139400370.006766
# Start interrupt handling t=186.391214 Tepoch=1139400370.006808
# Executing Sequence: <PBXGDB_NewBreakpointSequence: 0x17558f40> t=186.391261 Tepoch=1139400370.006855
# Passed verification of state before break create command t=186.391840 Tepoch=1139400370.007434
-> 175-break-insert -f "\"MyClass.cpp:1314\""
# PBXGDB_MICreateFileBreakpointCommand t=186.391909 Tepoch=1139400370.007503
<- (gdb)


Note that this problem occurs when the breakpoint is set, not when it is hit
(it never gets that far), although I'm also having debugger crashes when
hitting breakpoints that do get set correctly (and with the 'pause' button).

This is obviously a major impediment to my work at the moment, so I'm keen
to work out what's going wrong as quickly as possible.

James

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Prev by Date: Re: Strip -- and hack/crack security
  • Next by Date: Asynchronous Unit testing
  • Previous by thread: Re: RTTI and exceptions between plugins (solution)
  • Next by thread: Asynchronous Unit testing
  • Index(es):
    • Date
    • Thread