-   Slackware (
-   -   cupsd: Child exited with status 98! (

hussar 05-28-2006 04:33 AM

cupsd: Child exited with status 98!
I am running slack-current, and the system is up-to-date as of 27 May.

I tried to print something off today, but I wasn't able to. In the past, this has occaisionally meant that I have had to restart cupsd using `/etc/rc.d/rc.cups restart` (as root or using `su -c`). When I tried that today, I got the following error message:

cupsd: Child exited with status 98!
cups: unable to start scheduler.

I searched through the forum here and found a several threads that addressed this problem, but none which solved it for me.

Using `tail -f /var/log/cups/error_log`, I watched what happened when I tried to start cups. The first line of the output is:

I [28/May/2006:10:15:18 +0200] Listening to 0:631

It goes through the loading of devices and print jobs (is there a reason there are all these print jobs still in /var/spool/cups?), and then it prints out this:

D [28/May/2006:10:15:18 +0200] StartListening: NumListeners=1
D [28/May/2006:10:15:18 +0200] StartListening: address=00000000 port=631
E [28/May/2006:10:15:18 +0200] StartListening: Unable to bind socket for address 00000000:631 - Address already in use.

So, initially it starts listening on port 631 and later can't bind to it because it is already in use. I suspect that somehow cupsd is getting in its own way. Can anyone offer some thoughts on a fix or further troubleshooting?

Bruce Hill 05-28-2006 10:54 AM

Perhaps? Issue "lpq" to show your printer queue status and job IDs.
Then issue "lprm <job ID>" to remove those hung print jobs.
Then restart cups and see if that helps.

hussar 05-28-2006 11:07 AM

Issuing `lpq` starts lpq which starts an instance of famd. lpq is using 66% of the CPU; famd about 25%. Both are running with a nice value of "0". lpq has been running for 1:50 (according to top), and I still haven't seen a list of jobs, or anything else for that matter, displayed.

I can't start cups. I get "cupsd: Child exited with status 98!" That's why I posted in the first place. I appreciate your advice, but I will have to solve the cups problem first.

tuxdev 05-28-2006 02:24 PM

Do you run NFS? For me, that error happened when mountd decided that it was going to bind to port 631. Run socklist to see what ports are bound.

drkstr 05-28-2006 02:30 PM

I had this problem when /etc/cups/cupsd.conf was configured incorrectly. It turned out that there were 2 different lines telling it to bind to the same port. Look though it and make sure all of the "Listen" and "Port" lines are commented out except for "Port 631" which will listen on 631 from 'localhost'.


hussar 05-28-2006 03:33 PM

Here's what I get with socklist:

bash-3.1# socklist | grep 631
tcp 631 19556 0 12034 2 inetd
tcp 631 0 0 0 0
tcp 631 0 0 0 0

Here's what my /etc/cups/cups.conf says about ports:

# Ports/addresses that we listen to. The default port 631 is reserved
# for the Internet Printing Protocol (IPP) and is what we use here.
# You can have multiple Port/Listen lines to listen to more than one
# port or address, or to restrict access:
# Port 80
# Port 631
# Listen hostname
# Listen hostname:80
# Listen hostname:631
# Listen
# Listen
# NOTE: Unfortunately, most web browsers don't support TLS or HTTP Upgrades
# for encryption. If you want to support web-based encryption you'll
# probably need to listen on port 443 (the "https" port...)
# NOTE 2: In order for the command-line and web interfaces to work, you
# must have at least one Port or Listen line that allows access from the
# local loopback address (localhost).

#Port 80
#Port 443
Port 631

I changed that last bit to "Listen localhost:631" but it didn't help.

Alien Bob 05-28-2006 03:38 PM


bash-3.1# socklist | grep 631
tcp 631 19556 0 12034 2 inetd
Looks to me, inetd has started listening on the CUPS IPP port. This will prevent CUPS from using that port of course. Have you changed /etc/inetd.conf or has it been updated when you installed or upgraded packages recently?


hussar 05-28-2006 03:52 PM

No, I haven't changed inetd.conf. It's modification time is from last August. I checked the -current changelog, and there is nothing in there for inetd.

I have compiled a new kernel recently though. I am running I wonder if there is anything in the kernel that would affect cups' ability to bind to its IPP port. Worth checking, I guess.

drkstr 05-28-2006 04:57 PM

Have you tried running it on another port? As Alien Bob said earlier, it looks like 631 is in use.


hussar 05-29-2006 01:39 AM

Changing the port number to 632 allows me to access http://localhost:632/, and I can print a test page from the cups interface. The commands lpr, lpq and lp -- which are links to lp*-cups -- all hang. That is, there is no activity at the command line and top does not show any activity from the given process.

Should I be worried that I have had an intrusion that is using 631?

Bruce Hill 05-29-2006 02:20 AM

Just thought I'd post this for you more knowledgable guys to ponder.
Since my computers have multiple apps using other ports, I decided to check something:

mingdao@silas:~$ socklist | grep 631
tcp    631      4456      0      0    0
udp    631      4457      0      0    0

That output is with CUPS printing a document.

mingdao@silas:~$ ps aux
lp      24480  0.5  0.2  6392  4804 ?        S    15:16  0:00 /usr/bin/perl /usr/lib/cups/filter
root    24481  0.0  0.0  3316  848 ?        S    15:16  0:00 usb://HP/DeskJet%20920C?serial=CN2
lp      24484  0.0  0.1  6392  3872 ?        S    15:16  0:00 /usr/bin/perl /usr/lib/cups/filter
lp      24485  0.0  0.1  6392  3616 ?        S    15:16  0:00 /usr/bin/perl /usr/lib/cups/filter
lp      24486  1.4  0.4  18588  9764 ?        S    15:16  0:00 gs -q -dBATCH -dPARANOIDSAFER -dQU
lp      24487  0.7  0.0  3008  1016 ?        S    15:16  0:00 hpijs

The output of both those commands came while KWrite was printing a document.

davidsrsb 05-29-2006 08:20 PM

You haven't got lprng installed as well, have you?

I run NFS and inetd does not grab port 631

Anybody here tried cupsd 1.2.0 or 1.2.1 yet?

hussar 05-30-2006 12:15 AM

Yes, I do have lprng installed. In fact, if I recall correctly, I used apsfilter to set up this printer in the first place. The setup seemed less arcane than a setup with cups at that time.

I started lprng and sent a print job to lp. It starts at least two instances of lpd, one of which appears to turn into a zombie.

While searching for zombie processes, however, I noticed this:

26411 ? Zs 0:00 [inetd] <defunct>

and when I did `ps axf`, I noticed this:

6815 ? Ss 21:19 /usr/sbin/inetd
26411 ? Zs 0:00 \_ [inetd] <defunct>

I thought that was kind of odd.

Sorry, what is NFS? I only know it as "network file system."

Alien Bob 05-30-2006 03:12 AM

Slackware current has no lprng. In any case, if you want to use CUPS, chances are that installing lprng might have overwritten part of the CUPS binaries that have the same name. Perhaps it helps if you re-install the CUPS package (by using the "upgradepkg --reinstall" command.


davidsrsb 05-30-2006 06:04 AM

I think this is your problem.
It's an either or with lprng and cupsd as they have the same function and are both daemons

Slackware has dropped lprng these days.
You should remove both cupsd and lprng and then reinstall cupsd

All times are GMT -5. The time now is 11:25 PM.