Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 281723 - sys-libs/libchipcard-4.2.8: hald dependency or warning missing in initscript
Summary: sys-libs/libchipcard-4.2.8: hald dependency or warning missing in initscript
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High minor (vote)
Assignee: Hanno Böck
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-16 22:13 UTC by Thimo Langbehn
Modified: 2010-01-07 10:40 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thimo Langbehn 2009-08-16 22:13:14 UTC
The chipcardd4 v4.2.8 server uses the hald, however this is not reflected in the provided init script in /etc/init.d/chipcard4, and is not hinted in a start warning (start appears successfull).
On system where hald is not in the default run set this might lead to a nonfunctioning chipcard server.

This can be solved easily by manually starting the hald (as root: /etc/init.d/hald start ), if it is not already running.

Reproducible: Always

Steps to Reproduce:
1. Make sure hald is not running ( /etc/init.d/hald stop )
2. start chipcardd4 via script ( /etc/init.d/chipcardd4 start )

Actual Results:  
 * Caching service dependencies ...                                   [ ok ]
 * Starting chipcard4 daemon ...
3:2009/08/17 00-06-17:(null)(31555):chipcardd.c: 1236: Closing GWEN   [ ok ]

Then, the following Error occures repeatedly (with changing pids) until the chipcardd4 is terminated again:

process 30882: arguments to dbus_move_error() were incorrect, assertion "(dest) == NULL || !dbus_error_is_set ((dest))" failed in file dbus-errors.c line 278.
This is normally a bug in some application using the D-Bus library.
  D-Bus not built with -rdynamic so unable to print a backtrace

Starting manually (as root) with verbose logging results in this:

$> chipcardd4 -f -v --loglevel info --logtype console

5:2009/08/16 23-39-10:chipcardd(30881):chipcardd.c:  738: Chipcardd v4.2.8.0stable started.
5:2009/08/16 23-39-10:chipcardd(30881):chipcardd.c:  740: LibHAL supported.
6:2009/08/16 23-39-10:chipcardd(30882):chipcardd.c:  967: Initializing daemon.
6:2009/08/16 23-39-10:chipcardd(30882):chipcardd.c:  442: Trying "/etc/chipcard/server/chipcardd.conf"
6:2009/08/16 23-39-10:chipcardd(30882):chipcardd.c:  448: Using configuration file [/etc/chipcard/server/chipcardd.conf]
6:2009/08/16 23-39-10:chipcardd(30882):chipcardd.c: 1016: Will now initialize server.
6:2009/08/16 23-39-10:chipcardd(30882):cs_init.c:  349: Server role: standAlone
6:2009/08/16 23-39-10:chipcardd(30882):cs_init.c:  358: Autoconfiguration enabled
6:2009/08/16 23-39-10:chipcardd(30882):cs_init.c:  361: Initialising paths
6:2009/08/16 23-39-10:chipcardd(30882):cs_init.c:  368: Initialising IPC manager
6:2009/08/16 23-39-10:chipcardd(30882):cs_init.c:  110: Listening on [/var/run/chipcard.comm] (local)
6:2009/08/16 23-39-10:chipcardd(30882):devicemanager.c:   91: Initialising device manager
6:2009/08/16 23-39-10:chipcardd(30882):devicemanager.c:  246: Autoconfiguration enabled
6:2009/08/16 23-39-10:chipcardd(30882):devicemanager.c:  249: Adding HAL scanner
6:2009/08/16 23-39-10:chipcardd(30882):devicemanager.c:  529: Reloading driver info files
6:2009/08/16 23-39-10:chipcardd(30882):cardmanager.c:   58: Initialising card manager
6:2009/08/16 23-39-10:chipcardd(30882):clientmanager.c:   56: Initialising client manager
6:2009/08/16 23-39-10:chipcardd(30882):servicemanager.c:   68: Initialising service manager
6:2009/08/16 23-39-10:chipcardd(30882):cs_tools.c:   99: Hardware scan triggered
6:2009/08/16 23-39-10:chipcardd(30882):chipcardd.c: 1036: Ready to service requests.
6:2009/08/16 23-39-10:chipcardd(30882):halscanner.c:  110: HAL not running: The name org.freedesktop.Hal was not provided by any .service files
6:2009/08/16 23-39-10:chipcardd(30882):devmonitor.c:  614: No scanner succeeded
3:2009/08/16 23-39-10:chipcardd(30882):devicemanager.c: 3431: Error scanning
process 30882: arguments to dbus_move_error() were incorrect, assertion "(dest) == NULL || !dbus_error_is_set ((dest))" failed in file dbus-errors.c line 278.
This is normally a bug in some application using the D-Bus library.
  D-Bus not built with -rdynamic so unable to print a backtrace
6:2009/08/16 23-39-13:chipcardd(30881):chipcardd.c:  511: Watcher got a child signal
3:2009/08/16 23-39-13:chipcardd(30881):chipcardd.c:  919: Daemon died due to uncaught signal 6.
3:2009/08/16 23-39-13:(null)(30881):chipcardd.c: 1236: Closing GWEN

After which the program terminates with a return value of 0.

Expected Results:  
I do not know if hald is a requrement for the chipcardd4 server, of if the absence of any decice interface is just handled strangely. In every case either a warning should be thrown or the init script should require hald to be running.


Patch for /etc/init.d/chipcardd4 to require hald

--- chipcardd4.orig	2008-06-11 16:10:53.000000000 +0200
+++ chipcardd4	2009-08-16 23:57:16.000000000 +0200
@@ -3,6 +3,10 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Header: /var/cvsroot/gentoo-x86/sys-libs/libchipcard/files/chipcardd4,v 1.1 2008/06/11 14:10:53 hanno Exp $
 
+depend() {
+        require hald
+}
+
 start() {
     ebegin "Starting chipcard4 daemon"
     start-stop-daemon --start --quiet --exec /usr/sbin/chipcardd4
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2010-01-07 10:40:17 UTC
+  07 Jan 2010; Samuli Suominen <ssuominen@gentoo.org> files/chipcardd4:
+  Fix init script to "need hald" wrt #281723, thanks to Thimo Langbehn for
+  reporting.