Bug 15757 - on x86_64, 32-bit user backtraces truncated
Summary: on x86_64, 32-bit user backtraces truncated
Status: NEW
Alias: None
Product: systemtap
Classification: Unclassified
Component: runtime (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-19 16:14 UTC by David Smith
Modified: 2017-10-11 10:48 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 David Smith 2013-07-19 16:14:49 UTC
On x86_64 RHEL6 (2.6.32-358.6.1.el6.x86_64), there are 296 passes and 80 failures in the systemtap.exelib/exelib.exp testcase. Here are the failures:

====
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-debug_uprobeslibgcc-O3-m32-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-sep-debug_uprobeslibgcc-O3-m32-sep-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-prelink-debug_uprobeslibgcc-O3-m32-prelink-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug_uprobeslibgcc-O3-m32-prelink-sep-debug lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after main (0)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after main (0)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after lib_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after main_func (2)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after lib_main (0)
FAIL: ustack-uprobesgcc-O3-m32-pie-sep-debug-uprobeslibgcc-O3-m32-prelink-sep-debug-after_uprobeslibgcc-O3-m32-prelink-sep-debug-after lib_func (2)
====

In reality, there is really only one type of failure being pointed out here, the fact that 32-on-64-bit executables have short user backtraces. The failures are magnified because the test executable gets compiled lots of different ways - different levels of optimization, with/without prelink, etc.

From the systemtap.log file for a 64-bit executable:

====
 0x4005f0 : main_func+0x0/0x50 [...suite/uprobesgcc-O3-m64-debug-uprobeslibgcc-O3-m64-debug_exe]
 0x400658 : main+0x18/0x30 [...suite/uprobesgcc-O3-m64-debug-uprobeslibgcc-O3-m64-debug_exe]
 0x381081ecdd : __libc_start_main+0xfd/0x1d0 [/lib64/libc-2.12.so]
 0x400529 : _start+0x29/0x2c [...suite/uprobesgcc-O3-m64-debug-uprobeslibgcc-O3-m64-debug_exe]
====

Here's the same backtrace, but for a 32-on-64-bit version of that executable:

====
 0x80484c0 : main_func+0x0/0x50 [...suite/uprobesgcc-O3-m32-debug-uprobeslibgcc-O3-m32-debug_exe]
====

The test script (in systemtap.exelib/libmarkunamestack.stp) calls       print_ubacktrace().

On x86_64 rawhide (3.11.0-0.rc0.git7.1.fc20.x86_64), this test passes completely.
Comment 1 Lukas Berk 2013-08-03 00:29:05 UTC
Commit 03207fd4bbaeca3120ab8f3bfb097d30ed753dd6 fixes this for x86_64, however the same issue is found on ppc64.