busybox-1.12.1=>1.12.2 gzip regression (was ash regression)

Gilles Espinasse g.esp at free.fr
Thu Nov 27 08:59:44 PST 2008


----- Original Message ----- 
From: "Gilles Espinasse" <g.esp at free.fr>
To: "Denys Vlasenko" <vda.linux at googlemail.com>
Cc: "Busybox" <busybox at busybox.net>
Sent: Tuesday, November 25, 2008 8:14 AM
Subject: Re: busybox-1.12.1=>1.12.2 ash regression


> >
> > Can you try just replacing
> >
> >    while (*envp)
> >         putenv(*envp++);
> >
> > with
> >
> >    environ = envp;
> >
> > Does this work?
>
First I find a very different issue that may explain the problem
encountered.
We will see later and in fact the problem happen even with 1.12.2 and ash
patch reverted from 1.12.1
I would say there is a race and there 30% of success with a PII350 and same
code may always fail with a faster machine. I just had bad luck when
reverting ash patch that it had work that time.

Each time the font is changed and the font is found compressed, there is a
"Bad character height 0" message. You could gzip the font file again to see
the behavior.

The problem found is that setfont from 1.12.2 behave somewhat very
differently from 1.12.1
Here is url from both strace, the only difference is 1.12.1 vs 1.12.2 (both
unpatched).
http://g.esp.free.fr/download/strace-setfont_busybox-1.12.1.txt
http://g.esp.free.fr/download/strace-setfont_busybox-1.12.2.txt

setfont from 1.12.1 does not change files under /usr/share/kbd/consolefonts
setfont from 1.12.2 rewrite the gunzipped file on the file system and unlink
the original file lat0-16.psfu.gz (yuk).
This happen despite the correct flags passed to gzip
execve("/sbin/gzip", ["gzip", "-d", "-c", "./lat0-16.psfu.gz"]
So the root cause could be in gzip or the flags are not received correctly
by gzip.

I then directly try in a shell
gzip -d -c /usr/share/kbd/consolefonts/lat1-16.psfu.gz
and similary the gz file disappear replaced by lat1-16.psfu.

I have seen too that setfont 1.12.2 access /usr/lib/locale/locale-archive,
setfont 1.12.1 not.
I don't know if this matter.


Gilles



More information about the busybox mailing list