Bug 117028 - gdb can't unwind the stack across altstack signal handler boundary
gdb can't unwind the stack across altstack signal handler boundary
Status: CLOSED DUPLICATE of bug 117972
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: gdb (Show other bugs)
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Elena Zannoni
Jay Turner
Depends On:
  Show dependency treegraph
Reported: 2004-02-27 11:23 EST by Johan Walles
Modified: 2015-01-07 19:07 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-02-21 14:01:41 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Repro case. Break in handler() and do "bt" to get an incomplete stacktrace (1019 bytes, text/plain)
2004-02-27 11:24 EST, Johan Walles
no flags Details

  None (edit)
Description Johan Walles 2004-02-27 11:23:00 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624

Description of problem:
I'll attach a program that sets up an altstack signal handler for
SIGUSR1.  Gdb can't walk the stack across the signal handler boundary.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Build the test program I'll soon attach.
2. Start gdb.
3. Put a breakpoint in handler()
4. run


Actual Results:  johan@quark:~/src/test$ gdb -nx sigaltstack3
GNU gdb Red Hat Linux (6.0post-0.20031117.6rh)
Copyright 2003 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
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
This GDB was configured as "i386-redhat-linux-gnu"...Using host
libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) break handler
Breakpoint 1 at 0x804849e: file sigaltstack3.c, line 18.
(gdb) run
Starting program: /home/johan/src/test/sigaltstack3
main(): Hello
Program received signal SIGUSR1, User defined signal 1.
0xb75ebc32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
(gdb) c
Breakpoint 1, handler (sig=10, si=0xb6551c98, ctxt=0xb6551d18) at
18         printf("Signal handler: Hello\n");
(gdb) bt
#0  handler (sig=10, si=0xb6551c98, ctxt=0xb6551d18) at sigaltstack3.c:18
#1  <signal handler called>

Expected Results:  I expected to get a full stack trace, not just
covering the signal handler.

Additional info:
Comment 1 Johan Walles 2004-02-27 11:24:01 EST
Created attachment 98108 [details]
Repro case.  Break in handler() and do "bt" to get an incomplete stacktrace
Comment 2 Johan Walles 2004-03-02 03:36:49 EST
This is a regression.  I just tried the same test with a vanilla (i.e.
no Redhat patches) 5.3 and 6.0.

The test works fine with gdb-5.3, but fails with 6.0.
Comment 3 Andrew Cagney 2004-03-22 11:25:47 EST

*** This bug has been marked as a duplicate of 117972 ***
Comment 4 Red Hat Bugzilla 2006-02-21 14:01:41 EST
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.

Note You need to log in before you can comment on or make changes to this bug.