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
+ 07 Jan 2010; Samuli Suominen <ssuominen@gentoo.org> files/chipcardd4: + Fix init script to "need hald" wrt #281723, thanks to Thimo Langbehn for + reporting.