Hide Forgot
Created attachment 1482708 [details] Bad strace Printing stopped working with several filters (f.e. foomatic-rip) after glibc update to 2.27.9000-10. Print jobs get stuck in print queue as pending-held. The problem is caused by upstream commit https://sourceware.org/git/?p=glibc.git;a=commit;h=2cc7bad0ae0a412e75270be5ed41d45c03e7a931 - which made EOF sticky, but it changed pipe concatenation behavior, which broke printing filters at least. Steps to reproduce: 0) install cups and foomatic 1) Add 'FileDevice Yes' into /etc/cups/cups-files.conf 2) $ sudo systemctl restart cups 3) $ sudo lpadmin -p test -v file:/tmp/printout -m foomatic:Canon-imageRunner_C5185i-Postscript.ppd -E 4) $ lp -d test /etc/fstab 5) '$ lpstat -o test' produces an output - there is pending job
Created attachment 1482709 [details] Good strace
Proposed as a Blocker for 29-final by Fedora user eischmann using the blocker tracking app because: This bug breaks printing over network for many printers, thus have a big impact on users. To reproduce it, you need to set up a network printer the default way via printers panel in GNOME Control Center. It doesn't affect cups-browsed.
To be precise, 1) it can be reproduced even by creating the printer by lpadmin (with any device uri, even file device uri), through CUPS web interface and system-config-printer. Essential part for reproducing is to have file which needs to be run through filters before it is send to printer. This can be done by creating a printer with ppd. 2) printing from client through print queues discovered by cups-browsed will not work if server, which shares printers, is F29+ (or if it has glibc-2.28 or backported patch mentioned above), because filtering is affected. Cups-browsed uses design in which it sends unfiltered data to server, where filtering happens. So if server is affected by this issue, then printing through cups-browsed queues is no-go too. Only other way to avoid this issue is send the print data to a printer as unfiltered, e.g. raw. But this is unrecommended and shouldn't be used for other purposes than debugging. $ lp -d <printer> -o raw <file>
Discussed during the 2018-09-17 blocker review meeting: [1] The decision to classify this bug as a "RejectedBlocker" was made as this is obviously an annoying bug for some, but the release criteria don't cover printing in any way and therefore this bug cannot be classified as a blocker. [1] https://meetbot.fedoraproject.org/fedora-blocker-review/2018-09-17/f29-blocker-review.2018-09-17-16.02.txt
I was pointed to: https://sourceware.org/ml/libc-alpha/2018-09/msg00235.html https://github.com//OpenPrinting/cups-filters/issues/58
Geof, when you reject a high-profile annoying bug, please make sure it's at least tagged as a common bug. Thanks. Adding it now.
glibc upstream will not revert this change and suggests that cups-filters should be fixed instead. Reassigning accordingly.
cups-filters-1.20.3-8.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-4f7176aa5c
cups-filters-1.20.3-8.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-4f7176aa5c
cups-filters-1.20.3-9.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-26b38a126f
cups-filters-1.20.3-9.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-26b38a126f
cups-filters-1.20.3-9.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.