SUMMARY: Re: /dev/bd stops machine from booting

From: Mark (
Date: Tue May 02 1995 - 18:57:15 CDT


Here is what Casper sent me, it should answer the me too's I've been getting.
As usual, Sun's general answer is upgrade to 2.4 =). He does however supply an
additional fix which mirrors what I did.


Forwarded message:
>To: Mark <>
>Subject: Re: /dev/bd stops machine from booting
>Date: Tue, 02 May 1995 11:12:05 +0200
>From: Casper Dik <casper@Holland.Sun.COM>
>>System: Solaris 2.3, SS10/512
>>Sun managers,
>>Yesterday we were playing bounce the machine and noticed the machine hanging,
>>requiring an rlogin to kill a ps that was at 99% cpu usage. Apparently what
>>had happened was a file called "/dev/bd" (buttons and dials) had been created
>>during past boot -r's and was pointing to nowhere, thereby defaulting to /dev
>>lrwxrwxrwx 1 root root 0 Mar 17 03:26 /dev/bd ->
>>Since ps stats every file in /dev when it runs it kept looping to
>>/dev/bd -> /dev -> /dev/bd -> /dev -> /dev/bd etc. Presumably it either didnt
>>reach a softlink limit or retried after the error, in any event it just sat
>>there sucking cpu and halting the boot.
>>My temp fix was to put in a "rm -f /dev/bd" in /etc/init.d/cron before the
>>ps it does, thereby allowing the machine to boot.
>>My question is, why would this have happened? It took me about 5 minutes to
>>analyse and fix but it seems in the past a former sys admin actually had to
>>reinstall the os. Thus it isnt a freak occurence. Who else has seen this?
>>Seems like a great denial of service attack :)

>This is fixed in 2.4. The problem is that the link is recreated
>each and every reboot. If your system crashes it is tehn possible for this
>link not to be properly flushed to disk. In 2.4 ps will no longer
>follow these links.
>The script /etc/init.d/buttons_n_dials-setup is responsbile for this
>It's in the Solaris FAQ.
>The solaris FAQ says:
>5.8) My machine hangs during the boot process. It seems related to ps.
> When the system boots, the first invocation of ps will try to
> recreate /tmp/ps_data. To this end ps scans the /dev tree.
> Under some circumstances, a loop exists in /dev and ps will
> run forever. Most of the time this loop is caused by the symbolic
> link /dev/ While this link usually points to /dev/term/b,
> it sometimes get truncated and points to /dev instead.
> Fix: rm -f /dev/; ln -s /dev/term/b /dev/
> Use truss(1) to determine whether this is real the cause of your
> problem.
> --- end of excerpt from the FAQ
>Questions marked with a * or + have been changed or added since
>the FAQ was last posted
>The most recently posted version of the FAQ is available from
> in directory /pub/solaris

This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:10:23 CDT