Skip to content

[Regression 2.1.1 → 2.2.1] Copy count lost for uncollated jobs: no -dNumCopies, single copy printed #231

Description

@vinod2807

Summary

Regression between 2.1.1 and 2.2.1: for an uncollated job with copies=2, the filter chain no longer produces 2 copies. Only a single copy is printed. Downgrading libcupsfilters 2.2.1 → 2.1.1 fixes it.

Environment (broken side)

  • Arch Linux (rolling), CUPS 2.4.19, cups-filters 2.0.1-2, Ghostscript 10.07.1, PAPPL 1.4.12, pappl-retrofit 1.0b2
  • libcupsfilters 2.2.1-2 → broken; libcupsfilters 2.1.1-4 (Arch archive build) → works
  • Same machine's Fedora 44 partition ships libcupsfilters 2.1.1-9.fc44 → works
  • Printer path: CUPS driverless queue → legacy-printer-app (PAPPL retrofit) on localhost:8000 → Konica Minolta 206 GDI driver (245igdirf) → USB. Driver PPD has *cupsManualCopies: False (printer claims hardware copies).
  • Client: gThumb 3.12.10 (also reproducible with plain lp -n 2, so not app-specific). gThumb sends uncollated copies (multiple-document-handling=separate-documents-uncollated-copies, Collate=False, copies=2).

Reproduction

lp -d <queue> -n 2 <1-page-file>

Only 1 copy prints with 2.2.1; 2 copies print with 2.1.1.

Evidence

PAPPL debug log, Ghostscript invocation with 2.2.1 (broken — note: no -dNumCopies, no page duplication):

gs ... -sDEVICE=cups ... -dMediaPosition=1 -dDEVICEWIDTHPOINTS=595 ... -f -_
[Job 36] Printing page 1, 1 copies

Same job type on Fedora's 2.1.1 (works — -dNumCopies=2 is passed):

gs ... -sDEVICE=cups ... -dMediaPosition=1 -dNumCopies=2 -dDEVICEWIDTHPOINTS=595 ... -f -_
[Job 108] Printing page 1, 2 copies

After downgrading Arch to 2.1.1, the same test emits two raster pages (Printing page 1, 1 copies + Printing page 2, 1 copies) and the captured backend data doubles (2315 → 4482 bytes) — i.e. 2.1.1 compensates with software page duplication while 2.2.1 does neither (no duplication, no NumCopies handoff).

Additionally, running pdftopdf (cups-filters 2.0.1 front-end over libcupsfilters) directly:

PPD=<driver-ppd> /usr/lib/cups/filter/pdftopdf 1 user test 2 "PageSize=A4 Collate=True" 1-page.pdf > out.pdf

out.pdf still has 1 page and carries no /NumCopies, with or without Collate=True/False.

Expected

With 2.2.1, an uncollated copies=2 job against a hardware-copies driver should either duplicate the pages in software or pass the count down (-dNumCopies=2 as 2.1.1 did) — currently the count is lost entirely.

Notes

  • Driver binary (245igdirf) is byte-identical on both sides (md5 89afcdfb969a11190c58bce408fc8aa8), PPDs identical, so the behavioral difference is entirely in libcupsfilters 2.1.1 → 2.2.1.
  • Happy to provide full PAPPL/CUPS debug logs for both versions on request.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions