[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Scary bugs



On Fri, Jan 28, 2000 at 04:29:37PM +0100, Richard Braakman wrote:
> I vote these "most likely to delay the release".  They are difficult
> packages that we can't really do without, and seem to have been
> abandoned by their maintainers.  Please help.
> 
> Richard Braakman
> [..]
> 
> Package: util-linux (debian/main).
> Maintainer: Vincent Renardias <vincent@debian.org>
>   42556 util-linux: hwclock: Continually messes up my clock
> [WAITING] Maintainer was contacted on Dec 12, awaiting reply.

IMHO, this has nothing to do with an "upstream" bug, nor with alpha either
(except for the cadence of the processor...).

The reason of this mess is the script /etc/init.d/hwclock.sh, specially
this part :


stop|restart|reload)
	[ "$GMT" = "-u" ] && GMT="--utc"
	hwclock --systohc $GMT
	^^^^^^^^^^^^^^^^^^^^^^
When the system is going down for halt or reboot, hwclock is set to the
value of the system clock and this *modifies /etc/adjtime*.

For a standalone workstation, or more generally a LAN with no NTP server,
this is absolutely evil, because this produces, for the non-informed, a
perfect vicious circle : the clock isn't accurate, he changes it via
hwclock and reboot in the hope that the system clock will be set with
the correct value ; but when the system is reboot, /etc/adjtime is
modified in the very same moment when the CMOS clock is spoiled. Then
he tries to modify the cadence of the system clock etc...

IMHO, the system must behave robustely and the simplest (not simpler :
as simple as this can be), in order that a non-informed can have a
working system, and the well-informed can make what he wants (we have
a lot of question about the "mad clock" on debian-french).


So the FIX :

stop|restart|reload)
# If your system time is accurate, you can backup the date in the CMOS
# clock when the system is going down. This can be done like this :
#	[ "$GMT" = "-u" ] && GMT="--utc"
#		hwclock --systohc $GMT
		if [ "$VERBOSE" != no ]
		then
# If you have chosen the solution above, change the information echoed.
#			echo "CMOS clock updated to `date`."
			echo "CMOS clock *NOT* updated ! (see /etc/init.d/hwclock.sh)"
		fi
		;;

Cheers,
-- 
Thierry LARONDE
thierry.laronde@polynum.com
website : http://www.polynum.com


Reply to: