Bug#674116: dirmngr: init script does not write pid into the pid file

May 23rd, 2012 - 02:20 am ET by Detlev Brodowski | Report spam
Package: dirmngr
Version: 1.1.0-3
Severity: important

Hello maintainer,

The init script starts the daemon but don't write the pid to the pid file. Therefore the stop procedure cannot stop the daemon.

I have reproduced this behavior with dash as /bin/sh and bash as /bin/sh with different output.

dash:
root@pluto3:~# /etc/init.d/dirmngr start
[] Starting DirMngr: dirmngr/etc/init.d/dirmngr: 1: eval: not found
/etc/init.d/dirmngr: 1: eval: 0]DIRMNGR_INFO=/var/run/dirmngr/socket:26899:1: not found
.. ok

bash:
root@pluto3:~# /etc/init.d/dirmngr start
[] Starting DirMngr: dirmngr/etc/init.d/dirmngr: Zeile 36: $'\E[11': Kommando nicht gefunden.
/etc/init.d/dirmngr: Zeile 36: 0]DIRMNGR_INFO=/var/run/dirmngr/socket:27054:1: Datei oder Verzeichnis nicht gefunden
.. ok


Kind regards,
Detlev

Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dirmngr depends on:
ii adduser 3.113+nmu2
ii dpkg 1.16.3
ii install-info 4.13a.dfsg.1-10
ii libassuan0 2.0.3-1
ii libc6 2.13-32
ii libgcrypt11 1.5.0-3
ii libgpg-error0 1.10-3
ii libksba8 1.2.0-2
ii libldap-2.4-2 2.4.28-1.3
ii libpth20 2.0.7-16
ii lsb-base 4.1+Debian4

dirmngr recommends no packages.

dirmngr suggests no packages.




To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
email Follow the discussionReplies 2 repliesReplies Make a reply

Similar topics

Replies

#1 Peter Eisentraut
May 23rd, 2012 - 01:20 pm ET | Report spam
On ons, 2012-05-23 at 07:56 +0200, Detlev Brodowski wrote:
Package: dirmngr
Version: 1.1.0-3
Severity: important

Hello maintainer,

The init script starts the daemon but don't write the pid to the pid file. Therefore the stop procedure cannot stop the daemon.

I have reproduced this behavior with dash as /bin/sh and bash as /bin/sh with different output.

dash:
:~# /etc/init.d/dirmngr start
[] Starting DirMngr: dirmngr/etc/init.d/dirmngr: 1: eval: not found
/etc/init.d/dirmngr: 1: eval: 0]DIRMNGR_INFO=/var/run/dirmngr/socket:26899:1: not found
.. ok

bash:
:~# /etc/init.d/dirmngr start
[] Starting DirMngr: dirmngr/etc/init.d/dirmngr: Zeile 36: $'\E[11': Kommando nicht gefunden.
/etc/init.d/dirmngr: Zeile 36: 0]DIRMNGR_INFO=/var/run/dirmngr/socket:27054:1: Datei oder Verzeichnis nicht gefunden
.. ok



It works for me.

Can you run it through bash -x and/or dash -x to see what's happening?

It looks like the lsb-base output might be interfering. Could you try
downgrading that to 4.1+Debian3 to see if it makes a difference?





To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Replies Reply to this message
#2 Detlev Brodowski
May 24th, 2012 - 12:50 pm ET | Report spam

Am Wednesday, 23. May 2012, 19:13:42 schrieb Peter Eisentraut:
On ons, 2012-05-23 at 07:56 +0200, Detlev Brodowski wrote:
> Package: dirmngr
> Version: 1.1.0-3
> Severity: important
>
> Hello maintainer,
>
> The init script starts the daemon but don't write the pid to the
> pid file. Therefore the stop procedure cannot stop the daemon.
>
> I have reproduced this behavior with dash as /bin/sh and bash as
> /bin/sh with different output.
>
> dash:
> :~# /etc/init.d/dirmngr start
> [] Starting DirMngr: dirmngr/etc/init.d/dirmngr: 1: eval: not
> found /etc/init.d/dirmngr: 1: eval:
> 0]DIRMNGR_INFO=/var/run/dirmngr/socket:26899:1: not found .. ok
>
> bash:
> :~# /etc/init.d/dirmngr start
> [] Starting DirMngr: dirmngr/etc/init.d/dirmngr: Zeile 36:
> $'\E[11': Kommando nicht gefunden. /etc/init.d/dirmngr: Zeile 36:
> 0]DIRMNGR_INFO=/var/run/dirmngr/socket:27054:1: Datei oder
> Verzeichnis nicht gefunden .. ok

It works for me.

Can you run it through bash -x and/or dash -x to see what's
happening?

It looks like the lsb-base output might be interfering. Could you
try downgrading that to 4.1+Debian3 to see if it makes a difference?



Hi Peter,

I could reproduce the issue with the lsb packages version 4.1+Debian3.
If I execute the init scripts from konsole within x11 then there are no
errors and the init script works as designed.

But from the text console I get the error message.

I have attached the needed outputs.

Kind regards
Detlev
NewCoTec GmbH, Technologiepark 1, D-91522 Ansbach, Deutschland Amtsgericht Ansbach, HRB 4298, USt-ID: DE243245746 Geschà¤ftsfà¼hrung: Werner Fuchs, Wolfgang Reichenbach

Diese E-Mail und alle Anhà¤nge enthalten vertrauliche Informationen und sind fà¼r die Nutzung des Empfà¤ngers bestimmt. Wenn Sie kein berechtigter Empfà¤ngers dieser E-Mail sind, werden Sie hiermit darauf hingewiesen, dass jede Weitergabe, Vervielfà¤ltigung oder Verwendung der Informationen strengstens verboten ist. Wenn Sie diese E-Mail irrtà¼mlich oder ohne Genehmigung erhalten haben, benachrichtigen Sie uns bitte sofort durch eine Antwort und löschen Sie diese E-Mail aus Ihrem System. Wenn Sie weitere Hilfe benötigen, senden Sie bitte eine Nachricht an Vielen Dank im Voraus.

This e-mail and any attachments contain privileged and confidential information intended only for the use of the addressee(s). If you are not an intended recipient of this e-mail, you are hereby notified that any dissemination, copying or use of information within it is strictly prohibited. If you received this e-mail in error or without authorization, please notify us immediately by reply e-mail and delete the e-mail from your system. If you need any further assistance, please send a message to Thank you in advance.

name="dirmngr_within_X_dash_start_output.txt"
filename="dirmngr_within_X_dash_start_output.txt"

+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ NAME=dirmngr
+ DAEMON=/usr/bin/dirmngr
+ PIDFILE=/var/run/dirmngr.pid
+ test -x /usr/bin/dirmngr
+ [ -r /etc/default/dirmngr ]
+ . /etc/default/dirmngr
+ DIRMNGR_SOCKET_MODE77
+ . /lib/lsb/init-functions
+ run-parts --lsbsysinit --list /lib/lsb/init-functions.d
+ [ -r /lib/lsb/init-functions.d/20-left-info-blocks ]
+ . /lib/lsb/init-functions.d/20-left-info-blocks
+ FANCYTTY+ [ -e /etc/lsb-base-logging.sh ]
+ true
+ log_daemon_msg Starting DirMngr dirmngr
+ [ -z Starting DirMngr ]
+ log_daemon_msg_pre Starting DirMngr dirmngr
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ [ -t 1 ]
+ FANCYTTY=0
+ false
+ [ -z dirmngr ]
+ /bin/echo -n Starting DirMngr: dirmngr
Starting DirMngr: dirmngr+ log_daemon_msg_post Starting DirMngr dirmngr
+ :
+ d_start
+ pidofproc /usr/bin/dirmngr
+ local pidfile base status specified pid OPTIND
+ pidfile+ specified+ OPTIND=1
+ getopts p: opt
+ shift 0
+ base=dirmngr
+ [ ! ]
+ pidfile=/var/run/dirmngr.pid
+ [ -n /var/run/dirmngr.pid ]
+ [ -e /var/run/dirmngr.pid ]
+ [ -r /var/run/dirmngr.pid ]
+ read pid
+ [ -n 2242 ]
+ kill -0 2242
+
+ ps 2242
+ return 1
+ mkdir -p /var/run/dirmngr
+ chown dirmngr:dirmngr /var/run/dirmngr
+ su -c . /lib/lsb/init-functions && umask 027 && start_daemon -p /var/run/dirmngr.pid /usr/bin/dirmngr --daemon --sh - dirmngr
+ output=DIRMNGR_INFO=/var/run/dirmngr/socket:5354:1; export DIRMNGR_INFO;
+ eval DIRMNGR_INFO=/var/run/dirmngr/socket:5354:1; export DIRMNGR_INFO;
+ DIRMNGR_INFO=/var/run/dirmngr/socket:5354:1
+ export DIRMNGR_INFO
+ echo /var/run/dirmngr/socket:5354:1
+ cut -d : -f 2
+ pidS54
+ echo 5354
+ chmod 0777 /var/run/dirmngr/socket
+ return 0
+ log_end_msg 0
+ [ -z 0 ]
+ local retval
+ retval=0
+ log_end_msg_pre 0
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ [ -t 1 ]
+ FANCYTTY=0
+ false
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ [ -t 1 ]
+ FANCYTTY=0
+ false
+ RED+ YELLOW+ NORMAL+ [ 0 -eq 0 ]
+ echo .
.
+ log_end_msg_post 0
+ :
+ return 0

name="dirmngr_dash_start_output.txt"

+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ NAME=dirmngr
+ DAEMON=/usr/bin/dirmngr
+ PIDFILE=/var/run/dirmngr.pid
+ test -x /usr/bin/dirmngr
+ [ -r /etc/default/dirmngr ]
+ . /etc/default/dirmngr
+ DIRMNGR_SOCKET_MODE77
+ . /lib/lsb/init-functions
+ run-parts --lsbsysinit --list /lib/lsb/init-functions.d
+ [ -r /lib/lsb/init-functions.d/20-left-info-blocks ]
+ . /lib/lsb/init-functions.d/20-left-info-blocks
+ FANCYTTY+ [ -e /etc/lsb-base-logging.sh ]
+ true
+ log_daemon_msg Starting DirMngr dirmngr
+ [ -z Starting DirMngr ]
+ log_daemon_msg_pre Starting DirMngr dirmngr
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ [ -t 1 ]
+ FANCYTTY=0
+ false
+ [ -z dirmngr ]
+ /bin/echo -n Starting DirMngr: dirmngr
Starting DirMngr: dirmngr+ log_daemon_msg_post Starting DirMngr dirmngr
+ :
+ d_start
+ pidofproc /usr/bin/dirmngr
+ local pidfile base status specified pid OPTIND
+ pidfile+ specified+ OPTIND=1
+ getopts p: opt
+ shift 0
+ base=dirmngr
+ [ ! ]
+ pidfile=/var/run/dirmngr.pid
+ [ -n /var/run/dirmngr.pid ]
+ [ -e /var/run/dirmngr.pid ]
+ [ -r /var/run/dirmngr.pid ]
+ read pid
+ [ -n ]
+ [ ]
+ return 4
+ mkdir -p /var/run/dirmngr
+ chown dirmngr:dirmngr /var/run/dirmngr
+ su -c . /lib/lsb/init-functions && umask 027 && start_daemon -p /var/run/dirmngr.pid /usr/bin/dirmngr --daemon --sh - dirmngr
+ output=[11;0]DIRMNGR_INFO=/var/run/dirmngr/socket:12438:1; export DIRMNGR_INFO;
+ eval [11;0]DIRMNGR_INFO=/var/run/dirmngr/socket:12438:1; export DIRMNGR_INFO;
+ [11
/etc/init.d/dirmngr: 1: eval: [11: not found
+ 0]DIRMNGR_INFO=/var/run/dirmngr/socket:12438:1
/etc/init.d/dirmngr: 1: eval: 0]DIRMNGR_INFO=/var/run/dirmngr/socket:12438:1: not found
+ export DIRMNGR_INFO
+ echo
+ cut -d : -f 2
+ pid+ echo
+ chmod 0777 /var/run/dirmngr/socket
+ return 0
+ log_end_msg 0
+ [ -z 0 ]
+ local retval
+ retval=0
+ log_end_msg_pre 0
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ [ -t 1 ]
+ FANCYTTY=0
+ false
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ [ -t 1 ]
+ FANCYTTY=0
+ false
+ RED+ YELLOW+ NORMAL+ [ 0 -eq 0 ]
+ echo .
.
+ log_end_msg_post 0
+ :
+ return 0

name="dirmngr_within_X_bash_start_output.txt"
filename="dirmngr_within_X_bash_start_output.txt"

+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ NAME=dirmngr
+ DAEMON=/usr/bin/dirmngr
+ PIDFILE=/var/run/dirmngr.pid
+ test -x /usr/bin/dirmngr
+ '[' -r /etc/default/dirmngr ']'
+ . /etc/default/dirmngr
++ DIRMNGR_SOCKET_MODE77
+ . /lib/lsb/init-functions
+++ run-parts --lsbsysinit --list /lib/lsb/init-functions.d
++ for hook in '$(run-parts --lsbsysinit --list /lib/lsb/init-functions.d 2>/dev/null)'
++ '[' -r /lib/lsb/init-functions.d/20-left-info-blocks ']'
++ . /lib/lsb/init-functions.d/20-left-info-blocks
++ FANCYTTY++ '[' -e /etc/lsb-base-logging.sh ']'
++ true
+ case "$1" in
+ log_daemon_msg 'Starting DirMngr' dirmngr
+ '[' -z 'Starting DirMngr' ']'
+ log_daemon_msg_pre 'Starting DirMngr' dirmngr
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ '[' -t 1 ']'
+ FANCYTTY=0
+ case "$FANCYTTY" in
+ false
+ '[' -z dirmngr ']'
+ /bin/echo -n 'Starting DirMngr: dirmngr'
Starting DirMngr: dirmngr+ log_daemon_msg_post 'Starting DirMngr' dirmngr
+ :
+ d_start
+ pidofproc /usr/bin/dirmngr
+ local pidfile base status specified pid OPTIND
+ pidfile+ specified+ OPTIND=1
+ getopts p: opt
+ shift 0
+ base=dirmngr
+ '[' '!' '' ']'
+ pidfile=/var/run/dirmngr.pid
+ '[' -n /var/run/dirmngr.pid ']'
+ '[' -e /var/run/dirmngr.pid ']'
+ '[' -r /var/run/dirmngr.pid ']'
+ read pid
+ '[' -n '' ']'
+ '[' '' ']'
+ return 4
+ mkdir -p /var/run/dirmngr
+ chown dirmngr:dirmngr /var/run/dirmngr
++ su -c '. /lib/lsb/init-functions && umask 027 && start_daemon -p /var/run/dirmngr.pid /usr/bin/dirmngr --daemon --sh' - dirmngr
+ output='DIRMNGR_INFO=/var/run/dirmngr/socket:2242:1; export DIRMNGR_INFO;'
+ eval 'DIRMNGR_INFO=/var/run/dirmngr/socket:2242:1; export DIRMNGR_INFO;'
++ DIRMNGR_INFO=/var/run/dirmngr/socket:2242:1
++ export DIRMNGR_INFO
++ echo /var/run/dirmngr/socket:2242:1
++ cut -d : -f 2
+ pid"42
+ echo 2242
+ chmod 0777 /var/run/dirmngr/socket
+ return 0
+ log_end_msg 0
+ '[' -z 0 ']'
+ local retval
+ retval=0
+ log_end_msg_pre 0
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ '[' -t 1 ']'
+ FANCYTTY=0
+ case "$FANCYTTY" in
+ false
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ '[' -t 1 ']'
+ FANCYTTY=0
+ case "$FANCYTTY" in
+ false
+ RED+ YELLOW+ NORMAL+ '[' 0 -eq 0 ']'
+ echo .
.
+ log_end_msg_post 0
+ :
+ return 0

name="dirmngr_bash_start_output.txt"

+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ NAME=dirmngr
+ DAEMON=/usr/bin/dirmngr
+ PIDFILE=/var/run/dirmngr.pid
+ test -x /usr/bin/dirmngr
+ '[' -r /etc/default/dirmngr ']'
+ . /etc/default/dirmngr
++ DIRMNGR_SOCKET_MODE77
+ . /lib/lsb/init-functions
+++ run-parts --lsbsysinit --list /lib/lsb/init-functions.d
++ for hook in '$(run-parts --lsbsysinit --list /lib/lsb/init-functions.d 2>/dev/null)'
++ '[' -r /lib/lsb/init-functions.d/20-left-info-blocks ']'
++ . /lib/lsb/init-functions.d/20-left-info-blocks
++ FANCYTTY++ '[' -e /etc/lsb-base-logging.sh ']'
++ true
+ case "$1" in
+ log_daemon_msg 'Starting DirMngr' dirmngr
+ '[' -z 'Starting DirMngr' ']'
+ log_daemon_msg_pre 'Starting DirMngr' dirmngr
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ '[' -t 1 ']'
+ FANCYTTY=0
+ case "$FANCYTTY" in
+ false
+ '[' -z dirmngr ']'
+ /bin/echo -n 'Starting DirMngr: dirmngr'
Starting DirMngr: dirmngr+ log_daemon_msg_post 'Starting DirMngr' dirmngr
+ :
+ d_start
+ pidofproc /usr/bin/dirmngr
+ local pidfile base status specified pid OPTIND
+ pidfile+ specified+ OPTIND=1
+ getopts p: opt
+ shift 0
+ base=dirmngr
+ '[' '!' '' ']'
+ pidfile=/var/run/dirmngr.pid
+ '[' -n /var/run/dirmngr.pid ']'
+ '[' -e /var/run/dirmngr.pid ']'
+ '[' -r /var/run/dirmngr.pid ']'
+ read pid
+ '[' -n '' ']'
+ '[' '' ']'
+ return 4
+ mkdir -p /var/run/dirmngr
+ chown dirmngr:dirmngr /var/run/dirmngr
++ su -c '. /lib/lsb/init-functions && umask 027 && start_daemon -p /var/run/dirmngr.pid /usr/bin/dirmngr --daemon --sh' - dirmngr
+ output='[11;0]DIRMNGR_INFO=/var/run/dirmngr/socket:14443:1; export DIRMNGR_INFO;'
+ eval '[11;0]DIRMNGR_INFO=/var/run/dirmngr/socket:14443:1; export DIRMNGR_INFO;'
++ '[11'
/etc/init.d/dirmngr: Zeile 36: $'\E[11': Kommando nicht gefunden.
++ '0]DIRMNGR_INFO=/var/run/dirmngr/socket:14443:1'
/etc/init.d/dirmngr: Zeile 36: 0]DIRMNGR_INFO=/var/run/dirmngr/socket:14443:1: Datei oder Verzeichnis nicht gefunden
++ export DIRMNGR_INFO
++ echo ''
++ cut -d : -f 2
+ pid+ echo ''
+ chmod 0777 /var/run/dirmngr/socket
+ return 0
+ log_end_msg 0
+ '[' -z 0 ']'
+ local retval
+ retval=0
+ log_end_msg_pre 0
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ '[' -t 1 ']'
+ FANCYTTY=0
+ case "$FANCYTTY" in
+ false
+ log_use_fancy_output
+ TPUT=/usr/bin/tput
+ EXPR=/usr/bin/expr
+ '[' -t 1 ']'
+ FANCYTTY=0
+ case "$FANCYTTY" in
+ false
+ RED+ YELLOW+ NORMAL+ '[' 0 -eq 0 ']'
+ echo .
.
+ log_end_msg_post 0
+ :
+ return 0




To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
email Follow the discussion Replies Reply to this message
Help Create a new topicReplies Make a reply
Search Make your own search