[tz] [YBA] TLD make using mawk causes malloc failure
Ian Abbott
abbotti at mev.co.uk
Wed Jan 19 14:00:22 UTC 2022
On 19/01/2022 10:12, Jonathan Ben Avraham via tz wrote:
> Dear colleagues,
> I noticed that on all tz versions up to 2021e running make in the
> top-level directory results in a malloc failure on Debian 10 which uses
> the mawk alternate for awk:
>
> cc -DTZDIR='"/usr/share/zoneinfo"' -c -o difftime.o difftime.c
> rm -f libtz.a
> ar -rc libtz.a localtime.o asctime.o difftime.o strftime.o
> : libtz.a
> awk -v DATAFORM=`expr main.zi : '\(.*\).zi'` -f ziguard.awk \
> africa antarctica asia australasia europe northamerica
> southamerica etcetera factory backward >main.zi.out
> malloc(): unsorted double linked list corrupted
> Aborted
> make: *** [Makefile:612: main.zi] Error 134
FWIW, in Debian 11 they switched to a different development stream of
mawk. Debian 10 was using the Mark Brennan's mawk-1.3.3 with Debian
patches (currently mawk-1.3.3-17, Debian maintainer Steve Langasek).
Debian 11 uses Thomas Dickey's mawk-1.3.4 plus snapshots (currently
mawk-1.3.4.20200120, Debian package version mawk-1.3.4.20200120-2,
Debian maintainer Boyuan Yang).
Debian's mawk-1.3.4.20200120-2 doesn't have the problem.
The home page for Thomas Dickey's mawk 1.3.4 is:
https://invisible-island.net/mawk/mawk.html
He maintains it in RCS, but there are snapshots on GitHub at:
https://github.com/ThomasDickey/mawk-snapshots
I used git bisect (reversing the usual meanings of "good" and "bad") to
determine that the problem was fixed by the 20100418 snapshot, tagged
t20100418, commit:
https://github.com/ThomasDickey/mawk-snapshots/commit/e23bdc528abf8e0752a3c26cd010ab0497eec706
The main changes for this snapshot were to the files "array.c",
"array.w" ("array.c" is "untangle"d from the "Noweb" source in
"array.w"), and "types.h".
>
> This can be corrected by installing gawk and running
>
> update-alternatives --config awk
>
> to select gawk as the awk alternate. I verified that the make completes
> without error using either GNU Awk 4.1.4, or GNU Awk 4.2.1.
You could also build tz with
make AWK=gawk
(or edit the Makefile to change the AWK variable).
--
-=( Ian Abbott <abbotti at mev.co.uk> || MEV Ltd. is a company )=-
-=( registered in England & Wales. Regd. number: 02862268. )=-
-=( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=-
-=( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || www.mev.co.uk )=-
More information about the tz
mailing list