Ever seen nondeterministic a.out execution from some filesystems?

Tim Bray tbray at watsol.waterloo.edu
Mon Oct 9 12:55:57 AEST 1989


In article <11827 at watcgl.waterloo.edu> idallen at watcgl.waterloo.edu writes:
>Has anyone seen this?
>
>File system /tmp on our 4.3BSD vax8600's has a block size equal to its
>frag size equal to 8192.  When I compile and run different programs in
>this file system, sometimes they mysteriously die ...

Yes, I've seen this behaviour.  It was caused by a bad block on the disk.  In
that case, it was in the middle of a large static executable and behaved in
such a fashion that read(2) from the filesystem sometimes returned what you
wrote, sometimes not.

Actually, even if the block was 100% shot (effectively write-only), you could
get that effect on a small volatile filesystem like /tmp as that particular
block circulated back & forth between the free list and your a.out.

When that happened, it surprised me that the disk (RP06 under 4.1bsd (!), I
believe) would let that happen without shrieking.  Still surprising.

Tim Bray, New OED Project, U of Waterloo



More information about the Comp.unix.wizards mailing list