1.2rc2 on Solaris 9: cups-polld terminating

Patrick Bosch pbosch at getmobile.de
Thu Jun 8 01:06:53 PDT 2006


Gerd,

we have had exactly the same problem on Solaris 10 w/ cups 1.2.1. Happened both on SPARC and x86 platforms.

What I found out so far it that the message
E [08/Jun/2006:09:53:17 -0100] cupsdUpdatePolling: all polling processes have exited!

is completely misleading. The cups-polld is still working when the message above is emitted.

Having a look at scheduler/dirsvc.c, we get:

    cupsdLogMessage(CUPSD_LOG_ERROR,
                    "cupsdUpdatePolling: all polling processes have exited!");
    cupsdStopPolling();

So when cupsd THINKS that the polling process has exited, it will kill it. Commenting out the second line, cups-polld continues running. Although the warning message above is still printed every 2-3 minutes, cups-polld is still running and DOES discover changes in remote printers which means it's still communicating with cupsd.

I do not have the time to investigate this any further; i.e. why cupsd thinks cups-polld is basically dead although it is not. So far we can live with the workaround!

Kind Regards
Patrick







> Hi all,
>
> I just compiled 1.2rc2 on Solaris 9. Running it with the same configuration I'm using on Linux boxes, I get a few seconds after start:
>
> E [19/Apr/2006:15:09:51 -0100] cupsdUpdatePolling: all polling processes have exited!
>
> trussing cupsd gives me:
>
> 7046:   sendto(4, " 6   3   i p p : / / a n".., 91, 0, 0xFFBFF7E8, 16) = 91
> 7044:   write(1, " E   [ 1 9 / A p r / 2 0".., 86)      = 86
> 7046:   write(2, " D E B U G 2 :  ", 8)                 = 8
> 7044:   close(5)                                        = 0
> 7046:   write(2, " [ c u p s - p o l l d  ".., 26)      Err#32 EPIPE
> 7044:   close(5)                                        Err#9 EBADF
> 7046:       Received signal #13, SIGPIPE [ignored]
> 7046:       Received signal #15, SIGTERM [default]
> 7046:         siginfo: SIGTERM pid=7044 uid=0
> 7044:   kill(7046, SIGTERM)                             = 0
> 7044:   time()                                          = 1145451630
>
> which simply means that cupsd sends SIGTERM to cups-polld (there is only one such process in my configuration).
>
> Any hints ?
>
> Kind regards
>
> Gerd





More information about the cups-devel mailing list