[Bug 1325503] [NEW] gdb reports 'corrupt stack' on armhf

Jean-Baptiste Lallement jean-baptiste.lallement at ubuntu.com
Mon Jun 2 09:14:18 UTC 2014


Public bug reported:

On armhf crash files fail to retrace and gdb reports 'corrupt stack'
errors

For example bug 1323241
Thread 1 (Thread 0xb0b3b450 (LWP 2243)):
#0  0x00000030 in ?? ()
No symbol table info available.
#1  0xa9990cbe in ?? () from /usr/lib/arm-linux-gnueabihf/unity8/qml/Unity/Launcher/libUnityLauncher-qml.so
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

I also tried directly on the device to run an unstripped and stripped
build of cat and gdb fails to unwind the stack when the binary is
stripped. The result of this test is:

== unstripped ==
Reading symbols from ./cat...done.
(gdb) run
Starting program: /home/phablet/tmp/coreutils-8.21/src/cat
^C
Program received signal SIGINT, Interrupt.
0xb6f6e914 in read () from /lib/arm-linux-gnueabihf/libc.so.6
(gdb) bt
#0  0xb6f6e914 in read () from /lib/arm-linux-gnueabihf/libc.so.6
#1  0x0000b648 in read (__nbytes=65536, __buf=0x19000, __fd=0) at /usr/include/arm-linux-gnueabihf/bits/unistd.h:44
#2  safe_read (fd=0, buf=buf at entry=0x19000, count=count at entry=65536) at lib/safe-read.c:66
#3  0x00009ace in simple_cat (bufsize=65536, buf=0x19000 "") at src/cat.c:168
#4  main (argc=1, argv=<optimized out>) at src/cat.c:730
(gdb) quit

== stripped ==
Reading symbols from ./cat...(no debugging symbols found)...done.
(gdb) run
Starting program: /home/phablet/tmp/coreutils-8.21/src/cat
^C
Program received signal SIGINT, Interrupt.
0xb6f6e914 in read () from /lib/arm-linux-gnueabihf/libc.so.6
(gdb) bt
#0  0xb6f6e914 in read () from /lib/arm-linux-gnueabihf/libc.so.6
#1  0x0000b648 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

I'd expect the same number of frames and addresses when the binary is
stripped or not with '??' instead of names when it is stripped.

ProblemType: Bug
DistroRelease: Ubuntu 14.10
Package: gdb (not installed)
Uname: Linux 3.4.0-5-mako armv7l
ApportVersion: 2.14.3-0ubuntu1
Architecture: armhf
Date: Mon Jun  2 11:07:07 2014
InstallationDate: Installed on 2014-06-02 (0 days ago)
InstallationMedia: Ubuntu Utopic Unicorn (development branch) - armhf (20140602)
SourcePackage: gdb
UpgradeStatus: No upgrade log present (probably fresh install)

** Affects: gdb (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: apport-bug armhf utopic

** Description changed:

- On armhf crash files fails to retrace and gdb report 'corrupt stack'
+ On armhf crash files fail to retrace and gdb reports 'corrupt stack'
  errors
  
  For example bug 1323241
  Thread 1 (Thread 0xb0b3b450 (LWP 2243)):
  #0  0x00000030 in ?? ()
  No symbol table info available.
  #1  0xa9990cbe in ?? () from /usr/lib/arm-linux-gnueabihf/unity8/qml/Unity/Launcher/libUnityLauncher-qml.so
  No symbol table info available.
  Backtrace stopped: previous frame identical to this frame (corrupt stack?)
  
  I also tried directly on the device to run an unstripped and stripped
  build of cat and gdb fails to unwind the stack when the binary is
  stripped. The result of this test is:
  
  == unstripped ==
  Reading symbols from ./cat...done.
  (gdb) run
- Starting program: /home/phablet/tmp/coreutils-8.21/src/cat 
+ Starting program: /home/phablet/tmp/coreutils-8.21/src/cat
  ^C
  Program received signal SIGINT, Interrupt.
  0xb6f6e914 in read () from /lib/arm-linux-gnueabihf/libc.so.6
  (gdb) bt
  #0  0xb6f6e914 in read () from /lib/arm-linux-gnueabihf/libc.so.6
  #1  0x0000b648 in read (__nbytes=65536, __buf=0x19000, __fd=0) at /usr/include/arm-linux-gnueabihf/bits/unistd.h:44
  #2  safe_read (fd=0, buf=buf at entry=0x19000, count=count at entry=65536) at lib/safe-read.c:66
  #3  0x00009ace in simple_cat (bufsize=65536, buf=0x19000 "") at src/cat.c:168
  #4  main (argc=1, argv=<optimized out>) at src/cat.c:730
  (gdb) quit
  
  == stripped ==
  Reading symbols from ./cat...(no debugging symbols found)...done.
  (gdb) run
- Starting program: /home/phablet/tmp/coreutils-8.21/src/cat 
+ Starting program: /home/phablet/tmp/coreutils-8.21/src/cat
  ^C
  Program received signal SIGINT, Interrupt.
  0xb6f6e914 in read () from /lib/arm-linux-gnueabihf/libc.so.6
  (gdb) bt
  #0  0xb6f6e914 in read () from /lib/arm-linux-gnueabihf/libc.so.6
  #1  0x0000b648 in ?? ()
  Backtrace stopped: previous frame identical to this frame (corrupt stack?)
  
- 
- I'd expect the same number of frames and addresses when the binary is stripped or not with '??' instead of names when it is stripped.
+ I'd expect the same number of frames and addresses when the binary is
+ stripped or not with '??' instead of names when it is stripped.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 14.10
  Package: gdb (not installed)
  Uname: Linux 3.4.0-5-mako armv7l
  ApportVersion: 2.14.3-0ubuntu1
  Architecture: armhf
  Date: Mon Jun  2 11:07:07 2014
  InstallationDate: Installed on 2014-06-02 (0 days ago)
  InstallationMedia: Ubuntu Utopic Unicorn (development branch) - armhf (20140602)
  SourcePackage: gdb
  UpgradeStatus: No upgrade log present (probably fresh install)

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gdb in Ubuntu.
https://bugs.launchpad.net/bugs/1325503

Title:
  gdb reports 'corrupt stack' on armhf

Status in “gdb” package in Ubuntu:
  New

Bug description:
  On armhf crash files fail to retrace and gdb reports 'corrupt stack'
  errors

  For example bug 1323241
  Thread 1 (Thread 0xb0b3b450 (LWP 2243)):
  #0  0x00000030 in ?? ()
  No symbol table info available.
  #1  0xa9990cbe in ?? () from /usr/lib/arm-linux-gnueabihf/unity8/qml/Unity/Launcher/libUnityLauncher-qml.so
  No symbol table info available.
  Backtrace stopped: previous frame identical to this frame (corrupt stack?)

  I also tried directly on the device to run an unstripped and stripped
  build of cat and gdb fails to unwind the stack when the binary is
  stripped. The result of this test is:

  == unstripped ==
  Reading symbols from ./cat...done.
  (gdb) run
  Starting program: /home/phablet/tmp/coreutils-8.21/src/cat
  ^C
  Program received signal SIGINT, Interrupt.
  0xb6f6e914 in read () from /lib/arm-linux-gnueabihf/libc.so.6
  (gdb) bt
  #0  0xb6f6e914 in read () from /lib/arm-linux-gnueabihf/libc.so.6
  #1  0x0000b648 in read (__nbytes=65536, __buf=0x19000, __fd=0) at /usr/include/arm-linux-gnueabihf/bits/unistd.h:44
  #2  safe_read (fd=0, buf=buf at entry=0x19000, count=count at entry=65536) at lib/safe-read.c:66
  #3  0x00009ace in simple_cat (bufsize=65536, buf=0x19000 "") at src/cat.c:168
  #4  main (argc=1, argv=<optimized out>) at src/cat.c:730
  (gdb) quit

  == stripped ==
  Reading symbols from ./cat...(no debugging symbols found)...done.
  (gdb) run
  Starting program: /home/phablet/tmp/coreutils-8.21/src/cat
  ^C
  Program received signal SIGINT, Interrupt.
  0xb6f6e914 in read () from /lib/arm-linux-gnueabihf/libc.so.6
  (gdb) bt
  #0  0xb6f6e914 in read () from /lib/arm-linux-gnueabihf/libc.so.6
  #1  0x0000b648 in ?? ()
  Backtrace stopped: previous frame identical to this frame (corrupt stack?)

  I'd expect the same number of frames and addresses when the binary is
  stripped or not with '??' instead of names when it is stripped.

  ProblemType: Bug
  DistroRelease: Ubuntu 14.10
  Package: gdb (not installed)
  Uname: Linux 3.4.0-5-mako armv7l
  ApportVersion: 2.14.3-0ubuntu1
  Architecture: armhf
  Date: Mon Jun  2 11:07:07 2014
  InstallationDate: Installed on 2014-06-02 (0 days ago)
  InstallationMedia: Ubuntu Utopic Unicorn (development branch) - armhf (20140602)
  SourcePackage: gdb
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/1325503/+subscriptions



More information about the foundations-bugs mailing list