-
Notifications
You must be signed in to change notification settings - Fork 464
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IPP printer gets paused after MaxJobTime even though the policy is retry-job #5517
Comments
Investigating; as for logging, such logging already exists when debug logging is enabled and for job errors... |
Thank you. If have a moment, could you please point out how the logging message looks in the referenced error_log? The printer had got paused around 21:55, but I couldn't find a relevant line in the debug log that would clearly tell me that it happened. I forgot to attach cupsd.conf. Here it is.
|
The log snippet you sent contains the following at the end:
Tracing things back it looks like it is returning status 4 because the Create-Job request was interrupted:
which tells me this printer doesn't implement IPP properly (Create-Job MUST NOT hang like this, Send-Document and Print-Job might but at that point we are able to track the progress of the remote job...) Seems like a) cupsd should ignore the exit status when a job has been canceled and b) the IPP backend should return OK when it gets SIGTERM. |
Thank you so much. i understand this one is fixed, it's just for any future situations where a backend stops the printer for any other reason. |
I added this patch to my 2.2.8 server and confirmed that it works. Thanks again! |
Mike, what exactly should happen on the printer side? Cover open can easily be rectified by a user, at which point the job would continue to print. Should it time out? I asked Alex to send me a capture that i can share with the developers, but if you have a particular solution in mind, please share it. regards Uli |
@UliWehner The printer should accept the Create-Job request or reject it with server-error-service-unavailable or server-error-busy so that the client retries at a later time. The only time you have the printer pause the data transfer during a print is with the Print-Job and Send-Document requests. Otherwise, it looks like the printer is correctly returning the cover-open printer-state-reason, so the issue is just that the IPP backend is hung waiting for the printer to respond to the Create-Job request. |
I found that when a job is sent to a printer over IPP, and the printer reports back any kind of an issue (cover open, no toner, jam, etc). the job is held in the queue for the MaxJobTime.
However, after MaxJobTime not only the job gets cancelled, but the printer itself gets paused as well and never unpaused. It's surprising because server-wide policy is retry-job and printer's own policy is retry-job.
Here is the printer setup:
Attached is a debug log for a Job 72, that was sent on 20:55, got cancelled on 21:55 (because printer cover was open), and the printer itself had become paused. (error_log_Job_72.txt)
Also attached cupsd.conf, cups-files.conf, and whole error_log from 20:55 to 21:55.
Could this please be looked at? It seems to be an unexpected behaviour of IPP backend for such a setup.
Relevant feature request: please add a line to the log showing when the printer was paused and why. It exists for manual cupsenable/cupsdisable (Printer "blip-color" started by "admin"), but doesn't seem to exist for internal events like this one.
The text was updated successfully, but these errors were encountered: