[Touch-packages] [Bug 1890572] Re: USB backend never ends if the printer is not connected
Hi Till, the issue was reported in the Apple repository: https://github.com/apple/cups/issues/5817 I will check whether this was already fixed in OpenPrinting or not. -- 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: Fix Released 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
[Touch-packages] [Bug 1890572] Re: USB backend never ends if the printer is not connected
Looking at the version of cups in Impish it seems that this change has made it into cups, subsequently I'm setting the bug to fix released. ** Changed in: cups (Ubuntu) Status: New => Fix Released -- 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: Fix Released 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
[Touch-packages] [Bug 1890572] Re: USB backend never ends if the printer is not connected
Please report on the new GitHub of CUPS on OpenPrinting: https://github.com/OpenPrinting/cups/issues On Apple the CUPS project is dead and bug reports probably not read any more. -- 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
[Touch-packages] [Bug 1890572] Re: USB backend never ends if the printer is not connected
Hi Sebastian, the patch set the job state to backend error. I don't think openprinting is the right error here. The problem is in the backend (the USB backend) when it's not possible to communicate with a USB printer. This usually means that the printer is not connected. -- 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
[Touch-packages] [Bug 1890572] Re: USB backend never ends if the printer is not connected
What's the status of the patch upstream? The cups reports mentioned earlier got close asking to report to openprinting instead, did you do that? -- 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
[Touch-packages] [Bug 1890572] Re: USB backend never ends if the printer is not connected
** No longer affects: cups -- 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
[Touch-packages] [Bug 1890572] Re: USB backend never ends if the printer is not connected
** Changed in: cups Status: New => Fix Released -- 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: Fix Released 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/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
[Touch-packages] [Bug 1890572] Re: USB backend never ends if the printer is not connected
** Changed in: cups Status: Unknown => New -- 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: New 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/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
[Touch-packages] [Bug 1890572] Re: USB backend never ends if the printer is not connected
** Also affects: cups via https://github.com/apple/cups/issues/5817 Importance: Unknown Status: Unknown ** Changed in: cups (Ubuntu) Importance: Undecided => Low -- 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: New 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/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
[Touch-packages] [Bug 1890572] Re: USB backend never ends if the printer is not connected
The attachment "usb-libusb.c.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team. [This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.] ** Tags added: 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
[Touch-packages] [Bug 1890572] Re: USB backend never ends if the printer is not connected
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
[Touch-packages] [Bug 1890572] Re: USB backend never ends if the printer is not connected
** Description changed: - USB backend never ends if the printer is not connected. we have been + 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); - } + 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://Brother/PJ-773?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 stopping the job by hand are not options - for us. We can have job that take up to an hour to complete. + Setting a work timeout policy or manually stopping work are not options + for us. We may have jobs that take up to an hour to complete. ** Description changed: 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://Brother/PJ-773?serial=? + 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 work timeout policy or manually stopping work are not options for us. We may have jobs that take up to an hour to complete. ** Description changed: 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 work timeout policy or manually stopping work are not options + Setting a job timeout policy or manually stopping work are not options for us. We may have jobs that take up to an hour to complete. ** Description changed: 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