Bug 1778425

Summary: scanimage segfaults for brother scan drivers due missing deprecated libnsl
Product: [Fedora] Fedora Reporter: Alex Smirnoff <ark>
Component: sane-backendsAssignee: Nils Philippsen <nphilipp>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 32CC: nphilipp, thibault.north, zdohnal
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/2241a60ed9e0791c665045273ce84284ffadf825
Whiteboard: abrt_hash:6e96510c1c547935389c3aa42efb00a4c1664350;VARIANT_ID=workstation;
Fixed In Version: sane-backends-1.0.29-8.fc32 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-05-14 02:35:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace
none
File: cgroup
none
File: core_backtrace
none
File: cpuinfo
none
File: dso_list
none
File: environ
none
File: exploitable
none
File: limits
none
File: maps
none
File: mountinfo
none
File: open_fds
none
File: proc_pid_status none

Description Alex Smirnoff 2019-11-30 23:14:59 UTC
Description of problem:
scanimage -L crashes, too

Version-Release number of selected component:
sane-backends-1.0.28-5.fc30

Additional info:
reporter:       libreport-2.11.3
backtrace_rating: 4
cmdline:        scanimage
crash_function: __pthread_initialize_minimal_internal
executable:     /usr/bin/scanimage
journald_cursor: s=287531d230fe44bebd927edbfa7a85ae;i=48696;b=df5c6b7350da45a48b8223cb027e1e6b;m=ff9e46a20;t=5989159570af3;x=d2928a4d19caa036
kernel:         5.3.12-200.fc30.x86_64
rootdir:        /
runlevel:       N 5
type:           CCpp
uid:            1000

Truncated backtrace:
Thread no. 1 (2 frames)
 #0 __pthread_initialize_minimal_internal at nptl-init.c:321
 #1 _init at ../sysdeps/x86_64/crti.S:74

Comment 1 Alex Smirnoff 2019-11-30 23:15:02 UTC
Created attachment 1640960 [details]
File: backtrace

Comment 2 Alex Smirnoff 2019-11-30 23:15:04 UTC
Created attachment 1640961 [details]
File: cgroup

Comment 3 Alex Smirnoff 2019-11-30 23:15:05 UTC
Created attachment 1640962 [details]
File: core_backtrace

Comment 4 Alex Smirnoff 2019-11-30 23:15:07 UTC
Created attachment 1640963 [details]
File: cpuinfo

Comment 5 Alex Smirnoff 2019-11-30 23:15:12 UTC
Created attachment 1640964 [details]
File: dso_list

Comment 6 Alex Smirnoff 2019-11-30 23:15:14 UTC
Created attachment 1640965 [details]
File: environ

Comment 7 Alex Smirnoff 2019-11-30 23:15:15 UTC
Created attachment 1640966 [details]
File: exploitable

Comment 8 Alex Smirnoff 2019-11-30 23:15:18 UTC
Created attachment 1640967 [details]
File: limits

Comment 9 Alex Smirnoff 2019-11-30 23:15:29 UTC
Created attachment 1640968 [details]
File: maps

Comment 10 Alex Smirnoff 2019-11-30 23:15:30 UTC
Created attachment 1640969 [details]
File: mountinfo

Comment 11 Alex Smirnoff 2019-11-30 23:15:32 UTC
Created attachment 1640970 [details]
File: open_fds

Comment 12 Alex Smirnoff 2019-11-30 23:15:39 UTC
Created attachment 1640971 [details]
File: proc_pid_status

Comment 13 Ben Cotton 2020-04-30 20:40:13 UTC
This message is a reminder that Fedora 30 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 30 on 2020-05-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '30'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 30 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 14 Zdenek Dohnal 2020-05-04 07:43:11 UTC
Hi Alex,

thank you for reporting the issue!

Are you able to reproduce the issue with the latest sane-backends and updated Fedora?

Comment 15 Alex Smirnoff 2020-05-06 19:43:37 UTC
Nope. I think there were some unsatisfied dependencies to blame, so it is more a packaging flaw rather than a software bug. IIRC the problem disappeared after I installed libnsl, but I forgot to update the bug info :(

Comment 16 Zdenek Dohnal 2020-05-07 04:12:52 UTC
Thank you for the info, Alex!

Installing libnsl sounds familiar to me - isn't your scanner manufacturer Samsung by any chance? IIRC There was an issue with samsung 3rd party drivers not being able to scan because they're are built with older libnsl, which is now not in glibc.

Comment 17 Alex Smirnoff 2020-05-07 05:57:10 UTC
It is Brother, an old one, apparently the issue is the same!

▲ ~ ldd /usr/lib64/sane/libsane-brother2.so                                                                                                               
	linux-vdso.so.1 (0x00007ffc82941000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f57db01a000)
	libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f57daffe000)
	libusb-0.1.so.4 => /lib64/libusb-0.1.so.4 (0x00007f57daff6000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f57daeb0000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f57daea9000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f57dacdf000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f57db18e000)
	libusb-1.0.so.0 => /lib64/libusb-1.0.so.0 (0x00007f57dacc0000)
	libudev.so.1 => /lib64/libudev.so.1 (0x00007f57dac96000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f57dac7b000)

so the actual problem is on the proprietary driver side. Yet I think it would be nice to have a workaround for that.

Comment 18 Alex Smirnoff 2020-05-07 06:28:31 UTC
Just noticed that the driver itself is GPLed long time ago. So it could be repackaged in a more sensible way. Requires some effort to compile it in a kosher way on a modern system, though.

Comment 19 Zdenek Dohnal 2020-05-11 07:13:36 UTC
What project is it? brscan? Is there a source code available? AFAIK there are only pre-compiled binaries, which doesn't solve the problem.

The real problem is that pre-compiled binary depends on deprecated library, which can go away anytime.

Adding a weak dependency on libnsl to sane-backends is not good solution too - most people don't use them, so libnsl defined as weak dependency will bring up libnsl to most users, not just Brother users.

I'll use 'Suggests:' for libnsl https://docs.fedoraproject.org/en-US/packaging-guidelines/WeakDependencies/ for now.

Comment 20 Zdenek Dohnal 2020-05-11 07:32:24 UTC
It will be built for F31, F32 and F33.

Comment 21 Fedora Update System 2020-05-11 08:01:16 UTC
FEDORA-2020-1ac44833fc has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-1ac44833fc

Comment 23 Fedora Update System 2020-05-12 07:18:05 UTC
FEDORA-2020-1ac44833fc has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-1ac44833fc`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-1ac44833fc

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 24 Zdenek Dohnal 2020-05-12 09:03:36 UTC
I looked into the source tarball - unfortunately there are still some shared libraries which are pre-compiled and its source code is missing - libbrcolm, libbrscandec... so it is not good for packaging in Fedora IIRC.

Comment 25 Alex Smirnoff 2020-05-12 17:05:27 UTC
Apparently you are right, there are blobs :(

Comment 26 Fedora Update System 2020-05-14 02:35:55 UTC
FEDORA-2020-1ac44833fc has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.