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

Re: [perl #133948] Blead breaks CPAN: 2abbd513b8 breaks MP3::Tag

Thread Previous | Thread Next
Karl Williamson
March 22, 2019 21:03
Re: [perl #133948] Blead breaks CPAN: 2abbd513b8 breaks MP3::Tag
Message ID:
On 3/22/19 11:51 AM, James E Keenan (via RT) wrote:
> # New Ticket Created by  James E Keenan
> # Please include the string:  [perl #133948]
> # in the subject line of all future correspondence about this issue.
> # <URL: >
> As reported to the perl5-porters newsgroup earlier today, I noticed test
> failures in MP3-Tag when building it as part of the CPAN-River-3000 run
> kicked off yesterday after the release of perl-5.29.9.  Since I was not
> immediately certain that the fault lay in blead, and since this module
> is throwing a lot of "deprecated in perl-5.32" warnings, I began by
> simply opening this bug ticket:
> The module proved difficult to bisect because its build process requires
> the user to respond to prompts.
> Eventually, with the following bisection command:
> #####
> perl Porting/ -Uuseithreads --start=v5.29.8 --end=v5.29.9
> --module=MP3::Tag
> #####
> ... I was able to identify a problematic commit:
> #####
> HEAD is now at 2abbd513b8 Implement variable length lookbehind in regex
> patterns
> bad - non-zero exit from /tmp/YJl89Q_BUW/bin/perl -I /home/jkeenan/.cpan
> -MCPAN::MyConfig -MCPAN -e
> $CPAN::Config->{build_dir}=q{/tmp/hAZueFfERu}; -e install('MP3::Tag');
> die unless CPAN::Shell->expand(Module => 'MP3::Tag')->uptodate;
> 2abbd513b87245ddb806e6bc4f59945ecb46dced is the first bad commit
> commit 2abbd513b87245ddb806e6bc4f59945ecb46dced
> Author: Karl Williamson <>
> Date:   Sun Mar 17 21:06:10 2019 -0600
>       Implement variable length lookbehind in regex patterns
>       See [perl #132367].

This should be fixed by

commit 39ce401c1db32fe69d69d11cfd7b62071e52f43a
  Author: Karl Williamson <>
  Date:   Fri Mar 22 14:54:33 2019 -0600

      PATCH: [perl #133984] Failure in lookbehind

      I thought that lookbehind assertions weren't supposed to look 
beyond the
      current position; but this CPAN module demonstrates that they can look
      ahead as well.

      I built some infrastructure to prevent them from looking ahead.  In
      part, this is because Unicode recommends that pattern matching 
have the
      ability to restrict the area of the target being matched.  That
      infrastructure is not needed at this time.  But I think we should 
      it in for now anyway, as we see what other bugs the variable length
      lookbehind changes may have caused.

      So this patch just takes the easy way out, and at the place where it
      would restrict the area searched, it uses the full width.  It's a one
      line change.

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About