Bug#519696: [hplip] hp-systray at 100% CPU
Package: hplip
Version: 3.9.2-1
Severity: normal
Hi, this is additional information to closed bug #503723 and an upstream bug.
I've sent it upstream at https://bugs.launchpad.net/hplip/+bug/305807 and
sending the same information here for convenience of Debian users.
If I do strace -p
<pid>, I can see:
read(7, "", 236) = 0
select(8, [7], [], [7], {1, 0}) = 1 (in [7], left {0, 999997})
read(7, "", 236) = 0
select(8, [7], [], [7], {1, 0}) = 1 (in [7], left {0, 999997})
read(7, "", 236) = 0
select(8, [7], [], [7], {1, 0}) = 1 (in [7], left {0, 999997})
read(7, "", 236) = 0
select(8, [7], [], [7], {1, 0}) = 1 (in [7], left {0, 999997})
read(7, "", 236) = 0
select(8, [7], [], [7], {1, 0}) = 1 (in [7], left {0, 999997})
read(7, "", 236) = 0
select(8, [7], [], [7], {1, 0}) = 1 (in [7], left {0, 999997})
read(7, "", 236) = 0
...
I used gdb to track it down:
(gdb) bt
#0 posix_read (self=0x0, args=0x83a1fcc) at ../Modules/posixmodule.c:6101
#1 0x080ced6a in PyEval_EvalFrameEx (f=0x8313ddc, throwflag=0) at
../Python/ceval.c:3612
#2 0x080d00c5 in PyEval_EvalCodeEx (co=0xb7b7f7b8, globals=0x8381acc,
locals=0x0, args=0x81790b8, argcount=2, kws=0x81790c0, kwcount=0,
defs=0x8383118, defcount=2, closure=0x0)
at ../Python/ceval.c:2875
#3 0x080ce9fc in PyEval_EvalFrameEx (f=0x8178f7c, throwflag=0) at
../Python/ceval.c:3708
#4 0x080d00c5 in PyEval_EvalCodeEx (co=0xb7f0ea88, globals=0xb7f5eacc,
locals=0xb7f5eacc, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0,
defcount=0, closure=0x0)
at ../Python/ceval.c:2875
#5 0x080d02d7 in PyEval_EvalCode (co=0xb7f0ea88, globals=0xb7f5eacc,
locals=0xb7f5eacc) at ../Python/ceval.c:514
#6 0x080ed71f in PyRun_FileExFlags (fp=0x816e008, filename=0xbfbb8b8d
"/usr/bin/hp-systray", start=257, globals=0xb7f5eacc, locals=0xb7f5eacc,
closeit=1, flags=0xbfbb7548)
at ../Python/pythonrun.c:1273
#7 0x080ed9ea in PyRun_SimpleFileExFlags (fp=0x816e008,
filename=0xbfbb8b8d "/usr/bin/hp-systray", closeit=1, flags=0xbfbb7548)
at ../Python/pythonrun.c:879
#8 0x08059357 in Py_Main (argc=1, argv=0xbfbb7614) at ../Modules/main.c:532
#9 0x08058722 in main (argc=0, argv=0xb7c75ec8) at ../Modules/python.c:23
The problematic place in python source is here:
(gdb) pyframe
/usr/share/hplip/hpdio.py (94): run
Since the read() reads a pipe and returns 0, probably the other end of
pipe was closed. The pipe is created at systray.py:122 and is used to
communicate with something called hpssd (see lines 134 and 141). So I
guess there is some problem with the hpssd, which is not correctly
handled in hpdio.py.
Regards
Michal Sojka
--- System information. ---
Architecture: i386
Kernel: Linux 2.6.28.2
Debian Release: squeeze/sid
500 unstable www.debian-multimedia.org
500 unstable ftp.cz.debian.org
500 unstable deb.opera.com
500 testing dl.google.com
500 stable dl.google.com
101 experimental ftp.cz.debian.org
--- Package information. ---
Depends (Version) | Installed
==================================-+-================
libc6 (>= 2.3.6-6~) | 2.9-4
libcups2 (>= 1.3.8) | 1.3.9-15
libdbus-1-3 (>= 1.0.2) | 1.2.12-1
libsane (>= 1.0.11-3) | 1.0.19-26
libsnmp15 (>= 5.4.1~dfsg) | 5.4.1~dfsg-12
libssl0.9.8 (>= 0.9.8f-5) | 0.9.8g-15
libusb-0.1-4 (>= 2:0.1.12) | 2:0.1.12-13
python (<< 2.6) | 2.5.4-2
python (>= 2.5) | 2.5.4-2
python-support (>= 0.7.1) | 0.8.7
python-dbus (>= 0.80) | 0.83.0-1
python-imaging | 1.1.6-3
coreutils (>= 5.1.0) | 7.1-2
lsb-base (>= 3) | 3.2-20
adduser (>= 3.34) | 3.110
cups (>= 1.1.20) | 1.3.9-15
hplip-data (>> 3.9.2) | 3.9.2-1
hplip-data (<< 3.9.2.1) | 3.9.2-1
--- Output from package bug script ---
error: NOT FOUND! This is a REQUIRED/RUNTIME ONLY dependency. Please make sure
that this dependency is installed before installing or running HPLIP.
HP Linux Imaging and Printing System (ver. 3.9.2)
Dependency/Version Check Utility ver. 14.1
Copyright (c) 2001-8 Hewlett-Packard Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.
Note: hp-check can be run in three modes:
1. Compile-time check mode (-c or --compile): Use this mode before compiling
the
HPLIP supplied tarball (.tar.gz or .run) to determine if the proper
dependencies
are installed to successfully compile HPLIP.
2. Run-time check mode (-r or --run): Use this mode to determine if a distro
supplied package (.deb, .rpm, etc) or an already built HPLIP supplied tarball
has the proper dependencies installed to successfully run.
3. Both compile- and run-time check mode (-b or --both) (Default): This mode
will check both of the above cases (both compile- and run-time dependencies).
Saving output in log file: hp-check.log
Initializing. Please wait...
---------------
| SYSTEM INFO |
---------------
Basic system information:
Linux resox 2.6.28.2 #19 SMP PREEMPT Tue Jan 27 21:33:58 CET 2009 i686
GNU/Linux
Distribution:
debian unstable
HPOJ running?
No, HPOJ is not running (OK).
Checking Python version...
OK, version 2.5.4 installed
Checking PyQt 4.x version...
OK, version 4.4.4 installed.
Checking for CUPS...
Status: scheduler is running
Version: 1.3.9
error_log is set to level: info
Checking for dbus/python-dbus...
dbus daemon is running.
python-dbus version: 0.83.0
------------------------
| RUNTIME DEPENDENCIES |
------------------------
Checking for dependency: CUPS - Common Unix Printing System...
OK, found.
Checking for dependency: CUPS DDK - CUPS driver development kit...
OK, found.
Checking for dependency: GhostScript - PostScript and PDF language interpreter
and previewer...
OK, found.
Checking for dependency: PIL - Python Imaging Library (required for
commandline scanning with hp-scan)...
OK, found.
Checking for dependency: ppdev - Parallel port support kernel module....
Checking for dependency: PyQt 4- Qt interface for Python (for Qt version
4.x)...
OK, found.
Checking for dependency: PyQt 4 DBus - DBus Support for PyQt4...
OK, found.
Checking for dependency: Python ctypes - A foreign function library for
Python...
OK, found.
Checking for dependency: Python DBus - Python bindings for DBus...
OK, found.
Checking for dependency: Python XML libraries...
OK, found.
Checking for dependency: Python 2.3 or greater - Required for fax
functionality...
OK, found.
Checking for dependency: Reportlab - PDF library for Python...
OK, found.
Checking for dependency: SANE - Scanning library...
OK, found.
Checking for dependency: scanimage - Shell scanning program...
OK, found.
Checking for dependency: xsane - Graphical scanner frontend for SANE...
OK, found.
----------------------
| HPLIP INSTALLATION |
----------------------
Currently installed HPLIP version...
HPLIP 3.9.2 currently installed in '/usr/share/hplip'.
Current contents of '/etc/hp/hplip.conf' file:
# hplip.conf. Generated from hplip.conf.in by configure.
[hplip]
version=3.9.2
[dirs]
home=/usr/share/hplip
run=/var/run
ppd=/usr/share/ppd/hpijs/HP
ppdbase=/usr/share/ppd/hpijs
doc=/usr/share/doc/hplip-doc/HTML
icon=no
cupsbackend=/usr/lib/cups/backend
cupsfilter=/usr/lib/cups/filter
drv=/usr/share/cups/drv
# Following values are determined at configure time and cannot be changed.
[configure]
network-build=yes
pp-build=yes
gui-build=yes
scanner-build=yes
fax-build=yes
dbus-build=yes
cups11-build=no
doc-build=yes
shadow-build=no
foomatic-drv-install=yes
foomatic-ppd-install=no
foomatic-rip-hplip-install=no
internal-tag=3.9.2.49
restricted-build=no
ui-toolkit=qt4
qt3=no
qt4=yes
Current contents of '~/.hplip/hplip.conf' file:
[last_used]
printer =
device_uri = "hp:/usb/Photosmart_C3100_series?serial=MY65BB10F304P9"
[commands]
fax = hp-sendfax -d %FAX_URI%
cpy = hp-makecopies -d %DEVICE_URI%
scan = xsane -V %SANEerror: 'ppdev' kernel module not loaded.
error: Unable to communicate with device (code=12):
hp:/usb/Photosmart_C3100_series?serial=MY65BB10F304P9
error: Device not found
error: 2 errors and/or warnings.
_URI%
prnt = hp-print -p%PRINTER%
pcard_int = True
prnt_int = True
pcard = hp-unload -d %DEVICE_URI%
scan_int = False
fax_int = True
cpy_int = True
[installation]
version = 3.9.2.49
date_time = 03/14/09 14:25:37
[settings]
systray_visible = 1
[alerts]
email_from_address =
email_alerts = False
email_to_addresses =
[refresh]
rate = 5
enable = false
type = 0
[polling]
enable = false
device_list =
interval = 5
-------------------------------
| DISCOVERED PARALLEL DEVICES |
-------------------------------
No devices found.
--------------------------
| DISCOVERED USB DEVICES |
--------------------------
No devices found.
---------------------------------
| INSTALLED CUPS PRINTER QUEUES |
---------------------------------
Photosmart_C3100
----------------
Type: Printer
Installed in HPLIP?: Yes, using the hp: CUPS backend.
Device URI: hp:/usb/Photosmart_C3100_series?serial=MY65BB10F304P9
PPD: /etc/cups/ppd/Photosmart_C3100.ppd
PPD Description: HP PhotoSmart C3100 Foomatic/hpijs (recommended) - HPLIP
1.6.7
Printer status: printer Photosmart_C3100 is idle. enabled since So??
24.??kv??ten??2008,??21:42:08??CEST
----------------------
| SANE CONFIGURATION |
----------------------
'hpaio' in '/etc/sane.d/dll.conf'...
'hpaio' in '/etc/sane.d/dll.d/hplip'...
OK, found. SANE backend 'hpaio' is properly set up.
Checking output of 'scanimage -L'...
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
---------------------
| PYTHON EXTENSIONS |
---------------------
Checking 'cupsext' CUPS extension...
OK, found.
Checking 'pcardext' Photocard extension...
OK, found.
Checking 'hpmudext' I/O extension...
OK, found.
Checking 'scanext' SANE scanning extension...
OK, found.
-----------------
| USB I/O SETUP |
-----------------
Checking for permissions of USB attached printers...
-----------
| SUMMARY |
-----------
Please refer to the installation instructions at:
http://hplip.sourceforge.net/install/index.html
Done.
Reply to: