Wind River Support Network

HomeDefectsLIN6-6543
Not to be fixed

LIN6-6543 : libunwind didn't unwind the stack when invoked in a signal handler as expected

Created: Oct 31, 2013    Updated: Apr 19, 2018
Resolved Date: Apr 17, 2018
Found In Version: 6.0
Severity: Severe
Applicable for: Wind River Linux 6
Component/s: Workbench Integration

Description

The libunwind api which is used by application to report the binary stack addresses of a callchain at a certain program counter doesn't produce the expected results when invoked in a signal handler within the process for the board ti -66ak2hxx.  Instead, the unwind stops prematurely at the signal handler function.

Steps to Reproduce

/buildarea1/product/WRL60_LX23/wrlinux-6/wrlinux/configure --enable-rootfs=glibc_std --enable-kernel=standard --enable-board=ti-66ak2hxx --with-layer=/lpg-build/ysun0/wrll-analysis-tests/wr-tools-profile-test --enable-build=debug --with-package=mpatrol-tests,libunwind-tests;

Boot a target. 

Write a test application to use the libuwind api within a signal handler for SIG_USR1, then from main send a signal to the test apps process id.  Using gdb note that the unwinded array does not include main.
Live chat
Online