FS#30229 - [systemd] [cups] cups.service fails to start (PrivateTmp=true)

Attached to Project: Arch Linux
Opened by David Spicer (azleifel) - Saturday, 09 June 2012, 23:56 GMT
Last edited by Dave Reisner (falconindy) - Monday, 11 June 2012, 12:44 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Andreas Radke (AndyRTR)
Dave Reisner (falconindy)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

The systemd cups.service fails to start with the following log errors:

systemd[537]: Failed at step NAMESPACE spawning /usr/sbin/cupsd: No such file or directory
systemd[1]: cups.service: main process exited, code=exited, status=226
systemd[1]: Unit cups.service entered failed state.

but will start normally if the line

PrivateTmp=true

is deleted from the [Service] section of /usr/lib/systemd/system/cups.service.

Additional info:
* cups 1.5.3-4
* libsystemd 185-1
* systemd 185-1
* systemd-arch-units 20120606-4
* systemd-sysvcompat 185-1
* systemd-tools 185-1

Steps to reproduce: sudo systemctl start cups.service
This task depends upon

Closed by  Dave Reisner (falconindy)
Monday, 11 June 2012, 12:44 GMT
Reason for closing:  Won't fix
Additional comments about closing:  Unsupported setup, see commments.
Comment by Dave Reisner (falconindy) - Sunday, 10 June 2012, 00:08 GMT
It would be interesting to know exactly what is generating the ENOENT that you're getting back. I see nothing obvious in the code that does this particular setup. By chance, does /var/tmp not exist?
Comment by David Spicer (azleifel) - Sunday, 10 June 2012, 00:17 GMT
I have /var/tmp symlinked to /tmp

$ ls -al /var
lrwxrwxrwx 1 root root 4 Mar 1 2010 tmp -> /tmp

and /tmp is a hdd partition

# /dev/sda6
UUID=182df128-80b4-499b-9853-8f774118bbd5 /tmp ext4 defaults,noexec,nosuid,nodev,relatime

Comment by Dave Reisner (falconindy) - Sunday, 10 June 2012, 00:24 GMT
Just for funzies, can you produce this with /var/tmp as an actual directory? /var/tmp and /tmp are intentionally supposed to be different things.
Comment by David Spicer (azleifel) - Sunday, 10 June 2012, 00:46 GMT
Alrighty. Making /var/tmp a real directory fixes the errors with the original cups.service file.
Comment by David Spicer (azleifel) - Sunday, 10 June 2012, 01:14 GMT
Follow-up: I'll play around with mounting /var/tmp as a filesystem later (all for the sake of a little security).
Comment by Dave Reisner (falconindy) - Monday, 11 June 2012, 12:44 GMT
Closing this as wontfix. /var/tmp as a symlink isn't really supported, but this bug nicely highlights that error reporting from systemd tends to suck in a lot of places. I can take that much upstream.

Loading...