Open mvogt1 opened 1 year ago
When I restarted the cups process the client behaves like:
sendto(5, "OPTIONS * HTTP/1.1\r\nConnection: Upgrade\r\nHost: cupsserver.domain.de:631\r\nUpgrade: TLS/1.1,TLS/1.0\r\nUser-Agent: CUPS/1.6.3 (Linux 3.10.0-1160.80.1.el7.x86_64; x86_64) IPP/2.0\r\n\r\n", 173, 0, NULL, 0) = 173
poll([{fd=5, events=POLLIN}], 1, 60000) = 1 ([{fd=5, revents=POLLIN|POLLERR|POLLHUP}])
recvfrom(5, 0x1582dfc, 2048, 0, NULL, NULL) = -1 ECONNRESET (Connection reset by peer)
poll([{fd=5, events=POLLIN}], 1, 60000) = 1 ([{fd=5, revents=POLLIN|POLLHUP}])
recvfrom(5, "", 2048, 0, NULL, NULL) = 0
close(5) = 0
sendto(3, "<51>Dec 12 14:49:56 udev-configure-printer: failed to send IPP request 16395", 76, MSG_NOSIGNAL, NULL, 0) = 76
exit_group(1) = ?
+++ exited with 1 +++
This maybe is helpfull.
The code for this part is:
static ipp_t *
cupsDoRequestOrDie (http_t *http,
ipp_t *request,
const char *resource)
{
ipp_t *answer = cupsDoRequest (http, request, resource);
if (answer == NULL)
{
syslog (LOG_ERR, "failed to send IPP request %d",
ippGetOperation (request));
exit (1);
}
[...]
Which seems in the cups api: https://github.com/apple/cups/blob/master/cups/request.c#L278
And this calls: https://github.com/apple/cups/blob/master/cups/request.c#L80
And this is at least some loop, but I cannot tell if this is reached: https://github.com/apple/cups/blob/master/cups/request.c#L193
So the client is in an endless loop until the cups server is restartet.
This happend today:
Cause is unknown. Maybe the cups server hit a rate limit because it prints:
The client is in an endless loop, this flooded the server, which prints the above message until the HD ist full, then cups does not print anymore.
The endless loop of the client straced, from connect->close->to connect again.
When looking at the source code:
https://github.com/OpenPrinting/system-config-printer/blob/master/udev/udev-configure-printer.c
I dont see this loop, the pid is always the same, so its whithin this process. The compiled version is from:
system-config-printer-1.4.8-2.el7.3.src.rpm
Which is rather old based on system-config-printer-1.4.1.tar.xz.
Restarting cups exited the client binary, no problem anymore.
The reason for the endless looping client is unknown.