Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 02 Mar 2003 09:47:39 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Christoph Kukulies <kuku@physik.rwth-aachen.de>
Cc:        freebsd-current@freebsd.org
Subject:   Re: mgetty in ttys hoses system
Message-ID:  <3E6243BB.282E436A@mindspring.com>
References:  <200303021037.LAA30904@accms33.physik.rwth-aachen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Christoph Kukulies wrote:
> I installed the /usr/ports/comms/mgetty+sendfax to get my
> new servers functions completed and found after installing the
> port and giving a kill -HUP 1 - the port adds the
> line
> cuaa0 "/usr/local/sbin/mgetty" unknown on insecure
> to /etc/ttys.
> 
> After that the system was hosed. After rebooting
> the system seemed to got hung in multi user mode.
> No vtys and I booted into single user.
> 
> Found that /etc/ttys contained passwd entries instead, totally
> hosed. It never happended to me that I got FS corruption
> like this before.


This is a well-known FreeBSD VM bug, having to do with writes
to COW pages for objects mapped read-only.

It happens when you modify the contents of the data areas returned
by getpwent().

We had the same problem with Vixie "cron" on the InterJet; it would
spam the crontab with a page of data from the passwd database.

No one ever fixed it, because no one after Dyson has really bothered
to fully understand the VM system, before making changes to it.

You can work around it by modifying the program to copy the pwent
contents (or use it's own pwent structure) instead of modifying the
returned data areas.  This avoids triggering the COW, where the
dirty buffer gets attached to the wrong vnode.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E6243BB.282E436A>