Tool/software: Linux
Hi community,
I develop a multithreaded application on arm platform ( TI AM335X (3359) ) and I got an issue with debugging coredumps.
In the raising SIG ABORT in one of the thread, I'm not able to catch the signal at an usefull place. I can catch it only in signal handler but it is too late. The signal handler is in the main().
There is no stack from the originating thread. I can see only callstack from a serving routine of the signal handler. Does somebody know how to get to a standard callstack?
I mean to have a call stack from originating place of raising of SIGABORT.
A few details are bellow ...
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Callstack from coredump:
Program terminated with signal SIGABRT, Aborted.
#0 0xb6b76d14 in raise () from /lib/libc.so.6
(gdb) bt
#0 0xb6b76d14 in raise () from /lib/libc.so.6
#1 0xb6b7a814 in abort () from /lib/libc.so.6
#2 0xb6de0dd0 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/libstdc++.so.6
#3 0xb6ddec1c in ?? () from /usr/lib/libstdc++.so.6
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
HW:
root@WIM1:~# cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 795.44
Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2
Hardware : Generic AM33XX (Flattened Device Tree)
Revision : 0000
Serial : 0000000000000000
root@WIM1:~# uname -a
Linux WIM1 4.1.13-yocto-standard #1 Thu Apr 20 18:07:09 CEST 2017 armv7l GNU/Linux
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
packages:
poky-jethro-14.0.1
arm-poky-linux-gnueabi-gcc-5.2.0
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
compiler flags:
arm-poky-linux-gnueabi-g++ -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8
--sysroot=/jenkins_data/wim-build-standard/skybase/yocto_build/tmp/sysroots/skyboard-evb
-DHAVE_CONFIG_H
-I. -I.. -I/jenkins_data/wim-build-standard/skybase/yocto_build/tmp/sysroots/skyboard-evb/usr/include/skybase
-DDBUS_API_SUBJECT_TO_CHANGE
-I/jenkins_data/wim-build-standard/skybase/yocto_build/tmp/sysroots/skyboard-evb/usr/include/dbus-c++-1
-I/jenkins_data/wim-build-standard/skybase/yocto_build/tmp/sysroots/skyboard-evb/usr/include/dbus-1.0
-I/jenkins_data/wim-build-standard/skybase/yocto_build/tmp/sysroots/skyboard-evb/usr/lib/dbus-1.0/include
-Wall -pipe -std=c++14 -O2 -pipe -g -feliminate-unused-debug-types -fvisibility-inlines-hidden -c -o DlClassServer.o `test -f 'Classif/DlClassServer.cpp' || echo './'`Classif/DlClassServer.cpp
linker flags:
arm-poky-linux-gnueabi-libtool --tag=CXX --mode=link arm-poky-linux-gnueabi-g++ -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8
--sysroot=/jenkins_data/build-standard/skybase/yocto_build/tmp/sysroots/skyboard-evb
-I/jenkins_data/build-standard/skybase/yocto_build/tmp/sysroots/skyboard-evb/usr/include/skybase
-DDBUS_API_SUBJECT_TO_CHANGE
-I/jenkins_data/build-standard/skybase/yocto_build/tmp/sysroots/skyboard-evb/usr/include/dbus-c++-1
-I/jenkins_data/build-standard/skybase/yocto_build/tmp/sysroots/skyboard-evb/usr/include/dbus-1.0
-I/jenkins_data/build-standard/skybase/yocto_build/tmp/sysroots/skyboard-evb/usr/lib/dbus-1.0/include
-Wall -pipe -std=c++14 -O2 -pipe -g -feliminate-unused-debug-types -fvisibility-inlines-hidden -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o
DataLogger *.o
-llog -ldbus-c++-1 -ldbus-1 -leeprom -lskyboard -lutils -llog -lssl -lcrypto -lskyboard -llog -lutils -llog -leds -llog -lhwclock -llog -lrt -lpthread -lboost_regex -lboost_system -lboost_serialization -ldaq -ldsp -lm -ldl