[11967] in Athena Bugs

home help back first fref pref prev next nref lref last post

decmips 7.6G: zephyr

daemon@ATHENA.MIT.EDU (cfields@MIT.EDU)
Sun Apr 17 02:37:23 1994

From: cfields@MIT.EDU
Date: Sun, 17 Apr 94 02:37:11 -0400
To: bugs@MIT.EDU

System name:		entropy
Type and version:	KN02ca 7.6G (1 update(s) to same version)
Display type:		PMAG-DV 

What were you trying to do?

	Have a zephyr conversation, dialed into my DECstation,
	in tty mode.

What's wrong:

	I received a message:

-->
"Signature long enough so timestamp is r-justif" <user@machine>

hi
2.718282                                    Wednesday at 1:16pm
<--

	Now, I found it rather odd that e appeared in this message.
	Yes, e does pop up in a lot of places, but not usually in
	zephyrgrams, and particularly not as part of a salutation.
	I am not a number, I am a free man, you know?

	So I asked the sender, "e?" To which she responded "huh?"
	(These are in fact direct quotes.) She claimed that she
	had not in fact sent e as a part of her zephyr message,
	which I later verified. I rarely log out, and am always
	running a zwgc on both of my machines. The actual
	windowgrams on both of my workstations utterly failed to
	contain the digits of e to any precision whatsoever.

	Immediately after her claim of innocence of including an
	annoyingly rounded representation of e in her message, I
	made a quick check of my workstation and relevant dotfiles
	for hacks, but found nothing unusual. I have since grepped
	all of the zephyr sources for various instances of code that
	might conceivably print e, but found nothing.

	I have also tried to consider various other mechanisms that
	might result in this phenomenon, but have come up with nothing
	that could happen with significantly greater than zero
	probability. One of the most interesting aspects of this
	occurence is the fact that the timestamp, as usual, is
	correctly right justified, indicating that the digits of
	e somehow replaced the spaces right justifying the
	timestamp. e did not occur in any further zephyrgrams.

What should have happened:

	e (or indeed, any transcendental number) should not
	gratuitously pop up in zephyrgrams. And if it
	does insist on doing so, it should at least present itself
	dressed in a respectable number of digits of precision.

Please describe any relevant documentation references:

	If you don't want to know where e came from, stop reading
	now. I figured it out while writing this bug report, which
	I'm just going to send in anyway. It must at least be
	educational or something. There's a moral to this story,
	but no bug.

	It occurred to me to wonder if the number of digits of e I
	saw happened to be the same number of digits that a single
	precision float would show ('cause that really is an annoying
	place to round it). Then I suddenly remembered a recent (turns
	out to be April 12th) conversation on zephyr instance help
	about the fexp() function and interesting ways in which it
	was failing to function correctly on the DECstation. I had
	been playing around with that and compiling a tiny little
	test C program in /tmp to a.out. When we finally worked things
	out, I had just left this thing in /tmp that prints fexp(1.0)
	correctly, 2.718282...

	Well, a couple of weeks earlier, someone else over instance
	help had asked for some scheme for numbering his zephyrgrams
	(with serial numbers). Why, I don't know. But I hacked
	something up - a little C program, which just prints the
	numbers 1-infinity to stdout. Then I hacked my .zwgc.desc
	to open this program when zwgc starts up and let its output
	spew into a variable, which would then be printed left justified
	on the same line where the timestamp was right justified.

	Of course, I did this hack in /tmp, and the binary my .zwgc.desc
	opens is /tmp/a.out. If there isn't a /tmp/a.out, zwgc fails
	silently and nothing appears next to the timestamp. When I had
	to logout for some reason and the /tmp cleaner had rm'd a.out,
	I just didn't notice when I failed to get serial numbers and
	forgot about the hack. Later of course, I generated a new,
	unrelated a.out, and logged in still later starting a tty mode
	zwgc...

	And when did I start this little hack on myself? I swear, I'm not
	making this up. You can check yourself:

entropy  2:15am 14> ls -l .zwgc.desc
-rw-------  1 cfields      7923 Apr  1 15:16 .zwgc.desc

home help back first fref pref prev next nref lref last post