Your message dated Fri, 26 Sep 2014 12:46:17 +0200 with message-id <[email protected]> and subject line close "use of --name in … failure to stop in certain virtualized environments" and its dupes has caused the Debian Bug report #760220, regarding clamav-freshclam: Use of --name in start-stop-daemon for stop and restart causes failure to stop in certain virtualized environments to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 760220: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760220 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: clamav-freshclam Version: 0.98.4+dfsg-0+deb7u2 Severity: normal Use of --name $DAEMON in start-stop-daemon calls to stop/restart/reload the daemon results in failure to stop/restart/reload when process names are not available due to limited /proc. This occurs in a number of virtualized environments, in my specific case for debian/kfreebsd-amd64 in a freebsd jail even with linprocfs mounted. Dropping --name $DAEMON and relying solely on PIDFILE solves the issue. -- Package-specific info: --- configuration --- Checking configuration files in /etc/clamav Config file: clamd.conf ----------------------- LogFile = "/var/log/clamav/clamav.log" StatsHostID = "auto" StatsEnabled disabled StatsPEDisabled = "yes" StatsTimeout = "10" LogFileUnlock disabled LogFileMaxSize = "4294967295" LogTime = "yes" LogClean disabled LogSyslog disabled LogFacility = "LOG_LOCAL6" LogVerbose disabled LogRotate = "yes" ExtendedDetectionInfo = "yes" PidFile = "/var/run/clamav/clamd.pid" TemporaryDirectory disabled DatabaseDirectory = "/var/lib/clamav" OfficialDatabaseOnly disabled LocalSocket = "/var/run/clamav/clamd.ctl" LocalSocketGroup = "clamav" LocalSocketMode = "666" FixStaleSocket = "yes" TCPSocket disabled TCPAddr disabled MaxConnectionQueueLength = "15" StreamMaxLength = "26214400" StreamMinPort = "1024" StreamMaxPort = "2048" MaxThreads = "12" ReadTimeout = "180" CommandReadTimeout = "5" SendBufTimeout = "200" MaxQueue = "100" IdleTimeout = "30" ExcludePath disabled MaxDirectoryRecursion = "15" FollowDirectorySymlinks disabled FollowFileSymlinks disabled CrossFilesystems = "yes" SelfCheck = "3600" DisableCache disabled VirusEvent disabled ExitOnOOM disabled AllowAllMatchScan = "yes" Foreground disabled Debug disabled LeaveTemporaryFiles disabled User = "clamav" AllowSupplementaryGroups disabled Bytecode = "yes" BytecodeSecurity = "TrustSigned" BytecodeTimeout = "60000" BytecodeUnsigned disabled BytecodeMode = "Auto" DetectPUA disabled ExcludePUA disabled IncludePUA disabled AlgorithmicDetection = "yes" ScanPE = "yes" ScanELF = "yes" DetectBrokenExecutables disabled ScanMail = "yes" ScanPartialMessages disabled PhishingSignatures = "yes" PhishingScanURLs = "yes" PhishingAlwaysBlockCloak disabled PhishingAlwaysBlockSSLMismatch disabled PartitionIntersection disabled HeuristicScanPrecedence disabled StructuredDataDetection disabled StructuredMinCreditCardCount = "3" StructuredMinSSNCount = "3" StructuredSSNFormatNormal = "yes" StructuredSSNFormatStripped disabled ScanHTML = "yes" ScanOLE2 = "yes" OLE2BlockMacros disabled ScanPDF = "yes" ScanSWF = "yes" ScanArchive = "yes" ArchiveBlockEncrypted disabled ForceToDisk disabled MaxScanSize = "104857600" MaxFileSize = "26214400" MaxRecursion = "10" MaxFiles = "10000" MaxEmbeddedPE = "10485760" MaxHTMLNormalize = "10485760" MaxHTMLNoTags = "2097152" MaxScriptNormalize = "5242880" MaxZipTypeRcg = "1048576" MaxPartitions = "50" MaxIconsPE = "100" ScanOnAccess disabled OnAccessIncludePath disabled OnAccessExcludePath disabled OnAccessExcludeUID disabled OnAccessMaxFileSize = "5242880" DevACOnly disabled DevACDepth disabled DevPerformance disabled DevLiblog disabled DisableCertCheck disabled Config file: freshclam.conf --------------------------- StatsHostID disabled StatsEnabled disabled StatsTimeout disabled LogFileMaxSize = "4294967295" LogTime = "yes" LogSyslog disabled LogFacility = "LOG_LOCAL6" LogVerbose disabled LogRotate = "yes" PidFile = "/var/run/clamav/freshclam.pid" DatabaseDirectory = "/var/lib/clamav" Foreground disabled Debug disabled AllowSupplementaryGroups disabled UpdateLogFile = "/var/log/clamav/freshclam.log" DatabaseOwner = "clamav" Checks = "24" DNSDatabaseInfo = "current.cvd.clamav.net" DatabaseMirror = "db.local.clamav.net", "database.clamav.net" PrivateMirror disabled MaxAttempts = "5" ScriptedUpdates = "yes" TestDatabases = "yes" CompressLocalDatabase disabled ExtraDatabase disabled DatabaseCustomURL disabled HTTPProxyServer disabled HTTPProxyPort disabled HTTPProxyUsername disabled HTTPProxyPassword disabled HTTPUserAgent disabled NotifyClamd = "/etc/clamav/clamd.conf" OnUpdateExecute disabled OnErrorExecute disabled OnOutdatedExecute disabled LocalIPAddress disabled ConnectTimeout = "30" ReceiveTimeout = "30" SubmitDetectionStats disabled DetectionStatsCountry disabled DetectionStatsHostID disabled SafeBrowsing disabled Bytecode = "yes" Config file: clamav-milter.conf ------------------------------- LogFile = "/var/log/clamav/clamav-milter.log" LogFileUnlock disabled LogFileMaxSize = "1048576" LogTime = "yes" LogSyslog disabled LogFacility = "LOG_LOCAL6" LogVerbose disabled LogRotate = "yes" PidFile = "/var/run/clamav/clamav-milter.pid" TemporaryDirectory = "/tmp" FixStaleSocket = "yes" MaxThreads = "10" ReadTimeout = "120" Foreground disabled User = "clamav" AllowSupplementaryGroups = "yes" MaxFileSize = "26214400" ClamdSocket = "unix:/var/run/clamav/clamd.ctl" MilterSocket = "/var/run/clamav/clamav-milter.ctl" MilterSocketGroup = "clamav" MilterSocketMode = "666" LocalNet disabled OnClean = "Accept" OnInfected = "Quarantine" OnFail = "Defer" RejectMsg disabled AddHeader = "Replace" ReportHostname disabled VirusAction disabled Chroot disabled Whitelist disabled SkipAuthenticated disabled LogInfected = "Off" LogClean = "Off" SupportMultipleRecipients disabled Software settings ----------------- Version: 0.98.4 Optional features supported: MEMPOOL IPv6 FRESHCLAM_DNS_FIX AUTOIT_EA06 BZIP2 JIT Database information -------------------- Database directory: /var/lib/clamav daily.cvd: version 19318, sigs: 1094665, built on Mon Sep 1 10:00:50 2014 main.cvd: version 55, sigs: 2424225, built on Tue Sep 17 10:57:28 2013 bytecode.cvd: version 242, sigs: 46, built on Tue Jun 24 18:21:59 2014 Total number of signatures: 3518936 Platform information -------------------- uname: GNU/kFreeBSD 9.2-RELEASE-p9 FreeBSD 9.2-RELEASE-p9 #0 r262572+cc525fe: Thu Jul 3 14:22:45 P x86_64 OS: kfreebsd-gnu, ARCH: x86_64, CPU: x86_64 zlib version: 1.2.7 (1.2.7), compile flags: a9 Triple: x86_64-pc-kfreebsd-gnu CPU: generic, Little-endian platform id: 0x09214d4d0804070201040702 Build information ----------------- GNU C: 4.7.2 (4.7.2) GNU C++: 4.7.2 (4.7.2) CPPFLAGS: -D_FORTIFY_SOURCE=2 CFLAGS: -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE CXXFLAGS: LDFLAGS: -Wl,-z,relro Configure: '--build=x86_64-kfreebsd-gnu' '--prefix=/usr' '--includedir=/usr/include' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=/usr/lib/clamav' '--disable-maintainer-mode' '--disable-dependency-tracking' 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-z,relro' '--with-dbdir=/var/lib/clamav' '--sysconfdir=/etc/clamav' '--disable-clamav' '--disable-unrar' '--enable-milter' '--enable-dns-fix' '--with-gnu-ld' '--with-system-tommath' '--without-included-ltdl' '-with-system-llvm=/usr/bin/llvm-config' 'build_alias=x86_64-kfreebsd-gnu' sizeof(void*) = 8 Engine flevel: 77, dconf: 77 --- data dir --- total 90386 -rw-r--r-- 1 clamav clamav 74230 Aug 31 21:39 bytecode.cvd -rw-r--r-- 1 clamav clamav 27601161 Aug 31 21:39 daily.cvd -rw-r--r-- 1 clamav clamav 64720632 Aug 31 21:39 main.cvd -rw------- 1 clamav clamav 52 Aug 31 21:59 mirrors.dat -- System Information: Debian Release: 7.6 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: kfreebsd-amd64 (x86_64) Kernel: kFreeBSD 9.2-RELEASE-p9 Locale: LANG=en_CA.utf8, LC_CTYPE=en_CA.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages clamav-freshclam depends on: ii clamav-base 0.98.4+dfsg-0+deb7u2 ii debconf [debconf-2.0] 1.5.49 ii dpkg 1.16.15 ii libc0.1 2.13-38+deb7u4 ii libclamav6 0.98.4+dfsg-0+deb7u2 ii libssl1.0.0 1.0.1e-2+deb7u12 ii logrotate 3.8.1-4 ii lsb-base 4.1+Debian8+deb7u1 ii procps 1:3.3.3-3 ii ucf 3.0025+nmu3 ii zlib1g 1:1.2.7.dfsg-13 clamav-freshclam recommends no packages. Versions of packages clamav-freshclam suggests: pn apparmor <none> ii clamav-docs 0.98.4+dfsg-0+deb7u2 -- Configuration Files: /etc/init.d/clamav-freshclam changed: DAEMON=/usr/bin/freshclam NAME=freshclam DESC="ClamAV virus database updater" [ -x $DAEMON ] || exit 0 CLAMAV_CONF_FILE=/etc/clamav/clamd.conf FRESHCLAM_CONF_FILE=/etc/clamav/freshclam.conf to_lower() { word="$1" lcword=$(echo "$word" | tr A-Z a-z) echo "$lcword" } is_true() { var="$1" lcvar=$(to_lower "$var") [ 'true' = "$lcvar" ] || [ 'yes' = "$lcvar" ] || [ 1 = "$lcvar" ] return $? } is_false() { var="$1" lcvar=$(to_lower "$var") [ 'false' = "$lcvar" ] || [ 'no' = "$lcvar" ] || [ 0 = "$lcvar" ] return $? } ucf_cleanup() { # This only does something if I've fucked up before # Not entirely impossible :( configfile=$1 if [ `grep "$configfile" /var/lib/ucf/hashfile | wc -l` -gt 1 ]; then grep -v "$configfile" /var/lib/ucf/hashfile > /var/lib/ucf/hashfile.tmp grep "$configfile" /var/lib/ucf/hashfile | tail -n 1 >> /var/lib/ucf/hashfile.tmp mv /var/lib/ucf/hashfile.tmp /var/lib/ucf/hashfile fi } add_to_ucf() { configfile=$1 ucffile=$2 if ! grep -q "$configfile" /var/lib/ucf/hashfile; then md5sum $configfile >> /var/lib/ucf/hashfile cp $configfile $ucffile fi } ucf_upgrade_check() { configfile=$1 sourcefile=$2 ucffile=$3 if [ -f "$configfile" ]; then add_to_ucf $configfile $ucffile ucf --three-way --debconf-ok "$sourcefile" "$configfile" else [ -d /var/lib/ucf/cache ] || mkdir -p /var/lib/ucf/cache cp $sourcefile $configfile add_to_ucf $configfile $ucffile fi } slurp_config() { CLAMAVCONF="$1" if [ -e "$CLAMAVCONF" ]; then for variable in `egrep -v '^[[:space:]]*(#|$)' "$CLAMAVCONF" | awk '{print $1}'`; do case "$variable" in DatabaseMirror) if [ -z "$DatabaseMirror" ]; then for i in `grep ^$variable $CLAMAVCONF | awk '{print $2}'`; do value="$value $i" done else continue fi ;; DatabaseCustomURL) if [ -z "$DatabaseCustomURL" ]; then for i in `grep ^$variable $CLAMAVCONF | awk '{print $2}'`; do value="$value $i" done else continue fi ;; IncludePUA) if [ -z "$IncludePUA" ]; then for i in `grep ^$variable $CLAMAVCONF | awk '{print $2}'`; do value="$i $value" done else continue fi ;; ExcludePUA) if [ -z "$ExcludePUA" ]; then for i in `grep ^$variable $CLAMAVCONF | awk '{print $2}'`; do value="$i $value" done else continue fi ;; ExtraDatabase) if [ -z "$ExtraDatabase" ]; then for i in `grep ^$variable $CLAMAVCONF | awk '{print $2}'`; do value="$value $i" done else continue fi ;; VirusEvent|OnUpdateExecute|OnErrorExecute|RejectMsg) value=`grep ^$variable $CLAMAVCONF | head -n1 | sed -e s/$variable\ //` ;; *) value=`grep "^$variable[[:space:]]" $CLAMAVCONF | head -n1 | awk '{print $2}'` ;; esac if [ -z "$value" ]; then export "$variable"="true" elif [ "$value" != "$variable" ]; then export "$variable"="$value" else export "$variable"="true" fi unset value done fi } pathfind() { OLDIFS=”$IFS” IFS=: for p in $PATH; do if [ -x ”$p/$*” ]; then IFS=”$OLDIFS” return 0 fi done IFS=”$OLDIFS” return 1 } set_debconf_value() { prog=$1 name=$2 eval variable="\$${name}" if [ -n "$variable" ]; then db_set clamav-$prog/$name "$variable" || true fi } make_dir() { DIR=$1 if [ -d "$DIR" ]; then return 0; fi [ -n "$User" ] || User=clamav mkdir -p -m 0755 "$DIR" chown "$User" "$DIR" pathfind restorecon && restorecon "$DIR" } isdigit () { case $1 in [[:digit:]]*) ISDIGIT=1 ;; *) ISDIGIT=0 ;; esac } inputdigit () { ISDIGIT=0 while [ "$ISDIGIT" = '0' ]; do db_input "$1" "$2" || true if ! db_go; then return 30 fi db_get $2 || true isdigit $RET if [ "$ISDIGIT" = '0' ]; then db_input critical clamav-base/numinfo || true db_go fi done return 0 } StateGeneric() { PRIO=$1 QUESTION=$2 NEXT=$3 LAST=$4 db_input $PRIO $QUESTION || true if db_go; then STATE=$NEXT else STATE=$LAST fi } StateGenericDigit() { PRIO=$1 QUESTION=$2 NEXT=$3 LAST=$4 inputdigit $PRIO $QUESTION || true if db_go; then STATE=$NEXT else STATE=$LAST fi } .. /lib/lsb/init-functions slurp_config "$FRESHCLAM_CONF_FILE" if [ -z "$PidFile" ] then log_failure_msg "$NAME: Can not continue with PidFile not set" if [ "$1" = "status" ]; then # program or service status is unknown exit 4; else # program is not configured correctly exit 6; fi fi [ -n "$DataBaseDirectory" ] || DataBaseDirectory=/var/run/clamav make_dir "$DataBaseDirectory" make_dir $(dirname "$PidFile") [ -z "$UpdateLogFile" ] && UpdateLogFile=/var/log/clamav/freshclam.log [ -z "$DatabaseDirectory" ] && DatabaseDirectory=/var/lib/clamav/ [ -n "$DatabaseOwner" ] || DatabaseOwner=clamav case "$1" in no-daemon) su "$DatabaseOwner" -p -s /bin/sh -c "freshclam -l $UpdateLogFile --datadir $DatabaseDirectory" ;; start) log_daemon_msg "Starting $DESC" "$NAME" if [ ! -f "$PidFile" ]; then # If clamd is run under a different UID than freshclam then we need # to make sure the PidFile can be written or else we won't be able to # kill it. touch $PidFile chown $DatabaseOwner $PidFile fi # If user wants it run from cron, we only accept no-daemon and stop if [ -f /etc/cron.d/clamav-freshclam ]; then log_warning_msg "Not starting $NAME - cron option selected" log_warning_msg "Run the init script with the 'no-daemon' option" log_end_msg 255 # this is similar to the daemon already running exit 0 fi start-stop-daemon --start --oknodo -c "$DatabaseOwner" --exec $DAEMON --pidfile $PidFile -- -d --quiet --config-file=$FRESHCLAM_CONF_FILE log_end_msg $? ;; stop) log_daemon_msg "Stopping $DESC" "$NAME" start-stop-daemon --stop --oknodo --pidfile $PidFile --retry TERM/30/KILL/5 log_end_msg $? ;; restart|force-reload) $0 stop $0 start ;; reload-log) log_daemon_msg "Reloading $DESC" "$NAME" # If user wants it run from cron, we only accept no-daemon and stop if [ -f /etc/cron.d/clamav-freshclam ]; then log_warning_msg "Not reloading log for $NAME - cron option selected" log_end_msg 255 # log-reloading is not needed, because freshclam is not run as daemon exit 0 fi pkill -HUP -F $PidFile $NAME log_end_msg $? ;; skip) ;; status) start-stop-daemon --status --pidfile $PidFile ret="$?" if [ "$ret" = 0 ]; then log_success_msg "$NAME is running" exit 0 else log_failure_msg "$NAME is not running" exit "$ret" fi ;; *) log_action_msg "Usage: $0 {no-daemon|start|stop|restart|force-reload|reload-log|skip|status}" >&2 # invalid arguments exit 2 ;; esac exit 0 -- debconf information: clamav-freshclam/http_proxy: clamav-freshclam/autoupdate_freshclam: daemon clamav-freshclam/LogRotate: true clamav-freshclam/Bytecode: true clamav-freshclam/proxy_user: clamav-freshclam/update_interval: 24 clamav-freshclam/SafeBrowsing: false clamav-freshclam/NotifyClamd: true clamav-freshclam/PrivateMirror: clamav-freshclam/local_mirror: db.local.clamav.net clamav-freshclam/internet_interface:
--- End Message ---
--- Begin Message ---Hi, hereby I close this bug (and its dupes). Almost three weeks passed with a little feedback from the bug reported. The discussion is documented in #760219. The problem, as I understand it, is that certain kFreeBSD jails do not expose the name of process matching a certain PID. The reporter claims that he did the setup wrong (he didn't use linprocfs) and once this was fixed he said "Given that linprocfs exists and things work properly when using it …". I doubt that using --name is something that can considered as a bug in clamav's initscripts (with the history of #580188). This "problem" also exists in other packages like unbound. If this is a real problem it should be addressed in dpkg if at all (giving the fact that the reported did not use linprocfs in the first place). Sebastian
--- End Message ---
_______________________________________________ Pkg-clamav-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-clamav-devel
