A subtle libstand bug?

Yar Tikhiy yar at comp.chem.msu.su
Sun Jun 6 09:39:06 GMT 2004


Hi there,

I'm sorry to report the problem I observed in so little detail,
but OTOH I feel I must notify the community about it.  I'm afraid
there's too little detail for a PR.

Yesterday I did binary upgrade of my home system, from 4.9-R to
4.10-R.  Then I merged my old /etc into the new one.  Of course, I
just did "mv /etc.old/fstab /etc".  After that, the kernel started
to ask for the root device.

Having played with loader(8) in the past, I concluded that something
was wrong with my /etc/fstab, because I knew loader(8) would consult
it for the root device name to pass to the kernel.  I added some
debugging printfs to getrootmount(), in sys/boot/common/boot.c, and
saw that /etc/fstab was opened OK, but nothing could be read from
it as though it was empty.  At the same time, fsck reported no errors
in the file system.

And then I did a mistake:  I issued, "cp /etc/fstab /etc/fstab2 &&
mv /etc/fstab2 /etc/fstab".  The problem vanished, and I could
reproduce it no more.

>From this experience I suppose that there is a subtle bug in
libstand that must be related to reading FFS directories or inodes.
A libstand wizard might have insight into it.

-- 
Yar


More information about the freebsd-hackers mailing list