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.orgReceived 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