Bug 122829 - CUPS loses print jobs if hot-pluggable printer removed while spooling.
Summary: CUPS loses print jobs if hot-pluggable printer removed while spooling.
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: cups
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Tim Waugh
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-05-08 19:41 UTC by David Woodhouse
Modified: 2007-11-30 22:10 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2004-05-12 09:04:49 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description David Woodhouse 2004-05-08 19:41:14 UTC
See the sentence "when this happens, CUPS loses the print job which
was currently being spooled" in #122827.

Cups shouldn't see this as a successful print job. The page was not
printed -- and probably wasn't even completely sent to the printer, or
the printer would have printed it. I suspect CUPS will lose the job
even if the printer is disconnected for other reasons during printing. 

Certainly the acknowledgment had not been received from the printer
telling us that it had actually been rendered.

Comment 1 Tim Waugh 2004-05-11 12:05:12 UTC
Seems that backends are meant to handle retries themselves.  This is
what the USB backend currently does:

while (stuff to do)
  try writing to fd
  if it failed, break
close fd
exit 0

In other words, the USB backend gives up instead of trying again: it
treats a failure to transfer the data as a permanent error.

Comment 2 Tim Waugh 2004-05-11 13:35:23 UTC
Reported upstream.

Comment 3 Tim Waugh 2004-05-12 09:04:49 UTC
http://www.cups.org/str.php?L715

Comment 4 David Woodhouse 2004-05-12 09:31:35 UTC
The fix is crap. We should be reading status back from the printer,
not just counting the bytes we threw at it.


Note You need to log in before you can comment on or make changes to this bug.