Re: Process generating its own stack trace



On May 17, 5:48 pm, Paul Pluzhnikov <ppluzhnikov-...@xxxxxxxxx> wrote:
Wind <umesh_wagh...@xxxxxxxxx> writes:
My application goes into hung state when pstack child process is
started. When I try to attach GDB to this hung process, its gives
error "ptrace: operation not permitted"

The /proc/<pid>/task/<taskid>status for all threads is as below
Name:   myapplcation
State:  T (tracing stop)

This indicates that gdb successfully attached to your process.

It is likely that this gdb process is now waiting for something,
though I can't imagine what for. Possibly it tries to print something
to tty (possibly some warning), and gets itself SIGSTOPped?

Can you attach a new instance of gdb the the apparently-hung
pstack/gdb process?

What is the State in /proc/<pstack-pid>/status ?

Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.

Hi Paul,

Thanks for the reply.
Following are few more details

ps -a
====
3088 29440 0 15:45 pts/5 00:00:00 /bin/sh /usr/bin/pstack 29440
3097 3088 0 15:45 pts/5 00:00:00 sed -n -e s/^(gdb) // -e /^#/p -
e /^Thread/p
29440 15781 0 May15 pts/5 00:00:01 ./myapplication
3096 3088 1 15:45 pts/5 00:00:07 gdb --quiet --readnever -nx /
proc/29440/exe 29440


Stack trace of gdb
#0 0x005a47a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0x00678dd3 in __write_nocancel () from /lib/tls/libc.so.6
#2 0x0061e89f in _IO_new_file_write () from /lib/tls/libc.so.6
#3 0x0061d31b in _IO_new_do_write () from /lib/tls/libc.so.6
#4 0x0061dfa2 in _IO_new_file_sync () from /lib/tls/libc.so.6
#5 0x006136bc in fflush () from /lib/tls/libc.so.6
#6 0x080fe16e in print_frame_info ()
#7 0x080ff5eb in parse_frame_specification ()
#8 0x0807ef6d in throw_exception ()
#9 0x0807f112 in catch_errors ()
#10 0x080ff307 in parse_frame_specification ()
#11 0x0807f52c in execute_command ()
#12 0x08101302 in save_infrun_state ()
#13 0x0807f52c in execute_command ()
#14 0x08104e40 in async_disable_stdin ()
#15 0x0810538e in async_disable_stdin ()
#16 0x081040ad in delete_file_handler ()
#17 0x08103bbb in standard_macro_lookup ()
#18 0x08104352 in gdb_do_one_event ()
#19 0x0807ef6d in throw_exception ()
#20 0x0807f112 in catch_errors ()
#21 0x080b9707 in _initialize_tui_hooks ()
#22 0x00000000 in ?? ()

/proc/<pstack-pid>/status
Name: pstack
State: S (sleeping)
SleepAVG: 68%
Tgid: 3088
Pid: 3088
PPid: 29440
TracerPid: 0
Uid: 5827 5827 5827 5827
Gid: 1000 1000 1000 1000
FDSize: 256
Groups: 1000
VmSize: 5472 kB
VmLck: 0 kB
VmRSS: 996 kB
VmData: 168 kB
VmStk: 1324 kB
VmExe: 577 kB
VmLib: 1271 kB
StaBrk: 080e3000 kB
Brk: 0972f000 kB
StaStk: bfeb8960 kB
ExecLim: 080d8000
Threads: 1
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000416203
SigIgn: 0000000000001005
SigCgt: 0000000000010002
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000


/proc/<gdb-pid>/status

Name: gdb
State: S (sleeping)
SleepAVG: 88%
Tgid: 3096
Pid: 3096
PPid: 3088
TracerPid: 0
Uid: 5827 5827 5827 5827
Gid: 1000 1000 1000 1000
FDSize: 256
Groups: 1000
VmSize: 174804 kB
VmLck: 0 kB
VmRSS: 170508 kB
VmData: 168356 kB
VmStk: 472 kB
VmExe: 2124 kB
VmLib: 1648 kB
StaBrk: 08281000 kB
Brk: 0be9b000 kB
StaStk: bff92cb0 kB
ExecLim: 0825b000
Threads: 1
SigPnd: 0000000000000000
ShdPnd: 0000000000010000
SigBlk: 0000000000416203
SigIgn: 0000000000001000
SigCgt: 0000000000030087
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000

/proc/<sed-pid>/status
Name: sed
State: S (sleeping)
SleepAVG: 90%
Tgid: 3097
Pid: 3097
PPid: 3088
TracerPid: 0
Uid: 5827 5827 5827 5827
Gid: 1000 1000 1000 1000
FDSize: 256
Groups: 1000
VmSize: 4816 kB
VmLck: 0 kB
VmRSS: 640 kB
VmData: 172 kB
VmStk: 1252 kB
VmExe: 40 kB
VmLib: 1252 kB
StaBrk: 08058000 kB
Brk: 08803000 kB
StaStk: bfecd130 kB
ExecLim: 08052000
Threads: 1
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000406203
SigIgn: 0000000000001001
SigCgt: 0000000000000000
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000

Regards,
Umesh
.



Relevant Pages

  • Re: Process generating its own stack trace
    ... When I try to attach GDB to this hung process, ... State: T (tracing stop) ... This indicates that gdb successfully attached to your process. ... In order to understand recursion you must first understand recursion. ...
    (comp.os.linux.development.apps)
  • Re: gdb understanding kse?
    ... On Fri, 6 Feb 2004, Sean McNeil wrote: ... > attach gdb to the process, ... it won't hit the tree in a usable form until GDB 6.1 (or ...
    (freebsd-current)
  • Re: [9fans] tip 9vx segfault on Ubuntu in Xen
    ... then everything stops. ... then can should attach gdb by ... looking up the pid in ps and running ...
    (comp.os.plan9)
  • brk randomization breaks columns
    ... Columns is very popular game of year about 1993, and brk randomization ... (Along with my boot, but who cares about boot when game is ...
    (Linux-Kernel)