This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Random SIGILL / SIGSEGV on ARMv7 while debugging ?
- From: Antoine Tremblay <antoine dot tremblay at ericsson dot com>
- To: <gdb at sourceware dot org>
- Date: Thu, 19 Nov 2015 13:22:38 -0500
- Subject: Random SIGILL / SIGSEGV on ARMv7 while debugging ?
- Authentication-results: sourceware.org; auth=none
Hi,
I've been running the testsuite on a Odroid XU4 and I get random
SIGILL / SIGSEGV signals while running the testsuite.
It happens around 30% of the time on the same command.
I can get the following log for example :
(gdb) spawn ../gdbserver/gdbserver --once :2346
/home/hexa/src/binutils-gdb/build-arm/gdb/testsuite/gdb.trace/change-loc
Process
/home/hexa/src/binutils-gdb/build-arm/gdb/testsuite/gdb.trace/change-loc
created; pid = 1326
Listening on port 2346
target remote localhost:2346
Remote debugging using localhost:2346
Reading /lib/ld-linux-armhf.so.3 from remote target...
warning: File transfers from remote targets can be slow. Use "set
sysroot" to access files locally instead.
Reading /lib/ld-linux-armhf.so.3 from remote target...
Reading symbols from target:/lib/ld-linux-armhf.so.3...Reading
/lib/ld-2.21.so from remote target...
Reading /lib/.debug/ld-2.21.so from remote target...
(no debugging symbols found)...done.
0xb6fd7a40 in ?? () from target:/lib/ld-linux-armhf.so.3
(gdb) continue
Continuing.
Reading
/home/hexa/src/binutils-gdb/build-arm/gdb/testsuite/gdb.trace/change-loc-1.sl
from remote target...
Reading /lib/arm-linux-gnueabihf/libdl.so.2 from remote target...
Reading /lib/arm-linux-gnueabihf/libm.so.6 from remote target...
Reading /lib/arm-linux-gnueabihf/libc.so.6 from remote target...
Reading /lib/arm-linux-gnueabihf/libdl-2.21.so from remote target...
Reading /lib/arm-linux-gnueabihf/.debug/libdl-2.21.so from remote target...
Reading /lib/arm-linux-gnueabihf/libm-2.21.so from remote target...
Reading /lib/arm-linux-gnueabihf/.debug/libm-2.21.so from remote target...
Reading /lib/arm-linux-gnueabihf/libc-2.21.so from remote target...
Reading /lib/arm-linux-gnueabihf/.debug/libc-2.21.so from remote target...
Program received signal SIGILL, Illegal instruction.
0xb6fd99e2 in ?? () from target:/lib/ld-linux-armhf.so.3
(gdb) FAIL: gdb.trace/change-loc.exp: Can't run to main to check for
trace support
I'm able to reproduce this also with GDB itself using a small program
like so :
int
func1 (int b)
{
return b + 2;
}
int
main ()
{
int c = 1;
while (c)
c = func1 (2);
return c;
}
and running gdb with that script :
set pagination off
start
while 1
step
end
I've tested this on kernel 3.10 and 4.2, same results, 4.2 seems a bit
worse...
I've also tested on a Raspberry Pi2 with kernel 3.18.0 and I can't
reproduce it.
Has anybody else seen this ?
Regards.
Antoine Tremblay