Skip to content

Tolerate slow large-job uploads on small-buffer printers - #94

Merged
boingball merged 9 commits into
mainfrom
fix/canon-large-job-upload
Sep 4, 2026
Merged

Tolerate slow large-job uploads on small-buffer printers#94
boingball merged 9 commits into
mainfrom
fix/canon-large-job-upload

Conversation

@boingball

Copy link
Copy Markdown
Owner

Summary

  • give document-body uploads a 180-second no-progress allowance while retaining the existing short connection, control-message and response timeouts
  • distinguish a body-upload stall as error -19 instead of folding it into the generic send failure
  • record document bytes sent/total in the debug log and retained status sidecar
  • expose the new stall reason in View Spooler
  • bump both driver builds to 41.18

Why

In #91, the Canon TS8360 accepts a five-page duplex PWG Raster document but a 36-page document prints only the first page and part of the second. MintPRINT already streams the file in small writes and TCP supplies back-pressure, but driver 41.17 abandons any write which cannot make progress for 20 seconds. A small printer receive buffer can fill during a long raster job while the printer processes a page, creating exactly that pause.

This change keeps the bounded-send protection introduced for genuinely hung printers. It only lengthens the allowed stall for document data; connection setup, IPP headers and the final response remain tightly bounded.

Beta test for #91

  1. Install the correct 41.18 driver build and reboot so printer.device unloads the resident 41.17 segment.
  2. Enable Debug and print the same 36-page duplex WordWorth document.
  3. If it still fails, attach T:MintPRINT-driver.log and the retained .status sidecar. Error -19 plus bytes sent/total will show exactly where the Canon stopped draining the connection.

A View Spooler Retry uses the copy of ipp_client.c linked into MintPrintSettings, so testing Retry specifically requires the beta Settings executable as well as the beta driver. Reprinting from WordWorth tests the driver change directly.

Refs #91.

@boingball
boingball merged commit 8a0c952 into main Sep 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant