This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Random SIGILL / SIGSEGV on ARMv7 while debugging ?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]