Bug 1174709 - cups-browsed restart fails with "status=1/FAILURE" when there is an invalid leftover queue from a previous run
Summary: cups-browsed restart fails with "status=1/FAILURE" when there is an invalid l...
Status: RESOLVED DUPLICATE of bug 1178604
: 1175597 (view as bug list)
Alias: None
Product: openSUSE Distribution
Classification: openSUSE
Component: Printing (show other bugs)
Version: Leap 15.2
Hardware: All Other
: P2 - High : Normal (vote)
Target Milestone: ---
Assignee: Johannes Meixner
QA Contact: Johannes Meixner
URL: https://github.com/OpenPrinting/cups-...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-07-30 06:25 UTC by Georg Jansing
Modified: 2020-11-19 06:51 UTC (History)
6 users (show)

See Also:
Found By: Community User
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---
werner: needinfo? (bjorn.lie)
werner: SHIP_STOPPER?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Georg Jansing 2020-07-30 06:25:42 UTC
The cups-browsed service from cups-filters package crashes, when a previously detected printer gets unavailable (better description by developer in the bugreport linked below).

This can be fixed by installing cups-filters from Printing repo (https://download.opensuse.org/repositories/Printing/openSUSE_Leap_15.2/), cups-filters version 1.27.2.

According to the change log update in the commit for the fix (see below) a version bump to 1.25.5 should be sufficient.

Bug report: https://github.com/OpenPrinting/cups-filters/issues/148
Fix commit: https://github.com/OpenPrinting/cups-filters/commit/a20ae814627bf8c3273e9316ff6210eee9c2ddc2
Comment 1 Lubos Kocman 2020-08-11 12:30:00 UTC
I'm making this a high priority because we've received a lot of feedback that network printing is unusable in Leap 15.2 compared to 15.1

https://en.opensuse.org/index.php?title=Portal:15.2/Retrospective#printers
Comment 2 Johannes Meixner 2020-08-12 09:23:14 UTC
Right now I noticed that cups-filters got a
major version upgrade from Leap 15.1 to Leap 15.2
which is surprising because I in general would expect
stable versions in Leap (unless there is a good reason).

I was not involved in that cups-filters version upgrade for Leap.

Perhaps those who did the cups-filters version upgrade could help here
(and provide reasoning why there was a version upgrade for Leap)?
Comment 4 Johannes Meixner 2020-09-11 09:16:29 UTC
*** Bug 1175597 has been marked as a duplicate of this bug. ***
Comment 5 Dr. Werner Fink 2020-09-15 10:13:44 UTC
Bjørn?  Would you please fix cups so that it will work even if there is an invalid leftover queue from a previous run?
Comment 6 Dr. Werner Fink 2020-10-14 08:44:25 UTC
Still no fixed verion for Leap 15.2 had started the cups-browsed with
 --debug ... the last few lines show a fatal error:

Wed Oct 14 10:26:30 2020 cups-browsed [BrowsePoll /var/run/cups/cups.sock:0]: IPP-Create-Subscription
Wed Oct 14 10:26:30 2020 cups-browsed [BrowsePoll /var/run/cups/cups.sock:0]: subscription ID=1381
Wed Oct 14 10:26:30 2020 cups-browsed (/var/run/cups/cups.sock): cupsEnumDests
Wed Oct 14 10:26:30 2020 Could not determine system default printer!
Wed Oct 14 10:26:30 2020 find_previous_queue() in THREAD 139866064273984
Wed Oct 14 10:26:30 2020 get-printer-attributes IPP call failed on printer col_empfang_canon_imagerunner_10_160_0_103 (implicitclass:col_empfang_Canon_ImageRunner_10_160_0_103).
Wed Oct 14 10:26:30 2020 ERROR: Unable to create print queue, ignoring printer.
Wed Oct 14 10:26:30 2020 ERROR: Unable to allocate memory.

I really like to know why a) cups had been updated for Leap 15.2 accordingly to the changelog done by Bjorn:

boole:cups # grep -n Filter cups-browsed.conf 
128:# Filtering of remote printers by other properties than IP addresses
133:# there is the BrowseFilter directive to filter by most of the known

* Wed Jun 12 2019 Dominique Leuenberger <dimstar@opensuse.org>
- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to
  shortcut the build queues by allowing usage of systemd-mini

* Fri Jun 07 2019 Bj370rn Lie <bjorn.lie@gmail.com>
- Update to version 1.25.0:
  * pdftoijs, pdftoopvp: Removed these deprecated filters
    completely as there is no demand for them any more. They also
    used unstable, undocumented APIs of Poppler.
  * pdftoraster: Changed from using unstable, undocumented APIs of
    Poppler to stable, documented ones, to improve maintainability
    of this filter, and with it of the cups-filters package.
  * libcupsfilters: Added support for color spaces CMY and RGBW
    when using filters without PPD file (mainly for development and
    debugging, option "print-color-mode" with values "cmy-XX" and
    "rgbw-XX" with XX being the number of bits per color).
- Changes from version 1.24.0:
  * cups-browsed: Integration of Deepak Patankar's Google Summer of
    Code 2018 project with the main goal of clustering different
    printers and automatically selecting the destination printers
    by job content and option/attribute settings.
  * cups-browsed, implicitclass: Support for mixed clusters of
    remote CUPS queues and IPP network printers. For this PPD files
    of remote CUPS queues are generated by cups-browsed based on
    IPP queries, as for native IPP printers, the number of jobs for
    load balancing is polled in a way that it works also with
    native IPP printers, the implicitclass backend sends jobs
    directly to the printer instead of re-queueing them via CUPS.
  * cups-browsed: Merge IPP attributes of several printers to
    combined attributes for the cluster to generate the cluster's
    PPD file, including PPD constraints for option combinations not
    fulfillable by any of the member printers, and finding
    reasonable, non-conflicting default settings.
  * cups-browsed: Selection algorithm for the destination printer
    for a job sent to the cluster. Based on the job settings
    requested such as page size, media type, print quality, the
    best most suitable printer in the cluster for the job will be
    selected.
  * cups-browsed, implicitclass: Filter jobs to clusters already
    locally. Due to the fact that a cluster's member printers are
    not exclusively non-raw CUPS queues with the complete filtering
    framework on the remote server, but also native IPP printers,
    we need to support generic driverless printers as destination.
    So we cannot pass on the input data unfiltered but need to
    filter locally. We let the cluster's PPD file emulate a PDF
    printer, letting the local CUPS queue of the cluster run
    pdftopdf and any pre-filters to turn the input into PDF and we
    let the implicitclass backend turn PDF into a format understood
    by the destination printer, supporting the 4 formats of
    driverless IPP printing: PDF, PWG Raster, Apple Raster, PCLm.
- Drop libpoppler-cpp0, libpoppler-devel and libpoppler-glib-devel
  BuildRequires.
- Add pkgconfig(poppler-cpp) BuildRequires following upstream
  changes.
Comment 7 Dr. Werner Fink 2020-10-14 08:46:35 UTC
From osc log

r34 | lnussel_factory | 2019-09-17 15:27:26 | 74b43e259b7d257713a904fdab287718 | 1.25.0 | rq730000
Newer source available from package origin. (host go-agent-stagingbot-4)

can we please  stop automatic updates/upgrades without testing those
Comment 8 Ludwig Nussel 2020-10-14 08:59:24 UTC
That request is about a SLE sync. You'd have to ask the SLE side about that.
Comment 9 Dr. Werner Fink 2020-10-14 09:05:04 UTC
(In reply to Ludwig Nussel from comment #8)
> That request is about a SLE sync. You'd have to ask the SLE side about that.

And who is ``SLE side`` ?? ... in fact it is not possible to use remote printers with a broken cups-browsed.  This affects nbg offices as well as at home where I do use a network printer.
Comment 17 Dr. Werner Fink 2020-10-14 13:52:51 UTC
The cups-browsed from package cups-filters of project Printing simply works (see below) maybe this would also help some of our cutomers and users out there:

osc getbinaries Printing cups-filters openSUSE_Leap_15.2/x86_64
sudo rpm -Uhv binaries/cups-filters-1.27.2-lp152.115.5.x86_64.rpm
warning: binaries/cups-filters-1.27.2-lp152.115.5.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 98c4529d: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:cups-filters-1.27.2-lp152.115.5  warning: /etc/cups/cups-browsed.conf created as /etc/cups/cups-browsed.conf.rpmnew
################################# [ 50%]
Cleaning up / removing...
   2:cups-filters-1.25.0-lp152.1.8    ################################# [100%]
sudo -i
boole:~ # systemctl start cups-browsed.service 
boole:~ # systemctl status cups-browsed.service 
* cups-browsed.service - Make remote CUPS printers available locally
   Loaded: loaded (/usr/lib/systemd/system/cups-browsed.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-10-14 15:47:54 CEST; 5s ago
 Main PID: 29295 (cups-browsed)
    Tasks: 3
   CGroup: /system.slice/cups-browsed.service
           `-29295 /usr/sbin/cups-browsed

Oct 14 15:47:54 boole systemd[1]: Started Make remote CUPS printers available locally.
Comment 18 Johannes Meixner 2020-11-19 06:51:33 UTC
The issue is meanwhile fixed for openSUSE Factory, cf.
https://bugzilla.suse.com/show_bug.cgi?id=1178604#c6

*** This bug has been marked as a duplicate of bug 1178604 ***