Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Sep 2007 09:50:42 -0500 (CDT)
From:      "Sean C. Farley" <scf@FreeBSD.org>
To:        freebsd-current@FreeBSD.org
Cc:        sergei@FreeBSD.org
Subject:   Re: /libexec/ld-elf.so.1: environment corrupt; missing value for
Message-ID:  <alpine.BSF.0.9999.0709140930250.19951@thor.farley.org>
In-Reply-To: <200709121517.l8CFHK8L086335@lurza.secnetix.de>
References:  <200709121517.l8CFHK8L086335@lurza.secnetix.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 12 Sep 2007, Oliver Fromme wrote:

> Hi,
>
> (I've already posted this a few days ago, but it didn't
> seem to get through to the list.  I have updated the
> 7-current machine today, and the problem is still the
> same.)
>
> This started to happen after updating to a recent 7-current
> about one week ago (it was working fine with a previous 7-
> current that was a few weeks older).  The shell is zsh.
>
> zsh$ /usr/bin/su
> /libexec/ld-elf.so.1: environment corrupt; missing value for
> zsh$

Did you also upgrade zsh at the same time?  You should have been having
troubles with zsh much earlier since my change to the *env() function
went in early July.  :)  zsh 4.3.4 has a bug where it was mixing calls
to *env() functions with direct manipulation of environ.  The CVS
version of zsh is fixed.  I created PR ports/115094[1] to patch it in
the ports tree about a month ago.  *nudging sergei*  :)

> So su(1) fails to start.  Interestingly, when I first start
> an sh shell, I still get the same error message, but the
> shell starts anyway.  Then I can use su(1) without problems:
>
> zsh$ sh
> sh: environment corrupt; missing value for
> $ /usr/bin/su
> Password:
>
> It was my impression that there should be more printed in
> the error message after "missing value for", so I made a
> hexdump:
>
> 6e 67 20 76 61 6c 75 65  20 66 6f 72 20 1b 5b 34  |ng value for .[4|
> 7e 0a                                             |~.|

There should be something besides ^[[4~ printed, but the internal
function __merge_environ() has been presented with an environ it could
not handle.

Sean
   1. http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/115094
-- 
scf@FreeBSD.org



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