[Bug 1006398] Re: Bypassing ptrace restrictions for errors from hanging applications

Evan Dandrea evan.dandrea at canonical.com
Thu Jun 14 11:10:20 UTC 2012


Yes, compiz sends -KILL to the process.

After talking with Matthew about this some more, I think you're right,
Marc. We should implement this as follows for the first iteration:

- The application hangs for X seconds.
- Compiz launches apport with the pid as an argument.
- A dialog pops up explaining the application has hung: https://wiki.ubuntu.com/ErrorTracker#app-hang
- The user presses either the Force Close or Relaunch button.
- The process gets a -SEGV from apport, which then waits for the core dump through the regular core pipe mechanism. It does this while continuing to run so that it can remember that the specified pid is a hang not a regular SEGV.

This means that we cannot do something fancy like Wait Chain Traversal:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms681622(v=vs.85).aspx

But we can always re-evaluate our approach if we find we need a living,
ptrace-able process at the point of generating the report file.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to whoopsie-daisy in Ubuntu.
https://bugs.launchpad.net/bugs/1006398

Title:
  Bypassing ptrace restrictions for errors from hanging applications

Status in “whoopsie-daisy” package in Ubuntu:
  New

Bug description:
  As part of the error reporting features in 12.10, we're adding the
  ability to generate reports from hanging applications. This requires
  that we can gdb attach and backtrace to an arbitrary PID running as
  the same user, which requires working around the restrictions set by
  the ptrace scope:

  https://wiki.ubuntu.com/Security/Features#ptrace

  A new plugin for compiz will be written to notify a new dbus service
  on the system bus that it should write a gdb backtrace for the pid
  (provided by the _NET_WM_PID xprop. This service will only accept
  connections from the compiz process. It will only accept the request
  if the PID was running with a valid session cookie (unless this is
  overkill?).

  How does that sound?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/whoopsie-daisy/+bug/1006398/+subscriptions




More information about the foundations-bugs mailing list