[RndTbl] *reading* a file causes reboot

Gilbert E. Detillieux gedetil at cs.umanitoba.ca
Mon May 4 11:37:11 CDT 2015


On 04/05/2015 6:23 AM, Trevor Cordes wrote:
> This was a lovely "bug" to run into during a server migration tonight.
>
> as root:
> grep -r / foobar
>
> cause a new system to crash/reboot.  Did it again and it did it exactly
> at the same place.
>
> The last line was about not being able to read (or some similar
> error) /dev/watchdog
>
> Rackspace thought it was a bug too, and quite odd, then they looked
> around and decided this is "normal" when watchdogs are turned on.
> Huh?  I haven't bz-checked this yet, but this smells funny to me.  A
> read of a file should never *trigger* an action, right?  It's like
> a /sys file: you echo > to them to get it to do something, never
> *read*.

A read on a file in /dev will almost always trigger an action (usually 
causing data to be read from a device, of course), but I can't imagine 
any normal scenario where that action should be a crash or reboot.

> Any thoughts?  If I don't find a bz about it, I'm definitely going to
> make one.  (RHEL6)

This does sound like a bug to me.

> RS claims the only "fix" is to disable watchdog or make sure not to
> grep -r /.
>
> I know grep -r / is really cheesy and lame-o and wasteful as there's
> not going to be something in /dev I'll need (and reading /dem/kmem is
> really cheesy) but sometimes I really need to find all
> occurences of something fast with the least hassle possible (not going
> into / and ls'ing and deciding what to include/exclude which is
> different on many systems).  My point is, grep -r / has never given me
> trouble in the past 20 years, but then again I usually don't have a
> watchdog.

I'd avoid grep -r from the root directory (especially as user root). 
The grep command is simplistic in its directory traversal, so (as I've 
seen in the past with it and other commands like "diff -r") you can end 
up in symlink-induced loops.  I'd also avoid going through /dev (even 
just for reads), as this can cause hanging at the very least, and 
possibly other more serious unintended consequences.  I have, in the 
past, done recursive traversals through /etc, but have encountered 
symlink loops that way.

-- 
Gilbert E. Detillieux		E-mail: <gedetil at muug.mb.ca>
Manitoba UNIX User Group	Web:	http://www.muug.mb.ca/
PO Box 130 St-Boniface		Phone:  (204)474-8161
Winnipeg MB CANADA  R2H 3B4	Fax:    (204)474-7609


More information about the Roundtable mailing list