[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-gawk] gawk 4.2.1 critical issue
From: |
Andrew J. Schorr |
Subject: |
Re: [bug-gawk] gawk 4.2.1 critical issue |
Date: |
Sun, 25 Mar 2018 10:03:11 -0400 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Hi,
Thanks for the bug report. I ran git bisect on this, and here is where
the trouble started:
d18edce5957afdc3a286cf4ce1ca141a3cdc7be5 is the first bad commit
commit d18edce5957afdc3a286cf4ce1ca141a3cdc7be5
Author: Arnold D. Robbins <address@hidden>
Date: Fri Feb 5 10:02:09 2016 +0200
Turn optimization on by default. New -s option to disable it.
:100644 100644 9c0dedd415abce5d8a247fd029cb510b8e5fd7ec
b67eabb8975fd658a06e2c598da466681b11dc37 M ChangeLog
:100644 100644 8383b805e49ba28406728f0bbebfb347873da347
353cf6859509339e471b8f3d3023a09ffba15b23 M NEWS
:100644 100644 61a6de9dde878ea740236dcaacf62af97c3aefb2
d50040b3a890b2791b435488a6e45da02eec85ee M awkgram.c
:100644 100644 11702186f31bf04386cbb7a67c01fcdbc49925da
593eddd8ed6da3ef57ec057627307322e971f1dd M awkgram.y
:040000 040000 e76d55269ffe95739f822291b8455a69702fc960
fb7e870ab6f9c23a9789dd992a3db01c70d88d82 M doc
:100644 100644 b17ab309cada94567b92c5a0a1119f6c07bfb01b
8537aa78e1f8f8359dfb549b4f7db0dad6d2ccde M main.c
:040000 040000 a9f5347bc38c0269b66c1cac462a5385c4bacffa
1416e0866440eb2522db2eb9628725669c717227 M test
And I confirmed that running with the -s option gives the correct result
matching 4.1.4. I haven't had time to debug further...
Regards,
Andy
On Sun, Mar 25, 2018 at 02:34:40PM +0300, Denis Shirokov wrote:
> note: if we are runing same script by gawk 4.1.4 then we will have the
> following output
>
> abc(2, 0)
> 1
> abc(1, 1)
> 1
> abc(0, 1)
>
>
> thnx
>
> 2018-03-25 14:30 GMT+03:00, Denis Shirokov <address@hidden>:
> > # hello
> > #
> > # found another critical issue for gawk 4.2.1
> > #
> > # the following is the gawk 4.2.1 code for reproducing the issue
> > #
> >
> > func abc(c, A, B) {
> >
> > print "abc(" c ", " length(A) ")"
> >
> > if ( !c-- )
> >
> > return
> >
> > B[""]; print length(B)
> >
> > return abc(c, B) }
> >
> > BEGIN {
> >
> > abc(2)
> >
> > }
> >
> > output:
> >
> >>gawk -f r.gwk
> > abc(2, 0)
> > 1
> > abc(1, 0)
> > gawk: r.gwk:9: fatal: attempt to use scalar parameter `B' as an array
> >
> > # we have user defined function abc() that is calling itself recursively
> > # function have two parameters and one local array that is passing
> > # as the second parameter while recursive function call.
> >
> > # please pay attention that local array B isn't present as the
> > parameter after function
> > # recursive call
> >
> > # GNU Awk 4.2.1, API: 2.0 (GNU MPFR 3.1.0-p8, GNU MP 5.0.2)
> > # Copyright (C) 1989, 1991-2018 Free Software Foundation.
> >
> > # Win7x64SP1
> >
> > # with respect
> > # Denis Shirokov
> >
--
Andrew Schorr e-mail: address@hidden
Telemetry Investments, L.L.C. phone: 917-305-1748
545 Fifth Ave, Suite 1108 fax: 212-425-5550
New York, NY 10017-3630