Wind River Support Network

HomeDefectsLIN9-4468
Fixed

LIN9-4468 : Stop with SIGSTOP signal when pthread is used on gdb.

Created: Jun 22, 2017    Updated: Dec 3, 2018
Resolved Date: Aug 2, 2017
Found In Version: 9.0.0.6
Fix Version: 9.0.0.9
Severity: Standard
Applicable for: Wind River Linux 9
Component/s: Toolchain

Description

When customer execute an application using pthread on gdb, it may stop with SIGSTOP signal.

Environment:
  Wind River Linux 9
  BSP : bcm587xx
  Others:
   preempt-rt
   kernel   - 64bit
   userland - 32bit

BTW, It will stop again, if it is continue by "c (continue)" command.

Reproduction frequency : 5 of 40 times.

-- an extract of the log --
root@bcm-587xx:~# gdb ./a.out.gdb
GNU gdb (GDB) 7.11.1
<<<.....>>>
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./a.out.gdb...done.
(gdb) r
Starting program: /root/a.out.gdb
[Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1".
[MUTEX] Normal Mutex
[New Thread 0xf765b470 (LWP 1306)]
[New Thread 0xf6e5b470 (LWP 1307)]
<<<...>>>
[New Thread 0xf165b470 (LWP 1318)]

Thread 9 "a.out.gdb" received signal SIGSTOP, Stopped (signal).         !!! Stop with SIGSTOP !!!
[Switching to Thread 0xf3e5b470 (LWP 1313)]
0xf77a4824 in __pthread_cond_wait (cond=0x22058, mutex=<optimized out>)
    at /usr/src/debug/lib32-glibc/2.24-r0/git/nptl/pthread_cond_wait.c:186
186             lll_futex_wait (&cond->__data.__futex, futex_val, pshared);
(gdb) c
Continuing.

Thread 2 "a.out.gdb" received signal SIGSTOP, Stopped (signal).          !!! Stop with SIGSTOP !!!
[Switching to Thread 0xf765b470 (LWP 1306)]
0xf77a4824 in __pthread_cond_wait (cond=0x22058, mutex=<optimized out>)
    at /usr/src/debug/lib32-glibc/2.24-r0/git/nptl/pthread_cond_wait.c:186
186             lll_futex_wait (&cond->__data.__futex, futex_val, pshared);
(gdb)
------------------------------------------------------------------------------

Steps to Reproduce

0. Install libc6-dbg package in rootfs
     (for including debug library)

1. Build test program as the below.

  arm-wrsmllib32-linux-gnueabi-gcc -O2 -mfloat-abi=hard --sysroot=<<path for sysroo>> -lpthread -o a.out.gdb test.c

2. Copy test program on target board and run gdb.

  # gdb ./a.out.gdb

3. run (just running)

Other Downloads


Live chat
Online