Date: Sat, 12 Nov 2005 04:30:21 -0700 (MST) From: Brad Huntting <huntting@hunkular.glarp.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/88883: sysutils/fcron Message-ID: <200511121130.jACBULkS074847@hunkular.glarp.com> Resent-Message-ID: <200511121140.jACBe8tq039157@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 88883 >Category: ports >Synopsis: sysutils/fcron >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Sat Nov 12 11:40:08 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Brad Huntting >Release: FreeBSD 6.0-RELEASE i386 >Organization: improving >Environment: System: FreeBSD hunkular.glarp.com 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Nov 3 09:36:13 UTC 2005 root@x64.samsco.home:/usr/obj/usr/src/sys/GENERIC i386 >Description: fcron crashes with the syslog message 'select return 22: Invalid argument' (22 is errno EINVAL). A cursory inspection indicates the broken select(2) call is only compiled when the fcrondyn feature is enabled. Until this newer code is cleaned up and fixed, the safest course would seem to be to disable it altogether. >How-To-Repeat: Compile and install on 6.0-RELEASE. Run with roots fcrontab: SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/var/log # @nolog,serial,lavg(.5,.5,1.5) 5 /usr/libexec/atrun %nolog,hourly * newsyslog %daily,serial,lavg(.2,.2,.2) * * periodic daily %weekly,serial,lavg(.2,.2,.2) * * periodic weekly %monthly,serial,lavg(.2,.2,.2) * * * periodic monthly fcron should log the following message after running for a few (<24) hours: Nov 7 09:35:30 hunkular fcron[1238]: select return 22: Invalid argument Nov 7 09:35:30 hunkular fcron[1238]: Aborted >Fix: Disabling fcrondyn appears to fix the problem. Also, removed the unnessesary patch file for configure and the USE_PERL5_BUILD directive as perl is no longer used for installation. I've tested the build on 4.10-RELEASE, 5.4-RELEASE and 6.0-RELEASE, and have run the patched version on 6.0-RELEASE for a couple days on two different machines w/o incident. The following patch was created with: diff -Nru /usr/ports/sysutils/fcron ~/src/fcron ------------------------------ cut here ------------------------------ diff -Nru /usr/ports/sysutils/fcron/Makefile /host/pernicious.glarp.com/home/huntting/src/fcron/Makefile --- /usr/ports/sysutils/fcron/Makefile Sun Oct 23 03:27:20 2005 +++ /host/pernicious.glarp.com/home/huntting/src/fcron/Makefile Thu Nov 10 01:03:38 2005 @@ -8,7 +8,7 @@ PORTNAME= fcron PORTVERSION= 3.0.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= sysutils MASTER_SITES= ${MASTER_SITE_SUNSITE} \ http://fcron.free.fr/ @@ -20,17 +20,16 @@ GNU_CONFIGURE= yes USE_GMAKE= yes -USE_PERL5_BUILD= yes CONFIGURE_ARGS= --with-etcdir=${PREFIX}/etc --with-cflags="${CFLAGS}" \ --with-rootname=root --with-rootgroup=wheel \ - --with-docdir=${DOCSDIR} + --with-docdir=${DOCSDIR} --with-fcrondyn=no WRKSRC= ${WRKDIR}/fcron-${PORTVERSION} USE_RC_SUBR= fcron SUB_FILES= pkg-message -MAN1= fcrondyn.1 fcrontab.1 +MAN1= fcrontab.1 MAN5= fcron.conf.5 fcrontab.5 MAN8= fcron.8 @@ -43,7 +42,6 @@ ${INSTALL_PROGRAM} ${WRKSRC}/fcron ${PREFIX}/sbin ${INSTALL_PROGRAM} -g fcron -o fcron -m 6111 ${WRKSRC}/fcrontab ${PREFIX}/bin ${INSTALL_PROGRAM} -g fcron -m 4110 ${WRKSRC}/fcronsighup ${PREFIX}/bin - ${INSTALL_PROGRAM} -g fcron -o fcron -m 6111 ${WRKSRC}/fcrondyn ${PREFIX}/bin .for f in fcron.allow fcron.conf fcron.deny ${INSTALL_DATA} -g fcron -m 640 ${WRKSRC}/files/${f} ${PREFIX}/etc/${f}.dist .endfor diff -Nru /usr/ports/sysutils/fcron/files/patch-configure /host/pernicious.glarp.com/home/huntting/src/fcron/files/patch-configure --- /usr/ports/sysutils/fcron/files/patch-configure Tue Oct 4 11:54:23 2005 +++ /host/pernicious.glarp.com/home/huntting/src/fcron/files/patch-configure Wed Dec 31 17:00:00 1969 @@ -1,20 +0,0 @@ ---- configure.orig Tue Oct 4 18:39:16 2005 -+++ configure Tue Oct 4 18:42:04 2005 -@@ -11767,17 +11767,9 @@ - fi - ;; - *) -- if test -d "$withval"; then - etcdir="$withval" - echo "$as_me:$LINENO: result: $withval" >&5 - echo "${ECHO_T}$withval" >&6 -- else -- { { echo "$as_me:$LINENO: error: --Directory $withval does not exist" >&5 --echo "$as_me: error: --Directory $withval does not exist" >&2;} -- { (exit 1); exit 1; }; } -- fi - ;; - esac - else diff -Nru /usr/ports/sysutils/fcron/pkg-plist /host/pernicious.glarp.com/home/huntting/src/fcron/pkg-plist --- /usr/ports/sysutils/fcron/pkg-plist Tue Oct 4 11:54:23 2005 +++ /host/pernicious.glarp.com/home/huntting/src/fcron/pkg-plist Thu Nov 10 01:04:26 2005 @@ -1,4 +1,3 @@ -bin/fcrondyn bin/fcronsighup bin/fcrontab etc/fcron.allow.dist ------------------------------ cut here ------------------------------ >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511121130.jACBULkS074847>