[comp.sys.transputer] Serious bug in Inmos Occam toolset!

K312240%AEARN@CORNELLC.CIT.CORNELL.EDU (Klaus Kusche) (03/09/90)

Dear Mailing List (again, this also goes to Inmos):

This is a report describing a bug in the current release of the Inmos
Occam toolset which seems to eventually cause serious damage:

The day before yesterday, suddenly the Occam checker "icheck" started
to cause strange problems, although it has worked fine before, even
on the same input:
* It reported strange errors not obviously related to the source being
  checked, and it gave the assertion failed message I like so much...
* The "iserver" complained about timeouts, protocol errors, and
  oversized packets.
* Both the transputer board and the PC just hung now and then.
* Finally, the hard disk was damaged (bad FAT and media descriptor).

Even more strange, the problems were not clearly reproducible, they
did depend on the input file and the user's environment: Some files
still worked...

After one day of experimenting, we believe we have isolated the problem
(as I said: We *think* so, no gurantee...):

The toolset uses a DOS environment variable ISEARCH to locate the
directories of the files being #USEd and #INCLUDEd. As you may know,
DOS environment strings may have a length up to 124 characters (when
you use SET, actually they may have any length if you hack them into the
environment in any other way). However, "icheck" starts to show the
strange behaviour described above as soon as the ICHECK environment
string becomes longer than approximately 80 chars.

However, the bug is local to "icheck", the occam compiler itself does
*not* seem to suffer from the same problem. Moreover,
the bug doesn't show up if the contents of ISEARCH past the magic column
is not looked at, i.e. if all files included can be found in the
directories given at the beginning of ISEARCH.

Consequently, you shouldn't add more than one or two private
directories to the default ones in ISEARCH!!!

Greetings

************************************************************************
* Klaus Kusche                                                         *
* Research Institute for Symbolic Computation                          *
* Johannes Kepler University           Tel: +43 7236 3231 67           *
* A-4040 Linz                          Telex: (Austria) 22323 uni li a *
* Austria (Europe)                     Fax: +43 7236 3231 30           *
*                                                                      *
* Bitnet:           K312240@AEARN                                      *
* Arpa/CS/Internet: K312240%AEARN.BITNET@CUNYVM.CUNY.EDU               *
* UUCP:             mcvax!aearn.bitnet!K312240                         *
* Janet:            k312240@earn.aearn or k312240%aearn@earn-relay     *
************************************************************************