develooper Front page | perl.perl5.porters | Postings from April 2019

[perl #133977] Blead breaks CPAN: 657ed7c1 breaks XML::Parser

Thread Previous | Thread Next
From:
James E Keenan via RT
Date:
April 3, 2019 03:08
Subject:
[perl #133977] Blead breaks CPAN: 657ed7c1 breaks XML::Parser
Message ID:
rt-4.0.24-17092-1554260905-1747.133977-14-0@perl.org
On Wed, 03 Apr 2019 00:43:25 GMT, jkeenan@pobox.com wrote:
> In the course of investigating the status of RT 132577 re
> Module::Install, I happened to notice that blead was breaking
> XML::Parser version 2.44.  Recent breakage has also been reported via
> Carlos Guevara's smoke-testing rigs
> (http://matrix.cpantesters.org/?dist=XML-
> Parser%202.44;os=linux;perl=5.29.10;reports=1).
> 
> With the following bisection command ...
> 
> #####
> perl Porting/bisect.pl -Duseithreads \
> --start=6256cf2c2cee30277e34d38416070f9ec671c989 \
> --module=XML::Parser
> #####
> 
> ... I was able to identify this point of breakage
> 
> #####
> 657ed7c1c190e7fad1bac2979944d07245bbeea4 is the first bad commit
> commit 657ed7c1c190e7fad1bac2979944d07245bbeea4
> Author: David Mitchell <davem@iabyn.com>
> Date:   Tue Mar 26 08:56:55 2019 +0000
> 
> fix leak in package name lookup
> 
> S_parse_gv_stash_name() mallocs a temporary buffer when
> scanning package names longer than 64 bytes. Depending on
> how it exits the function, it doesn't always free the
> buffer afterwards. Change the function so that there are
> only two exit points (which free the buffer) and make other
> bits of code goto those two points.
> 
> Can be reproduced with e.g.
> 
> &{"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxxxx'x"}
> 
> Similar code is already present in t/op/stash_parse_gv.t
> #####
> 
> Here is the failing test:
> 
> #####
> [XML-Parser-2.44] 524 $ bleadprove -vb t/decl.t
> t/decl.t ..
> 1..40
> ok 1
> double free or corruption (!prev)
> Failed 39/40 subtests
> 
> Test Summary Report
> -------------------
> t/decl.t (Wstat: 134 Tests: 1 Failed: 0)
>    Non-zero wait status: 134
>    Parse errors: Bad plan.  You planned 40 tests but ran 1.
>  Files=1, Tests=1,  0 wallclock secs ( 0.02 usr  0.00 sys +  0.05 cusr
> 0.01 csys =  0.08 CPU)
> Result: FAIL
> #####
> 
> I should note that for almost three years there has been a development
> release of XML::Parser, 2.44_01, which has been getting CPANtesters
> reports but which has not been officially released to CPAN.  My
> testing
> indicates that this version also is broken on Perl 5 blead
> (v5.29.9-50-gfcacab092a).
> 
> Thank you very much.
> Jim Keenan

Also broken by this commit:  SQL::Translator

#####
Test Summary Report
-------------------
t/23json.t                            (Wstat: 139 Tests: 0 Failed: 0)
  Non-zero wait status: 139
  Parse errors: Bad plan.  You planned 2 tests but ran 0.
t/24yaml.t                            (Wstat: 139 Tests: 0 Failed: 0)
  Non-zero wait status: 139
  Parse errors: Bad plan.  You planned 2 tests but ran 0.
t/60roundtrip.t                       (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
t/mysql-sqlite-translate.t            (Wstat: 138 Tests: 3 Failed: 0)
  Non-zero wait status: 138
  Parse errors: No plan found in TAP output
Files=72, Tests=1552, 35 wallclock secs ( 0.20 usr  0.12 sys + 31.65 cusr  2.82 csys = 34.78 CPU)
Result: FAIL
Failed 4/72 test programs. 0/1552 subtests failed.
#####
-- 
James E Keenan (jkeenan@cpan.org)

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About