On Sat, Jan 11, 2014 at 12:00:45AM +0100, Michał Sawicz wrote:
> On 10.01.2014 23:58, Steve Langasek wrote:
> >Oh, ok - yes, dying with SIGSEGV after receiving SIGTERM from upstart would
> >certainly trigger that behavior.

> >Is the SIGTERM being sent because the user session is exiting?  If so,
> >overriding the kill timeout may not be enough, because upstart will also
> >hard-kill any lingering processes after a separate timeout in order to avoid
> >being hard-killed/itself/  by lightdm and leaving spare processes behind.

> In our case it's after `initctl stop unity8` when unity8 is
> restarted between tests.

Ok.  I don't see any reason that the kill timeout would be insufficient for
this case.  Tested in a user session with the attached python program and
upstart job, and I get the expected results in
~/.cache/upstart/kill-test.log.

Maybe the kill timeout isn't high enough for apport to finish processing the
unity8 core.  Is this reproducible if you raise the timeout higher than 30
sec?

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
kill timeout 30

exec /home/vorlon/bin/kill-me
#!/usr/bin/python3

import os, sys, time, datetime, signal

def sigterm_handle(signum, frame):
        global sigged
        sigged = 1
        print(datetime.datetime.now().isoformat(' ') + ": SIGTERM received.");

sigged = 0

signal.signal(signal.SIGTERM, sigterm_handle)

while True:
        time.sleep(1)
        if sigged:
                print(datetime.datetime.now().isoformat(' ') + ": sleeping.");

Attachment: signature.asc
Description: Digital signature

-- 
Mailing list: https://launchpad.net/~ubuntu-phone
Post to     : ubuntu-phone@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-phone
More help   : https://help.launchpad.net/ListHelp

Reply via email to