multithreading - Is it possible to obtain a backtrace inside a vDSO call? -


i trying debug deadlock issue in code using gdb. when program locked up, attached gdb see threads doing. reason, cannot obtain backtraces threads other current one:

(gdb) bt #0  0xb774dcb0 in ?? () #1  0x8420e178 in tablecollect  #2  0x84200c12 in main (gdb) thread apply bt  thread 3 (thread 0xb6becb40 (lwp 18937)): #0  0xb774dcb0 in ?? () #1  0x000d6ee6 in ?? ()  thread 2 (thread 0xb1f5eb40 (lwp 18939)): python exception <class 'gdb.memoryerror'> cannot access memory @ address 0x5: #0  0xb774dcb0 in ?? () cannot access memory @ address 0x5 (gdb) info threads   id   target id         frame   3    thread 0xb6becb40 (lwp 18937) "loader.elf" 0xb774dcb0 in ?? ()   2    thread 0xb1f5eb40 (lwp 18939) "tuner" 0xb774dcb0 in ?? () * 1    thread 0xb6bed700 (lwp 18936) "loader.elf" 0xb774dcb0 in ?? () (gdb) thread 2 [switching thread 2 (thread 0xb1f5eb40 (lwp 18939))] #0  0xb774dcb0 in ?? () (gdb) bt python exception <class 'gdb.memoryerror'> cannot access memory @ address 0x5: #0  0xb774dcb0 in ?? () cannot access memory @ address 0x5 (gdb) thread 3 [switching thread 3 (thread 0xb6becb40 (lwp 18937))] #0  0xb774dcb0 in ?? () (gdb) bt #0  0xb774dcb0 in ?? () #1  0x000d6ee6 in ?? ()  ninja@vm:build$ cat /proc/`pidof loader.elf`/maps | grep b774d b774b000-b774d000 r--p 00000000 00:00 0          [vvar] b774d000-b774f000 r-xp 00000000 00:00 0          [vdso] 

so looks threads inside system call? that's since i'm expecting them stuck on ptread_mutex_lock, why don't have valid stack frames below that? why 0x5 address thread 2? , why thread 3 have 0xd6ee6 on stack, isn't mentioned in memory map?


Comments

Popular posts from this blog

php - Wordpress website dashboard page or post editor content is not showing but front end data is showing properly -

How to get the ip address of VM and use it to configure SSH connection dynamically in Ansible -

javascript - Get parameter of GET request -