Bug 1761051

Summary: xsane doesnt find Canon LIDE 220
Product: [Fedora] Fedora Reporter: Philippe Troin <phil>
Component: sane-backendsAssignee: Nils Philippsen <nphilipp>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 30CC: jridky, nphilipp, thibault.north, zdohnal
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: sane-backends-1.0.28-4.fc30 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-10-19 17:41:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Philippe Troin 2019-10-12 06:01:54 UTC
Description of problem:
xsane cannot find a USB-attached Canon LIDE 220.

Version-Release number of selected component (if applicable):
xsane-0.999-33.fc30.x86_64
sane-backends-1.0.28-1.fc30.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Start xsane

Actual results:
An error dialog saying "no devices available".

Expected results:
xsane should start.

Additional info:
sane-find-scanner output:

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

could not open USB device 0x8087/0x8000 at 002:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 002:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0003 at 006:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 005:001: Access denied (insufficient permissions)
could not open USB device 0x8087/0x8008 at 001:002: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 001:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0003 at 004:001: Access denied (insufficient permissions)
could not open USB device 0x051d/0x0002 at 003:003: Access denied (insufficient permissions)
found USB scanner (vendor=0x04a9 [Canon], product=0x190f [CanoScan], chip=GL848+) at libusb:003:008
found USB scanner (vendor=0x03f0 [Hewlett-Packard], product=0x2f17 [HP Color LaserJet 2605dn]) at libusb:003:005
could not open USB device 0x046d/0xc50e at 003:015: Access denied (insufficient permissions)
could not open USB device 0x0451/0x8142 at 003:013: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0002 at 003:001: Access denied (insufficient permissions)
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.

The device that should be found is: vendor=0x04a9 [Canon], product=0x190f [CanoScan]

Downgrading sane-backends down to sane-backends-1.0.27-24.fc30.x86_64 solves the issue.

Comment 1 Zdenek Dohnal 2019-10-14 13:23:32 UTC
Hi Philippe,

thank you for reporting the issue!

Actually it is caused by missing genesys backend in sane-backends as whole, who took care of this type of scanners.

Genesys backend is now written in C++11 and it cannot be built without it due settings during configure phase. Buildroot did not have gcc-c++ during build and configure produced only warning about genesys will not be created.

Adding gcc-c++ to buildrequires fixes it.

Would you mind trying this build if it fixes it? https://koji.fedoraproject.org/koji/taskinfo?taskID=38290736

Comment 2 Philippe Troin 2019-10-14 15:53:43 UTC
After updating to sane-backends-1.0.28-2.fc30.x86_64 from the Koji link, the scanner is now detected but I'm experiencing a crash when clicking on the XSane "Preview" button:

/usr/include/c++/9/bits/stl_vector.h:1042: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = short unsigned int; _Alloc = std::allocator<short unsigned int>; std::vector<_Tp, _Alloc>::reference = short unsigned int&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.
(gdb) bt
#0  0x00007ffff73ade35 in raise () at /lib64/libc.so.6
#1  0x00007ffff7398895 in abort () at /lib64/libc.so.6
#2  0x00007fffe740b0c8 in std::__replacement_assert(char const*, int, char const*, char const*)
    (__file=__file@entry=0x7fffe74703e0 "/usr/include/c++/9/bits/stl_vector.h", __line=__line@entry=1042, __function=__function@entry=0x7fffe74712f8 "std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = short unsigned int; _Alloc = std::allocator<short unsigned int>; std::vector<_"..., __condition=__condition@entry=0x7fffe7470290 "__builtin_expect(__n < this->size(), true)") at /usr/include/c++/9/x86_64-redhat-linux/bits/c++config.h:2533
#3  0x00007fffe746a1af in std::vector<unsigned short, std::allocator<unsigned short> >::operator[](unsigned long) (__n=<optimized out>, this=<optimized out>) at /usr/include/c++/9/bits/stl_vector.h:1040
#4  0x00007fffe746a1af in sanei_genesys_generate_gamma_buffer(Genesys_Device*, Genesys_Sensor const&, int, int, int, unsigned char*) (dev=0x5555558b4e70, sensor=..., bits=<optimized out>, max=65535, size=<optimized out>, gamma=0x555555ab5790 "") at genesys_low.cc:1232
#5  0x00007fffe746a4ae in sanei_genesys_send_gamma_table(Genesys_Device*, Genesys_Sensor const&) (dev=0x5555558b4e70, sensor=...) at genesys_low.cc:1271
#6  0x00007fffe7403cd2 in genesys_start_scan (lamp_off=0, dev=0x5555558b4e70) at genesys.cc:3849
#7  0x00007fffe7403cd2 in sane_start_impl(void*) (handle=0x55555593b410) at genesys.cc:7230
#8  0x00007fffe7403cd2 in sane_start_impl(void*) (handle=0x55555593b410) at genesys.cc:7208
#9  0x00007fffe740540e in <lambda()>::operator() (__closure=<optimized out>) at genesys.cc:7295
#10 0x00007fffe740540e in wrap_exceptions_to_status_code<sane_genesys_start(SANE_Handle)::<lambda()> > (func=0x7fffe7473953 "sane_genesys_start", function=...) at genesys_error.h:165
#11 0x00007fffe740540e in sane_genesys_start(SANE_Handle) (handle=<optimized out>) at genesys.cc:7293
#12 0x0000555555594008 in preview_scan_start (p=p@entry=0x555555a05c00) at ../../src/xsane-preview.c:2000
#13 0x0000555555595342 in preview_scan (p=0x555555a05c00) at ../../src/xsane-preview.c:5130
#14 0x00007ffff796b742 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#15 0x00007ffff797f4f4 in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0
#16 0x00007ffff798834e in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#17 0x00007ffff7988973 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#18 0x00007ffff7b1453e in  () at /lib64/libgtk-x11-2.0.so.0
#19 0x00007ffff796b742 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#20 0x00007ffff797f639 in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0
#21 0x00007ffff798834e in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#22 0x00007ffff7988973 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#23 0x00007ffff7b13123 in  () at /lib64/libgtk-x11-2.0.so.0
#24 0x00007ffff7bd00cd in  () at /lib64/libgtk-x11-2.0.so.0
#25 0x00007ffff796b742 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#26 0x00007ffff797ed94 in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0
#27 0x00007ffff79879c1 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#28 0x00007ffff7988973 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#29 0x00007ffff7d053cd in  () at /lib64/libgtk-x11-2.0.so.0
#30 0x00007ffff7bcdc9c in gtk_propagate_event () at /lib64/libgtk-x11-2.0.so.0
#31 0x00007ffff7bce0ab in gtk_main_do_event () at /lib64/libgtk-x11-2.0.so.0
#32 0x00007ffff7a19680 in  () at /lib64/libgdk-x11-2.0.so.0
#33 0x00007ffff7883ecd in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#34 0x00007ffff7884260 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#35 0x00007ffff7884593 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#36 0x00007ffff7bcd042 in gtk_main () at /lib64/libgtk-x11-2.0.so.0
#37 0x00005555555e26ed in xsane_interface (argv=<optimized out>, argc=<optimized out>) at ../../src/xsane.c:6206
#38 0x00005555555727cc in main (argc=1, argv=0x7fffffffde08) at ../../src/xsane.c:6406

Comment 3 Zdenek Dohnal 2019-10-14 16:06:29 UTC
That's the bug https://bugzilla.redhat.com/show_bug.cgi?id=1761530 , please follow discussion regarding this issue there.

Comment 4 Fedora Update System 2019-10-17 12:56:18 UTC
FEDORA-2019-4c80d8cf5f has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-4c80d8cf5f

Comment 5 Fedora Update System 2019-10-17 23:42:18 UTC
sane-backends-1.0.28-3.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-4c80d8cf5f

Comment 6 Fedora Update System 2019-10-18 08:52:11 UTC
FEDORA-2019-4e0ac1c8bb has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-4e0ac1c8bb

Comment 7 Fedora Update System 2019-10-18 21:00:13 UTC
sane-backends-1.0.28-4.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-4e0ac1c8bb

Comment 8 Fedora Update System 2019-10-19 17:41:46 UTC
sane-backends-1.0.28-4.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.