From owner-freebsd-stable@FreeBSD.ORG Thu Jun 2 00:22:59 2005 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1CDC816A41C for ; Thu, 2 Jun 2005 00:22:59 +0000 (GMT) (envelope-from craig@feniz.gank.org) Received: from ion.gank.org (ion.gank.org [69.55.238.164]) by mx1.FreeBSD.org (Postfix) with ESMTP id E7DDD43D53 for ; Thu, 2 Jun 2005 00:22:58 +0000 (GMT) (envelope-from craig@feniz.gank.org) Received: by ion.gank.org (mail, from userid 1001) id 7530E2D7E7; Wed, 1 Jun 2005 19:22:58 -0500 (CDT) Date: Wed, 1 Jun 2005 19:22:56 -0500 From: Craig Boston To: Jon Passki Message-ID: <20050602002255.GA3807@nowhere> Mail-Followup-To: Craig Boston , Jon Passki , freebsd-stable@freebsd.org References: <20050523172415.57039.qmail@web50303.mail.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050523172415.57039.qmail@web50303.mail.yahoo.com> User-Agent: Mutt/1.4.2.1i Cc: freebsd-stable@freebsd.org Subject: Re: Recent 5.4-p1 upgrade issue (lib/libc.so.5) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jun 2005 00:22:59 -0000 Sorry for coming late to the thread -- catching up on mailing list traffic :) On Mon, May 23, 2005 at 10:24:15AM -0700, Jon Passki wrote: > I `chflags noschg /lib/libc.so.5` and then used tar to extract the > exact file. tar was able to unlink the file, and then choked. > After some unrelated errors, I was in single user mode using > /rescue to save my rear end, which worked well enough. Doing `ldd > /sbin/tar` hinted why it probably choked, since tar is dynamically > linked to /lib/libc.so.5. You didn't mention it so I'll ask, did you give the -U flag to tar? If not, it didn't actually unlink libc.so.5, but instead started overwriting it. This likely caused tar to bomb (probably with a SIGSEGV or other bad condition), as the shared library in memory is backed by the pages on disk. Executables are locked to prevent this from happening (ETXTBSY), however shared libraries are not. Overwriting one will almost certainly cause running processes to die and other Bad Things to happen. tar -U unlinks the file first and creates a new one, which seems to be what you want. Of course if you did specify that and just didn't mention it, then the problem is something else entirely -- and shouldn't have happened AFAIK :) Craig