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