gdb on ppc often remains stuck in call___do_global_ctors_aux

Bug #137312 reported by Matteo Settenvini
4
Affects Status Importance Assigned to Milestone
Cell GCC
Fix Released
High
Unassigned
gdb (Debian)
New
Unknown
gdb (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

I've a ppc64 machine (an iMac G5). Whenever I try to run gdb on a program, after having installed its dbgsym package, stepping with next causes sooner or later the output of the message:
"Single stepping until exit from function call___do_global_ctors_aux, which has no line number information."

If I try to use "step" instead of "next", cpu goes to 100% and I've to SIGINT the debugged program. This makes virtually impossible to debug something, if you don't want to set a breakpoint every other line and use "continue" to reach it.

Also other people seem to have hit this bug, in Debian:
http://<email address hidden>/msg367309.html

Or also:
http://www.cygwin.com/ml/gdb/2006-03/msg00224.html

I don't know if this can be related:
https://www.redhat.com/archives/fedora-cvs-commits/2006-December/msg01091.html
Unfortunately I'm quite in a hurry now.

---------- Example session: -----------

matteo@Dahlia:~/pulseaudio-0.9.6/src$ gdb pulseaudio
[...]
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) break main
Breakpoint 1 at 0x1000618c: file daemon/main.c, line 316.
(gdb) r
Starting program: /usr/bin/pulseaudio
[Thread debugging using libthread_db enabled]
[New Thread -134462368 (LWP 17533)]
[Switching to Thread -134462368 (LWP 17533)]

Breakpoint 1, main (argc=1, argv=0xffec8784) at daemon/main.c:316
warning: Source file is more recent than executable.
316
(gdb) n
329 struct timeval tv;
(gdb)
315 pa_mainloop *mainloop = NULL;
(gdb)
308 }
(gdb)
329 struct timeval tv;
(gdb)
308 }
(gdb)
315 pa_mainloop *mainloop = NULL;
(gdb)
316
(gdb)
321 int valid_pid_file = 0;
(gdb)
329 struct timeval tv;
(gdb)
0x10007a80 in call___do_global_ctors_aux ()
(gdb)
Single stepping until exit from function call___do_global_ctors_aux,
which has no line number information.
0xf7ff4cc4 in ?? () from /lib/ld.so.1
(gdb)
Cannot find bounds of current function
(gdb)
Cannot find bounds of current function

Related branches

CVE References

Revision history for this message
Matteo Settenvini (tchernobog) wrote :

Isn't anyone else experiencing this bug? I still can't use gdb on my PPC machine. Fortunately it isn't my main development platform, but I consider this bug a major problem nonetheless, which needs fixing.

Changed in gdb:
status: Unknown → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gdb - 6.7.1-2ubuntu1

---------------
gdb (6.7.1-2ubuntu1) hardy; urgency=low

  * Merge with Debian; remaining changes:
    - Do not depend on type-handling.
    - PIE support.
    - dwarf2-stack-boundry.diff - security fix for CVE-2006-4146.
  * Add patch from Ulrich Weigand to fix stepping over shared library
    functions on PowerPC (Closes: #432461). LP: #137312.

gdb (6.7.1-2) unstable; urgency=low

  * Add patch from Ulrich Weigand to fix stepping over shared library
  functions on PowerPC (Closes: #432461).
  * Add libgdb-dev package for fp-ide (Closes: #458250).
  * Avoid gcc-4.3 uninitialized warnings (Closes: #455669).
  * Updated Standards-Version to 3.7.3
    - Correct Apps -> Applications in gdb.menu.

 -- Matthias Klose <email address hidden> Mon, 14 Jan 2008 17:32:12 +0100

Changed in gdb:
status: New → Fix Released
Changed in gdb:
status: Fix Released → New
Revision history for this message
Dan Munckton (munckfish) wrote :

gdb version: 6.8-3ubuntu2

I believe this problem has reoccurred in Jaunty. Am trying to debug usplash on PS3/ppc64 and I'm continually running into

(gdb) next
0x0ff9b830 in call___do_global_ctors_aux () from /lib/libusplash.so.0
Current language: auto; currently asm
(gdb) next
Single stepping until exit from function call___do_global_ctors_aux,
which has no line number information.
0xf7fe3154 in ?? () from /lib/ld.so.1
(gdb) next
Cannot find bounds of current function
(gdb)

Re-opened this bug.

Changed in gdb:
status: Fix Released → New
Revision history for this message
Dan Munckton (munckfish) wrote :

The original patch by Ulrich Weigland appears to already be in the upstream source. So something else must be causing the problem.

Dan Munckton (munckfish)
Changed in ubuntu-ps3-port:
importance: Undecided → High
milestone: none → ubuntu-9.04
status: New → Confirmed
Revision history for this message
xteejx (xteejx-deactivatedaccount) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. You reported this bug a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue for you. Can you try with the latest Ubuntu release? Thanks in advance.

Changed in gdb (Ubuntu):
status: New → Incomplete
Revision history for this message
Matteo Settenvini (tchernobog) wrote :

Seems okay for me with gdb version 6.8-3ubuntu2 (jaunty).

Revision history for this message
xteejx (xteejx-deactivatedaccount) wrote :

Thanks for updating us with that info, marking Fix Released.

Changed in gdb (Ubuntu):
status: Incomplete → Fix Released
Revision history for this message
Arya Irani (arya-irani) wrote :

I'm having this problem with gdb version 6.8-3ubuntu2 (karmic) ppc+ps3

Thanks,
Arya

Revision history for this message
xteejx (xteejx-deactivatedaccount) wrote :

Are you able to find out if this affects Karmic 9.10 on the PowerPC/PS3 please? Thank you.

Changed in ubuntu-ps3-port:
status: Confirmed → Incomplete
Revision history for this message
Arya Irani (arya-irani) wrote : Re: [Bug 137312] Re: gdb on ppc often remains stuck in call___do_global_ctors_aux

Sorry, I don't have a linux-compatible PS3 anymore...

On Sun, Jan 10, 2010 at 10:41 AM, Teej <email address hidden> wrote:

> Are you able to find out if this affects Karmic 9.10 on the PowerPC/PS3
> please? Thank you.
>
> ** Changed in: ubuntu-ps3-port
> Status: Confirmed => Incomplete
>
> --
> gdb on ppc often remains stuck in call___do_global_ctors_aux
> https://bugs.launchpad.net/bugs/137312
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in Ubuntu PS3 Port: Incomplete
> Status in “gdb” package in Ubuntu: Fix Released
> Status in “gdb” package in Debian: New
>
> Bug description:
> I've a ppc64 machine (an iMac G5). Whenever I try to run gdb on a program,
> after having installed its dbgsym package, stepping with next causes sooner
> or later the output of the message:
> "Single stepping until exit from function call___do_global_ctors_aux, which
> has no line number information."
>
> If I try to use "step" instead of "next", cpu goes to 100% and I've to
> SIGINT the debugged program. This makes virtually impossible to debug
> something, if you don't want to set a breakpoint every other line and use
> "continue" to reach it.
>
> Also other people seem to have hit this bug, in Debian:
>
> http://<email address hidden>/msg367309.html
>
> Or also:
> http://www.cygwin.com/ml/gdb/2006-03/msg00224.html
>
> I don't know if this can be related:
>
> https://www.redhat.com/archives/fedora-cvs-commits/2006-December/msg01091.html
> Unfortunately I'm quite in a hurry now.
>
> ---------- Example session: -----------
>
> matteo@Dahlia:~/pulseaudio-0.9.6/src$ gdb pulseaudio
> [...]
> Using host libthread_db library "/lib/libthread_db.so.1".
> (gdb) break main
> Breakpoint 1 at 0x1000618c: file daemon/main.c, line 316.
> (gdb) r
> Starting program: /usr/bin/pulseaudio
> [Thread debugging using libthread_db enabled]
> [New Thread -134462368 (LWP 17533)]
> [Switching to Thread -134462368 (LWP 17533)]
>
> Breakpoint 1, main (argc=1, argv=0xffec8784) at daemon/main.c:316
> warning: Source file is more recent than executable.
> 316
> (gdb) n
> 329 struct timeval tv;
> (gdb)
> 315 pa_mainloop *mainloop = NULL;
> (gdb)
> 308 }
> (gdb)
> 329 struct timeval tv;
> (gdb)
> 308 }
> (gdb)
> 315 pa_mainloop *mainloop = NULL;
> (gdb)
> 316
> (gdb)
> 321 int valid_pid_file = 0;
> (gdb)
> 329 struct timeval tv;
> (gdb)
> 0x10007a80 in call___do_global_ctors_aux ()
> (gdb)
> Single stepping until exit from function call___do_global_ctors_aux,
> which has no line number information.
> 0xf7ff4cc4 in ?? () from /lib/ld.so.1
> (gdb)
> Cannot find bounds of current function
> (gdb)
> Cannot find bounds of current function
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/ubuntu-ps3-port/+bug/137312/+subscribe
>

Revision history for this message
Matteo Settenvini (tchernobog) wrote :

Seems solved for me on Karmic 9.10 on my iMac G5 (PPC w/ 64-bit kernel).

Changed in ubuntu-ps3-port:
status: Incomplete → Fix Released
affects: ubuntu-ps3-port → cell-gcc
Changed in cell-gcc:
milestone: ubuntu-9.04 → none
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.