[Bug 1946521] Re: [SRU] motion fails to start after install: Permission denied creating log file
Dave Jones
1946521 at bugs.launchpad.net
Mon Mar 25 14:18:31 UTC 2024
This looks good, thanks -- sponsoring!
--
You received this bug notification because you are a member of Ubuntu
Sponsors, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1946521
Title:
[SRU] motion fails to start after install: Permission denied creating
log file
Status in motion package in Ubuntu:
Confirmed
Status in motion source package in Jammy:
Confirmed
Status in motion source package in Mantic:
Confirmed
Status in motion source package in Noble:
Confirmed
Status in motion package in Debian:
New
Bug description:
[ Impact ]
motion will fail to start after installing with the error:
motion[4536]: [0:motion] [EMG] [ALL] motion_startup: Exit motion,
cannot create log file /var/log/motion/motion.log: Permission denied
Also, service status will show:
$ systemctl status motion.service
○ motion.service - Motion detection video capture daemon
Loaded: loaded (/usr/lib/systemd/system/motion.service; enabled; preset: enabled)
Active: inactive (dead) since Tue 2024-03-05 21:47:35 GMT; 1min 16s ago
Duration: 91ms
Docs: man:motion(1)
Process: 4536 ExecStart=/usr/bin/motion (code=exited, status=0/SUCCESS)
Main PID: 4536 (code=exited, status=0/SUCCESS)
CPU: 49ms
Mar 05 21:47:34 sudip-pc-i440fx-7-2 systemd[1]: Started motion.service - Motion detection video capture daemon.
Mar 05 21:47:34 sudip-pc-i440fx-7-2 motion[4536]: [0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
Mar 05 21:47:34 sudip-pc-i440fx-7-2 motion[4536]: [0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
Mar 05 21:47:34 sudip-pc-i440fx-7-2 motion[4536]: [0:motion] [ERR] [ALL] mycreate_path: Problem creating directory /var/log/motion: Permission denied
Mar 05 21:47:34 sudip-pc-i440fx-7-2 motion[4536]: [0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /var/log/motion/motion.log: Permission denied
Mar 05 21:47:34 sudip-pc-i440fx-7-2 motion[4536]: [0:motion] [ERR] [ALL] mycreate_path: Problem creating directory /var/log/motion: Permission denied
Mar 05 21:47:34 sudip-pc-i440fx-7-2 motion[4536]: [0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /var/log/motion/motion.log: Permission denied
Mar 05 21:47:35 sudip-pc-i440fx-7-2 systemd[1]: motion.service: Deactivated successfully.
Any attempt to start or restart the service will still fail.
$ sudo systemctl start motion.service
Broadcast message from systemd-journald at sudip-pc-i440fx-7-2 (Tue
2024-03-05 21:49:44 GMT):
motion[4621]: [0:motion] [EMG] [ALL] motion_startup: Exit motion,
cannot create log file /var/log/motion/motion.log: Permission denied
The problem will be there until the /var/log/motion directory is
created. A non-technical user will see "motion" is not working.
[ Test Plan ]
1. Install motion
2. Check motion service status and confirm its started
With the fixed package, motion service status will shows it has
started.
[ Where problems could occur ]
It does not change any part of the code, only change is in the
postinst script to create the log folder if it does not exist. There
should not be any regression in the software for this change.
[ Other Info ]
The log folder creation was part of the init scripts at https://git.launchpad.net/ubuntu/+source/motion/tree/debian/motion.init?h=ubuntu/focal#n60
I guess it was missed while updating the package to use systemd services.
The error will not be seen by users upgrading from Focal.
[ Original Bug Description ]
I installed motion for the first time on a reasonably fresh Kubuntu
21.04 release. I installed this system in April 2021. It immediately
fails and spams "emergency" log messages all over my terminals. (See
dpkg log below)
The problem seems to be that the default config
/etc/motion/motion.conf specifies:
log_file /var/log/motion/motion.log
but there is nothing to create that directory. I'm not sure whether
this should be a job for postinst, or a systemd ExecStartPre, but I
would argue that not logging to a file at all and letting systemd-
journald hoover up the stderr/syslog messages would be better.
Indeed, if I remove the log_file line from /etc/motion/motion.conf,
motion starts and runs perfectly well, and I get log messages in
systemctl status.
Thanks,
Bruce
Dpkg log:
Setting up motion (4.3.2-1) ...
Adding group `motion' (GID 134) ...
Done.
Warning: The home dir /var/lib/motion you specified already exists.
Adding system user `motion' (UID 127) ...
Adding new user `motion' (UID 127) with group `motion' ...
The home directory `/var/lib/motion' already exists. Not copying from `/etc/skel'.
adduser: Warning: The home directory `/var/lib/motion' does not belong to the user you are currently creating.
Adding user `motion' to group `video' ...
Adding user motion to group video
Done.
Created symlink /etc/systemd/system/multi-user.target.wants/motion.service → /lib/systemd/system/motion.service.
Processing triggers for man-db (2.9.4-2) ...
Broadcast message from systemd-journald at w7700 (Fri 2021-10-08 01:05:54
BST):
motion[1372993]: [0:motion] [EMG] [ALL] motion_startup: Exit motion,
cannot create log file /var/log/motion/motion.log: Permission denied
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/motion/+bug/1946521/+subscriptions
More information about the Ubuntu-sponsors
mailing list