Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Apr 2010 16:17:36 +0200
From:      Jilles Tjoelker <jilles@stack.nl>
To:        freebsd-hackers@freebsd.org, gabor@freebsd.org
Subject:   libc NLS, NFS mounted /usr/local, DHCP, no default route causes hangs
Message-ID:  <20100423141735.GA41934@stack.nl>

next in thread | raw e-mail | index | archive | help
The changes to use NLS for strerror sometimes cause one of my virtual
machines to deadlock. This virtual machine runs 9-CURRENT, acquires its
IP address via DHCP (virtualbox host-only networking), has no default
route and has /usr/local and /usr/home NFS mounted.

When the DHCP lease expires such as by resetting the date after a VM
save&restore, one of the route(8) commands executed by
dhclient-script(8) fails and calls strerror(3). Following the default
NLSPATH, catopen(3) looks in /usr/share/nls first; because the catalog
is not there it then tries in /usr/local/share/nls which deadlocks
because the network is not available.

I currently use the attached patch which returns failure on any attempt
to open a catalog for language "C", but I think this is not correct.
Am I using a configuration that is not supposed to work (NFS mounted
/usr/local with DHCP in particular), or should this be fixed in some
other way?

-- 
Jilles Tjoelker



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100423141735.GA41934>