Re: /libexec/ld-elf.so.1: environment corrupt; missing value for

From: Sean C. Farley <scf_at_FreeBSD.org>
Date: Fri, 14 Sep 2007 09:50:42 -0500 (CDT)
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_at_FreeBSD.org
Received on Fri Sep 14 2007 - 12:50:49 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:17 UTC