** 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 ((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 up to an hour to complete.
+ for us. We may have jobs that take hours to complete.
--
You received this bug notification because you are a member of Desktop
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/~desktop-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help : https://help.launchpad.net/ListHelp