Subject: Re: panic: ptdi %x
To: Michael K. Sanders <msanders@confusion.net>
From: Lonhyn T. Jasinskyj <lonhyn@nas.nasa.gov>
List: port-i386
Date: 11/03/1998 18:38:00
>I have a 1.3.2 system with an IDE disk that was showing some corrected
>soft errors in my logs, so I wanted to check the disk with dd.  I did
>the following:
>
>    dd if=/dev/rwd0f of=/dev/null bs=8192k
>
>and the system promptly panic'ed.  In retrospect, that seems like a
>large block size, but I didn't expect a panic... is this a bug, or
>operator error?

Newer versions of NetBSD have come so far from the early days of UNIX
that old-style options (without a '-') can sometimes frighten the
shell. If you cannot avoid using dd you can try sneaking up on the
shell by using:

     eval 'dd if=/dev/rwd0f of=/dev/null bs=8192k'

or prepend a command with lots of modern style options to lull the
shell into a sense of complacency:

     ls -A -C -F -L -R -a -c -d -f -g -i -k -l -n -o -q / > /dev/null &&
           dd if=/dev/rwd0f of=/dev/null bs=8192k

It seems almost counterintuitive that the shell's parser would care
what type of options a command took. However, I think that it is a
sort of computer neurosis that causes this to happen, the shell is
trying to imagine all of the ways that a command could fail and senses
that something might go wrong through a parser feature called
look-ahead. I have been told by coworkers that this is not true but I
know for a fact that this phenomenon exists, I even saw look-ahead
mentioned in a book on parsers.

All of these problems will clear up in the year 2000 once the old style
options break because of Y2K problems. We will then be forced to use
GNU style options in GNU dd:

    dd --name-of-the-file-or-device-to-read /dev/rwd0f \
       --name-of-the-file-or-device-to-write /dev/null \
       --the-size-in-kilobytes-of-the-blocks-to-be-used 8192

If you absolutely can't wait until then try setting your clock back to
1971. This should prevent your shell from becoming agitated and
everything should be groovy.

lonnie