We have prepared a patch for the package in Ubuntu 18.04 (CUPS 2.2.7).
We would like to request to include a solution like this for at least
Ubuntu 18.04.

We also made a pull request in the official CUPS repository:

https://github.com/apple/cups/issues/5817
https://github.com/apple/cups/pull/5818

However, we don't have plans to upgrade or change the distribution we
use (Ubuntu 18.04), and this issue is affecting us considerably.

** Bug watch added: github.com/apple/cups/issues #5817
   https://github.com/apple/cups/issues/5817

** Patch added: "usb-libusb.c.patch"
   
https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1890572/+attachment/5399506/+files/usb-libusb.c.patch

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to cups in Ubuntu.
https://bugs.launchpad.net/bugs/1890572

Title:
  USB backend never ends if the printer is not connected

Status in cups package in Ubuntu:
  New

Bug description:
  USB backend never ends if the printer is not connected. We have been
  able to identify a infinity loop in print_device function in usb-
  libusb.c file:

  ```
    fprintf(stderr, "DEBUG: Printing on printer with URI: %s\n", uri);
    while ((g.printer = find_device(print_cb, uri)) == NULL)
    {
      _cupsLangPrintFilter(stderr, "INFO",
      _("Waiting for printer to become available."));
      sleep(5);
    }
  ```

  It's also easy to test by invoking the backend by hand:

  ```
  # export DEVICE_URI='usb://Printer/Model?serial=?'
  # /usr/lib/cups/backend/usb 0 root title 1 '' data.file

  DEBUG: Loading USB quirks from "/usr/share/cups/usb".
  DEBUG: Loaded 159 quirks.
  DEBUG: Printing on printer with URI: usb://Printer/Model?serial=?
  DEBUG: libusb_get_device_list=6
  INFO: Waiting for printer to become available.
  DEBUG: libusb_get_device_list=6
  INFO: Waiting for printer to become available.
  DEBUG: libusb_get_device_list=6
  INFO: Waiting for printer to become available.
  DEBUG: libusb_get_device_list=6
  INFO: Waiting for printer to become available.
  DEBUG: libusb_get_device_list=6
  INFO: Waiting for printer to become available.
  ...

  ```

  Setting a job timeout policy or manually stopping work are not options
  for us. We may have jobs that take hours to complete.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1890572/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to