Skip Menu |
Report information
Id: 133948
Status: resolved
Priority: 0/
Queue: perl5

Owner: jkeenan <jkeenan [at] cpan.org>
Requestors: jkeenan [at] pobox.com
Cc:
AdminCc:

Operating System: (no value)
PatchStatus: (no value)
Severity: low
Type:
Perl Version: 5.29.9
Fixed In: (no value)



From: James E Keenan <jkeenan [...] pobox.com>
Date: Fri, 22 Mar 2019 13:51:38 -0400
Subject: Blead breaks CPAN: 2abbd513b8 breaks MP3::Tag
To: perlbug [...] perl.org
Download (untitled) / with headers
text/plain 2.4k
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: https://rt.cpan.org/Ticket/Display.html?id=128915 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/bisect.pl -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 <khw@cpan.org> Date: Sun Mar 17 21:06:10 2019 -0600 Implement variable length lookbehind in regex patterns See [perl #132367]. :040000 040000 7448ad0bab5d8be805d1e8909c1a10339fafa173 8a633adba6c841e8a9ba2cbda1e6e660d9a1d3dc M pod :100644 100644 658896f6150002907ba830c3743457189523b51f 275945c388f51a00c8692b849e4007efbf64610b M regcomp.c :100644 100644 4b9a42c3381f1f340c5210634b61308ce8ec3522 11cf43f4293368558c39902d4137ee4f4f470e6a M regcomp.sym :100644 100644 f72503e54ae3fc44735991ad88f3b637a19abd87 cafc6b795a204d471caa5cb95eee41ad0003e981 M regexec.c :100644 100644 9d43083a4098781e2faa15a3a9d14400d3c72ca4 45f64e8cdb4ab3b82d6a3aa337990c40fae07445 M regexp.h :100644 100644 3b53c1715fe9868506e44eedbe50c33870c1bc94 803938ac480bf73e9ccd0721e9f8e1445e9c92b1 M regnodes.h :040000 040000 b87dcbd6cf55a137f71309b57ac7047965984a9c 47b04175b15a8325d52c64f9f230ce18291b4eaf M t bisect run success That took 1277 seconds. ##### I then manually built perl and cpanm at this commit and tried to install MP3::Tag. I got a FAIL. Doing the same at the immediately preceding commit, I got a PASS. Note that these were threaded builds, which is how I customarily test on this platform. I have not yet tried unthreaded builds. Karl, can you take a look? Thank you very much. Jim Keenan

Message body is not shown because sender requested not to inline it.

From: Karl Williamson <public [...] khwilliamson.com>
To: perl5-porters [...] perl.org
Date: Fri, 22 Mar 2019 15:02:50 -0600
Subject: Re: [perl #133948] Blead breaks CPAN: 2abbd513b8 breaks MP3::Tag
Download (untitled) / with headers
text/plain 2.6k
On 3/22/19 11:51 AM, James E Keenan (via RT) wrote: Show quoted text
> # 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: https://rt.perl.org/Ticket/Display.html?id=133948 > > > > 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: > > https://rt.cpan.org/Ticket/Display.html?id=128915 > > 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/bisect.pl -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 <khw@cpan.org> > 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 <khw@cpan.org> 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 leave 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.
Subject: Re: [perl #133948] Blead breaks CPAN: 2abbd513b8 breaks MP3::Tag
Date: Fri, 22 Mar 2019 18:35:32 -0400
To: perl5-porters [...] perl.org
From: James E Keenan <jkeenan [...] pobox.com>
Download (untitled) / with headers
text/plain 3.4k
On 3/22/19 5:02 PM, Karl Williamson wrote: Show quoted text
> 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: https://rt.perl.org/Ticket/Display.html?id=133948 > >> >> >> 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: >> >> https://rt.cpan.org/Ticket/Display.html?id=128915 >> >> 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/bisect.pl -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 <khw@cpan.org> >> 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 <khw@cpan.org> >  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 > leave >      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.
Looks good to me. ##### [blead] $ ./bin/perl -Ilib -V:config_args config_args='-des -Dusedevel -Uversiononly -Dprefix=/home/jkeenan/testing/blead -Dman1dir=none -Dman3dir=none -Duseithreads -Doptimize=-O2 -pipe -fstack-protector -fno-strict-aliasing'; [blead] $ ./bin/cpanm MP3::Tag --> Working on MP3::Tag Fetching http://www.cpan.org/authors/id/I/IL/ILYAZ/modules/MP3-Tag-1.14.tar.gz ... OK Configuring MP3-Tag-1.14 ... OK Building and testing MP3-Tag-1.14 ... OK Successfully installed MP3-Tag-1.14 1 distribution installed ##### But we should leave this RT open for a while to see what other breakage occurs. Thank you very much. Jim Keenan
CC: perl5-porters [...] perl.org
Date: Wed, 24 Apr 2019 14:48:31 +0100
Subject: Re: [perl #133948] Blead breaks CPAN: 2abbd513b8 breaks MP3::Tag
From: Dave Mitchell <davem [...] iabyn.com>
To: James E Keenan <jkeenan [...] pobox.com>
Download (untitled) / with headers
text/plain 595b
On Fri, Mar 22, 2019 at 06:35:32PM -0400, James E Keenan wrote: Show quoted text
> On 3/22/19 5:02 PM, Karl Williamson wrote:
> > This should be fixed by > > > > commit 39ce401c1db32fe69d69d11cfd7b62071e52f43a > >  Author: Karl Williamson <khw@cpan.org> > >  Date:   Fri Mar 22 14:54:33 2019 -0600 > > > >      PATCH: [perl #133984] Failure in lookbehind
> > Looks good to me.
.... Show quoted text
> > But we should leave this RT open for a while to see what other breakage > occurs.
I think this ticket can be closed now. -- "Procrastination grows to fill the available time" -- Mitchell's corollary to P
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 656b
On Wed, 24 Apr 2019 13:48:42 GMT, davem wrote: Show quoted text
> On Fri, Mar 22, 2019 at 06:35:32PM -0400, James E Keenan wrote:
> > On 3/22/19 5:02 PM, Karl Williamson wrote:
> > > This should be fixed by > > > > > > commit 39ce401c1db32fe69d69d11cfd7b62071e52f43a > > >  Author: Karl Williamson <khw@cpan.org> > > >  Date:   Fri Mar 22 14:54:33 2019 -0600 > > > > > >      PATCH: [perl #133984] Failure in lookbehind
> > > > Looks good to me.
> ....
> > > > But we should leave this RT open for a while to see what other breakage > > occurs.
> > I think this ticket can be closed now. >
Agreed. Closing. Thanks. -- James E Keenan (jkeenan@cpan.org)


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org