Ever seen nondeterministic a.out execution from some filesystems?

idallen at watcgl.waterloo.edu idallen at watcgl.waterloo.edu
Sun Oct 8 15:31:23 AEST 1989


From: "Ian! D. Allen [CGL]" <idallen>

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 of Illegal instruction
faults.  If I compile them ten times in a row, half the time the
resulting a.out won't run.  Copying the a.out to another file in /tmp
often fixes the problem.  Copying the file to another file system and
running it from there always fixes the problem.  Only on /tmp do I
have this problem.  If I run a faulting a.out under adb, it will fault
and when I examine instructions near where it faults I see zeroes!

An edited example:

Script started on Fri Oct  6 22:43:14 1989
% rm a.out
% cc ian.c
% ./a.out </dev/null
% cc ian.c 
% ./a.out < /dev/null 
 8708 Bus error             ./a.out < /dev/null (core dumped)
% cc ian.c 
% ./a.out < /dev/null 
% cc ian.c 
% ./a.out < /dev/null 
 8740 Illegal instruction   ./a.out < /dev/null (core dumped)
% cc ian.c 
% ./a.out < /dev/null 
% cc -g ian.c
% ./a.out < /dev/null 
 8756 Illegal instruction   ./a.out < /dev/null (core dumped)
% adb a.out
$c
_fstat(0,7fffd9a8) from	filbuf.o+5a
filbuf.o(2de0) from fgets.o+22
fgets.o(7fffde40,400,2de0) from	ian.o+22
ian.o(1,7fffe270,7fffe278) from	crt0.o+3d
crt0.o()
data address not found
<pc?i
_fstat+2:	chmk	$3e
_fstat+4:	blssu	fstat.o
:r </dev/null
a.out: running
illegal	instruction (priviliged	instruction fault)
stopped	at	_fstat+2:	halt
<pc?i
_fstat+2:	halt
_fstat+3:	halt
_fstat+4:	halt
_fstat+5:	halt
_fstat+6:	halt
_fstat+7:	halt
getdtablesize.o:
getdtablesize.o:		halt
getdtablesize.o+1:		halt
getdtablesize.o+2:		halt
getdtablesize.o+3:		halt
getdtablesize.o+4:		halt
getdtablesize.o+5:		halt
getdtablesize.o+6:		halt
getdtablesize.o+7:		halt
_getdtablesize:
_getdtablesize:	0
_getdtablesize+2:		halt
_getdtablesize+3:		halt
_getdtablesize+4:		halt
% exit
script done on Fri Oct  6 22:45:29 1989



More information about the Comp.unix.wizards mailing list