This would explain, why strace could not connect. From the documentation of the ptrace system call:
"EPERM
The specified process cannot be traced. This could be because the parent has insufficient privileges (the required capability is CAP_SYS_PTRACE); unprivileged processes cannot trace processes that they cannot send signals to or those running set-user-ID/set-group-ID programs, for obvious reasons. Alternatively, the process may already be being traced, or be init(8) (PID 1). "
Does firefox make use of the ptrace system call to control its subprocess?
The output of ps xHwl shows that the process seems to be ptraced.
0 1000 18727 1 20 0 252264 60284 futex_ Sl ? 0:23 /usr/lib/ firefox- 3.6.24/ firefox- bin firefox- 3.6.24/ firefox- bin firefox- 3.6.24/ firefox- bin firefox- 3.6.24/ firefox- bin firefox- 3.6.24/ firefox- bin firefox- 3.6.24/ plugin- container /usr/lib/ adobe-flashplug in/libflashplay er.so 18727 plugin true firefox- 3.6.24/ plugin- container /usr/lib/ adobe-flashplug in/libflashplay er.so 18727 plugin true
1 1000 18727 1 20 0 252264 60284 futex_ Sl ? 0:00 /usr/lib/
1 1000 18727 1 20 0 252264 60284 futex_ Sl ? 0:00 /usr/lib/
1 1000 18727 1 20 0 252264 60284 wait Sl ? 0:00 /usr/lib/
1 1000 18727 1 20 0 252264 60284 poll_s Sl ? 0:00 /usr/lib/
0 1000 18768 18727 20 0 104156 18380 ptrace Tl ? 0:00 /usr/lib/
1 1000 18768 18727 20 0 104156 18380 unix_s Sl ? 0:02 /usr/lib/
This would explain, why strace could not connect. From the documentation of the ptrace system call:
"EPERM ID/set- group-ID programs, for obvious reasons. Alternatively, the process may already be being traced, or be init(8) (PID 1). "
The specified process cannot be traced. This could be because the parent has insufficient privileges (the required capability is CAP_SYS_PTRACE); unprivileged processes cannot trace processes that they cannot send signals to or those running set-user-
Does firefox make use of the ptrace system call to control its subprocess?