On Thu, 2012-03-29 at 08:49 +0100, James Hunt wrote: > On 29/03/12 01:14, Richard Laager wrote: > > I have this recurring problem where trying to stop services results in > > "Unknown instance". It's as if upstart has lost track of the fact that a > > service is running (and its PID); starting the service again will result > > in two copies running (at least for some services that don't do their > > own duplicate checking). > > > > It has continued to happen across several releases of Ubuntu, with > > multiple different services (e.g. SSH, upstart jobs for daemons I've > > written myself). With SSH, it's virtually guaranteed to happen every > > time I want to stop it (since I do so infrequently), but I can't > > reproduce this on demand. In other words, I can > > start...stop...start...stop services right in a row to my heart's > > content and it's fine. I'm starting to wonder if the trigger isn't > > something that happens nightly. Alternatively, it might be happening on > > (certain) package upgrades. > > > > What should I be doing to debug this? > > With respect to ssh, I think you may be referring to this bug: > > https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/687535 > > The problem has now been fixed in versions of Ubuntu going back to lucid > (10.04).
I'm running Precise, which was up-to-date as of the 29th when I sent the
email. (I'm also running older versions on some boxes, but let's ignore
them for the purposes of debugging.) So I should have that bug fix.
> You don't mention any other services by name so it is rather difficult to
> speculate.
I'm seeing this with smbd for sure. I believe I'm seeing it with cups,
but it was only once (on Precise) so far.
> However, if you
> are seeing strange behaviour for jobs you have written, I suspect you have
> mis-specified the
> 'expect' stanza in combination with specifying 'respawn' (doing so will give
> strange behaviour).
Here's my configuration file:
# dms10-alarms - DMS10 Logging
description "DMS10 alarm logging"
start on runlevel [2345]
stop on runlevel [06]
respawn
script
exec tty-cronolog /etc/tty-cronolog/dms10-alarms
end script
tty-cronolog is a fairly simple Perl script I wrote. It takes a path to
a configuration file as an argument. It reads that configuration file,
opens a serial port tty and a pipe to cronolog, and shovels data from
the tty to cronolog. It does not fork() itself (other than what Perl
does for the cronolog pipe) or do anything with stdin/stdout/stderr. It
just starts and runs until it receives a TERM signal.
--
Richard
signature.asc
Description: This is a digitally signed message part
-- upstart-devel mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/upstart-devel
