From: Zdenek D. <zd...@re...> - 2022-02-22 06:55:34
|
Hi all, there were changes in libusb 1.0.25 which is in Fedora 36 - f.e. default USB context is not initialized unless you specifically pass NULL into `libusb_init()` - gutenprint53+usb backend actually depended on this hidden behavior, because it passes its own context address into `libusb_init()` instead of NULL. So the change causes the backend to crash if you run it: ======================================= $ sudo /usr/lib/cups/backend/gutenprint53+usb DEBUG: Multi-Call Dye-sublimation CUPS Backend version 0.110G DEBUG: Copyright 2007-2020 Solomon Peachy DEBUG: This free software comes with ABSOLUTELY NO WARRANTY! DEBUG: Licensed under the GNU GPL. Run with '-G' for more details. ... DEBUG: [ -R ] # Reset printer DEBUG: [ -s ] # Query printer status STATE: +org.gutenprint.searching-for-device Segmentation fault ======================================== The backtrace is available in the related bugzilla [1]. According libusb maintainer, Ben Berg, the backend can work with the default USB context and he prepared the patch for it (the file is attached). I was able to verify the patch fixes the crash, but I don't have a device supported by gutenprint itself, so I couldn't do an additional sanity testing. The patch looks good to me though. Would you mind adding the patch to the project if it looks good for you? Thank you in advance! Zdenek [1] https://bugzilla.redhat.com/show_bug.cgi?id=2055504 -- Zdenek Dohnal Software Engineer Red Hat, BRQ-TPBC |