Summary: | media-gfx/xsane receives "SIGSEGV" signal after "Lampoff-time" has been reached and choosing another scan mode | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Ramon Fischer <Ramon_Fischer> |
Component: | Current packages | Assignee: | Printing Team <printing> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | floppym |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Hewlett-Packard:Scanjet2200c.drc
xsane configuration Censored strace_xsane plustek.conf xsane_backtrace.log |
Description
Ramon Fischer
2021-09-28 20:33:47 UTC
Created attachment 741807 [details]
Hewlett-Packard:Scanjet2200c.drc
Hewlett-Packard:Scanjet2200c.drc
Created attachment 741810 [details]
xsane configuration
20210928-211026_screenshot.png
Created attachment 741813 [details]
Censored strace_xsane
strace_xsane
Created attachment 741825 [details]
plustek.conf
Server driver configuration file.
I would suggest rebuilding xsane with debug symbols enabled and getting a backtrace. https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces Created attachment 746178 [details] xsane_backtrace.log (In reply to Mike Gilbert from comment #5) > I would suggest rebuilding xsane with debug symbols enabled and getting a > backtrace. > > https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces I recompiled "xsane-0.999-r3" with debug information and without any optimisations: $ CFLAGS="-Og -pipe -march=ivybridge -mtune=ivybridge -ggdb" CXXFLAGS="${CFLAGS}" FEATURES="nostrip" emerge --ask xsane $ < "/var/db/pkg/media-gfx/xsane-0.999-r3/CFLAGS" -Og -pipe -march=ivybridge -mtune=ivybridge -ggdb $ < "/var/db/pkg/media-gfx/xsane-0.999-r3/CXXFLAGS" -Og -pipe -march=ivybridge -mtune=ivybridge -ggdb I then installed "gdb" to get backtrace information: $ emerge --ask --oneshot gdb After that logged the program crash with backtrace information: $ cd "$(mktemp --directory)" $ scanimage --list-devices device `net:<some_server_hostname>:plustek:libusb:001:006' is a Hewlett-Packard Scanjet 2200c flatbed scanner default device is `net:<some_server_hostname>:plustek:libusb:001:006' $ gdb -quiet xsane Reading symbols from xsane... (gdb) set logging file xsane_backtrace.log (gdb) set logging on Copying output to xsane_backtrace.log. Copying debug output to xsane_backtrace.log. (gdb) set environment SANE_DEFAULT_DEVICE="net:<some_server_hostname>:plustek:libusb:001:006" (gdb) show environment SANE_DEFAULT_DEVICE SANE_DEFAULT_DEVICE="net:<some_server_hostname>:plustek:libusb:001:006" (gdb) run Starting program: /usr/bin/xsane [...] Thread 1 "xsane" received signal SIGPIPE, Broken pipe. 0x00007ffff755108f in write () from /lib64/libpthread.so.0 (gdb) thread apply all bt full Thread 7 (Thread 0x7ffff3c1b640 (LWP 27516) "xsane"): #0 0x00007ffff747389f in poll () at /lib64/libc.so.6 #1 0x00007ffff2b06e4a in () at /usr/lib64/libavahi-common.so.3 [...] (gdb) continue Continuing. free(): invalid pointer Thread 1 "xsane" received signal SIGABRT, Aborted. 0x00007ffff73be811 in raise () from /lib64/libc.so.6 (gdb) thread apply all bt full Thread 7 (Thread 0x7ffff3c1b640 (LWP 27516) "xsane"): #0 0x00007ffff747389f in poll () at /lib64/libc.so.6 #1 0x00007ffff2b06e4a in () at /usr/lib64/libavahi-common.so.3 [...] (gdb) continue Continuing. [Thread 0x7ffff3c1b640 (LWP 27516) exited] Program terminated with signal SIGABRT, Aborted. The program no longer exists. (gdb) thread apply all bt full (gdb) set logging off Done logging to xsane_backtrace.log. (gdb) quit For some reason "xsane" is behaving differently, when executed from "gdb". It is asking for authorisation, when I change the scan mode, instead of dying with the signal "SIGSEGV". I also cannot get to the point, where the process receives the signal "SIGSEGV". I tried the following handling settings, but without success: (gdb) handle SIGPIPE SIGABRT nostop noprint noignore pass Signal Stop Print Pass to program Description SIGABRT No No Yes Aborted SIGPIPE No No Yes Broken pipe "xsane" then just exits and "gdb" returns: Program terminated with signal SIGABRT, Aborted. The program no longer exists. -Ramon |