11

A few days ago I realized my Ubuntu machine wouldn't load after login. After some digging around on a liveCD I realized my HDD was at 100% capacity, so I deleted some large files and was able to log in. I didn't have sudo permissions any more and had to boot into recovery mode and change the sodoers file, but eventually recovered root permissions.

I then noticed my machine was a little sluggish, and top was showing cupsd using 100% CPU. I've never seen this program before but I soon realized it was a legitimate program.

I the deleted about 40GB worth of videos, only to see my drive space deplete almost instantly in front of my eyes. With a little research and intuition, I realized it might be a a log file being blown up, and sure enough ls -lh /var/log/cups/ shown me an error_log file that was 80GB+ large.

I deleted the file sudo rm -rf /var/log/cups/error_log, killed the service with sudo service cups end, and went on my business. I realized after that it would have been a good idea to check out the contents of error_log before I deleted it, but I wanted to get rid of the thing before I was locked out again.

That was yesterday. Today, I started my laptop again and saw cupsd running again at 100% cpu, and sure enough I see my disk space depleting. I stopped the service and run tail -f /var/log/cups/error_log, and there are millions of lines of this:

W [15/Jul/2015:11:23:03 -0700] Notifier for subscription 911 (dbus://) went away, retrying!
E [15/Jul/2015:11:23:03 -0700] File "/usr/lib/cups/notifier/dbus" has insecure permissions (0100777/uid=0/gid=0).

==EDIT=================================================================

ls -l /usr/lib/cups/notifier/dbus shows permissions and ownership as -rwxrwxrwx 1 root root when they should be -rwxr-xr-x 1 daemon root, as described in the comments. sudo chown root:root /usr/lib/cups/notifier/dbus also did not fix the ownership problems.

Finally I removed and reinstalled cups, but to no avail. These links were given as potentially helpful guides,(accidentally chmod -R on /,restore chown permissions) but they ultimately result in suggesting a reinstall of the OS itself.

7
  • What is the output of ls -l /usr/lib/cups/notifier/dbus? I had a similar problem a long time ago and the only easy way to solve it was to disable CUPS... (no printing then)
    – Wilf
    Jul 15, 2015 at 18:41
  • 1
    -rwxrwxrwx 1 root 14k Sep 5 2014 /usr/lib/notifier/dbus
    – wndg
    Jul 15, 2015 at 20:08
  • 1
    What does cups do anyway? I mean if it can be disabled without serious repercussion ....
    – wndg
    Jul 15, 2015 at 20:09
  • 1
    It does most of the stuff for printing, so without it you can't print. I think the permissions on the file should be -rwxr-xr-x (thats what the permissions are on my Ubuntu 14.04 install), so you may be able to fix the problem by running sudo chmod 755 /usr/lib/cups/notifier/dbus (and then restarting CUPs or the computer).
    – Wilf
    Jul 15, 2015 at 20:17
  • 1
    Printing as in printing paper? The permissions are now -rwxr-xr-x however after restart cupsd still runs at 95%+ and creating large error_log file (however seemingly not as quickly?).
    – wndg
    Jul 15, 2015 at 20:43

4 Answers 4

17

For Ubuntu 15.10 what worked for me was:

sudo service cups stop
sudo rm /etc/cups/subscriptions.conf*
sudo rm -r /var/cache/cups
sudo service cups start

(If you cannot stop cups try):

ps aux | grep cups

Get process id (pid) from output and:

kill -9 (pid you have learned here)
1
  • 2
    I did this and it helps, but only until I restart my PC. Is there any way to make this last?
    – tobias_k
    May 7, 2018 at 9:22
3

On Debian 9

  1. user@machine: sudo su

  2. root@machine:

chown -R root:root /usr/lib/cups/* && \
chmod -R 755 /usr/lib/cups/* && \
/etc/init.d/cups restart

return:

 ok Restarting cups via systemctl cups.service

and save my log and my cpu

1

I am unable to comment, so this is in the form of an answer:

sudo chown root:root /usr/lib/cups/notifier/dbus

might help, now that you have the permissions right. Who is user 1 on your system? If you don't know how the permissions/ownership of the file were changed from the default, the problem might be the tip of an iceberg. If so, reinstalling would be advisable.

14
  • I ran the command and restarted and nothing seemed to change. Not sure how to find out who user 1 is. What do you think could be "the rest of the iceberg" as you put it...?
    – wndg
    Jul 16, 2015 at 1:56
  • User 1 on a newly installed Ubuntu system is daemon. That your ls command returned -rwxrwxrwx 1 root as opposed to -rwxr-xr-x daemon root suggests corrupted or missing system files. The daemon user, 1, is not associated with a name in /etc/passwd.
    – JEL
    Jul 16, 2015 at 2:05
  • I just looked at /etc/passwd and user 1 was daemon, but I guess your say my problem is not associated with that. How would I find who user 1 is then?
    – wndg
    Jul 16, 2015 at 2:11
  • If user 1 is daemon in passwd, that's what ls should show as the user owning the dbus file. Have you tried re-installing cups? Be sure to back up /etc/cups first.
    – JEL
    Jul 16, 2015 at 2:16
  • Edit: id daemon gives me uid=1(daemon) gid=1(daemon) groups=1(daemon)
    – wndg
    Jul 16, 2015 at 2:20
1

simply done it ,It's working for me :

1) sudo chmod 755 /usr/lib/cups/notifier/

2) ll /usr/lib/cups/notifier/

3) sudo /etc/init.d/cups restart

done it !!!

1
  • 3
    Could you please comment what exactly this does, or why it solves the problem?
    – tobias_k
    May 7, 2018 at 9:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .