*.override files do not work for session jobs

Bug #1585087 reported by Martin Pitt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
upstart (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

bamfdaemon ships a session job /usr/share/upstart/sessions/bamfdaemon.conf. According to upstart(5) it should be possible to disable that with an override:

  $ cat /usr/share/upstart/sessions/bamfdaemon.override
  manual

but this doesn't work, bamfdaemon is still started. I also tried to put "start on disabled" into the *.override file, no effect either.

(Background: I'm trying to migrate jobs to systemd units one by one, thus for every systemd user unit that I add I need to disable the corresponding upstart job).

ProblemType: Bug
DistroRelease: Ubuntu 16.10
Package: upstart 1.13.2-0ubuntu23
ProcVersionSignature: Ubuntu 4.4.0-22.40-generic 4.4.8
Uname: Linux 4.4.0-22-generic x86_64
ApportVersion: 2.20.1-0ubuntu4
Architecture: amd64
CurrentDesktop: Unity
Date: Tue May 24 09:23:36 2016
InstallationDate: Installed on 2016-05-23 (0 days ago)
InstallationMedia: Ubuntu 16.10 "Yakkety Yak" - Alpha amd64 (20160522)
SourcePackage: upstart
UpgradeStatus: No upgrade log present (probably fresh install)
UpstartBugCategory: Session
UpstartRunningSessionCount: 1
UpstartRunningSessionVersion: upstart 1.13.2
UpstartRunningSystemVersion: Error: command ['initctl', '--system', 'version'] failed with exit code 1: initctl: Name "com.ubuntu.Upstart" does not exist
upstart.upstart-event-bridge.log:
 upstart-event-bridge stop/pre-start, process 2537
 upstart-event-bridge stop/pre-start, process 3444
 upstart-event-bridge stop/pre-start, process 4582

Revision history for this message
Martin Pitt (pitti) wrote :
Revision history for this message
Martin Pitt (pitti) wrote :

Placing the *.override file into /usr/share/upstart/xdg/ also does not help. This is the $XDG_CONFIG_DIRS/upstart/ item in the "User Session Mode" man page section.

Revision history for this message
Martin Pitt (pitti) wrote :

strace shows that upstart *does* read /usr/share/upstart/sessions/bamfdaemon.override successfully. Also, if I replace the override with

  exec true

then "true" is being executed, and the job loops because the *.conf has "restart" (i. e. expected).

This opens the hypothesis that the job is being started through something else than the "start on" condition. But it is not being referenced by any other *.conf file. And indeed, even if I drop the "start on" from bamfdaemon.conf it still gets started.

Revision history for this message
Martin Pitt (pitti) wrote :

Got it -- bamfdaemon also installs /usr/share/dbus-1/services/org.ayatana.bamf.service which calls bamfdaemon-dbus-runner which does

if [ -n "$UPSTART_SESSION" ]; then
  /sbin/initctl start bamfdaemon
else
  /usr/lib/x86_64-linux-gnu/bamf/bamfdaemon
fi

That explains why its upstart job is D-Bus activated and the "start on" condition is redundant (and disabling it doesn't work).

Adding "manual" to e. g. im-config.override does work as expected.

Changed in upstart (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.