de@dcl-cs.UUCP (David England) (08/29/85)
A couple of times now our Sun 120 has done a reboot after this, apparently harmless, command line (it didn't use to do this); % cat file | csvax lpr where csvax is a remote machine entry in /usr/host. The machine goes into KERNEL mode, does a traceback, gives a panic: Address error, then reboots. Could any unix/sun wizard e-mail some help/hints/etc ? -- UUCP : ..!seismo!mcvax!ukc!dcl-cs!de DARPA : de%lancs.comp@ucl-cs JANET : de@uk.ac.lancs.comp PHONE : +44 524 65201 Ext. 4586 POST : Univ. of Lancaster, Dept of Computing, Lancaster LA1 2YR, UK. PROJECT : Alvey ECLIPSE User Interface
mojo@sun.uucp (Joseph Moran) (09/02/85)
In article <415@dcl-cs.UUCP> de@dcl-cs.UUCP (David England) writes: >A couple of times now our Sun 120 has done a reboot after this, apparently >harmless, command line (it didn't use to do this); >% cat file | csvax lpr > >where csvax is a remote machine entry in /usr/host. > >The machine goes into KERNEL mode, does a traceback, gives a panic: Address >error, then reboots. > Well, as it turns out when the Sun kernel copies data out to the user address space, it doesn't always check data alignment. If a fault occurs during the move, the kernel is supposed to detect that this fault was not really a kernel fault, rather it is to be treated as a user fault and the system call should return EFAULT or something like that. In the 1.x kernels, the address error fault code was not doing this, and thus a bad pointer to certain system calls could cause an address error panic. The address error kernel bug is fixed in Sun release 2.0. Thus I'm hoping that you are running a 1.x kernel. As to what system call had a misaligned pointer in your example you got me. I'd look at a crash dump to look what's happening there. If you get a 2.0 system and you have the same system call parameters, the system call will just fail instead of panic'ing the kernel. Joe Moran