km@emory.UUCP (Ken Mandelberg) (02/04/84)
We have found an apparent bug in pix on 4.2 on real reads. The same problem does not occur on either pc or pix on 4.1. Has anyone fixed this yet? The bug report follows. Ken Mandelberg Dept of Math and CS Emory University {akgua,sb1,gatech}!emory!km Subject: Pi gives error on real reads Index: /usr/src/ucb/pascal/pi 4.2BSD Description: Pix blows up on the second real number read from stdin. More precisely, the first real read following the read of a real number entered with a decimal point will fail. Repeat-By: Script started on Fri Feb 3 18:36:32 1984 % cat test2.p program cnvx(input,output); var x:real; begin readln(x); writeln(x); readln(x); writeln(x); end. % pix test2.p Execution begins... 1.1 1.10000000000000e+00 1.2 standard input: Bad data found on real read Program error Do you wish to enter the debugger? n Error in "cnvx"+2 near line 7. Execution terminated abnormally. 3 statements executed in 0000.80 seconds cpu time. % script done on Fri Feb 3 18:37:43 1984 Fix: Unknown. Pc does not have the same bug, so it can be used when real reads are needed.
km@emory.UUCP (Ken Mandelberg) (02/14/84)
This is a followup to a bug I reported in Pix (really Px) in reading real numbers. I just traced the problem to a library routine READ8.c in /usr/lib/libpc.a . However, when I checked the source (and .o in the archive) I found that the compiled px contained a later version of READ8.c than the library. Specifically, if I rebuild px and diff the 'what' against the distributed px I get: 1c1 < px.rebuilt --- > px.cameoff4.2tape 20c20 < EXCEPT.c 1.3 1/10/83 --- > EXCEPT.c 1.4 10/1/83 39,40c39,40 < READ4.c 1.6 4/9/82 < READ8.c 1.5 4/9/82 --- > READ4.c 1.8 10/28/83 > READ8.c 1.7 10/28/83 42c42 < READE.c 1.5 6/10/81 --- > READE.c 1.6 10/28/83 75c75 < UNSYNC.c 1.3 6/10/81 --- > UNSYNC.c 1.4 10/28/83 As it happens the rebuilt version (with the older modules) does not have my real read bug, so I am happy. However, I am nervous about using modules that are as much as two years older than what was imbedded in the px that came on our 4.2 tape. I don't have much alternative, since there is no source on our 4.2 tape for the newer versions. If anyone has the source to the newer modules, or knows what they fix I would like to hear about it. Ken Mandelberg Emory University Dept of Math and CS {akgua,sb1,gatech}!emory!km