-
Notifications
You must be signed in to change notification settings - Fork 555
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BBC: Commit e839e6ed breaks Bit-Vector-7.4 #16218
Comments
From @jkeenanThis recent commit ... ##### Add OP_MULTICONCAT op Allow multiple OP_CONCAT, OP_CONST ops, plus optionally an OP_SASSIGN ... appears to have broken CPAN distribution Bit-Vector, version 7.4. 5 The tests in that test file are not very debugging-friendly. I will Thank you very much. |
From @jkeenanSummary of my perl5 (revision 5 version 27 subversion 6) configuration: Characteristics of this binary (from libperl): |
From @jkeenanOn Wed, 01 Nov 2017 15:53:12 GMT, jkeenan@pobox.com wrote:
Attaching 132385-bit-vector-overload.t. This is a couple of hours work reducing t/30__overload.t from the Bit-Vector CPAN distribution. The 'zzz' tests pass with perl-5.26.0 and start to fail at the commit cited. Thank you very much. |
From @jkeenan#!perl -w use strict; use Bit::Vector::Overload; # wrong parameter checks: no warnings 'once'; $operator = '.'; $obj = 0x000E9CE0; $fake = [ ]; $fake = { }; $fake = sub { }; $obj = { }; sub test_fake { $op = $operator; $message = quotemeta("illegal operand type in overloaded '$op' operator"); $action = "\$temp = \$fake $operator \$set"; |
The RT System itself - Status changed from 'new' to 'open' |
From @jkeenanBit::Vector has extensive dependencies: http://deps.cpantesters.org/depended-on-by.pl?dist=Bit-Vector So we should prioritize investigation of these test failures. Thank you very much. -- |
From @andkAlso affected: BRUMMETT/Devel-Chitin-0.11.tar.gz |
From @jkeenanOn Fri, 03 Nov 2017 20:23:20 GMT, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
Here is the output from the failing test. This may be more easily diagnosable than the Bit-Vector problem, as the output has language which points to the part of the code recently changed. Since this is a module that pokes down into the Perl (debugging) internals, it may be a case where the expectations expressed in the failing tests need to be updated to reflect (presumably sound) changes in the internals. Thank you very much. -- |
From @iabynOn Wed, Nov 01, 2017 at 09:01:38AM -0700, James E Keenan via RT wrote:
Thanks for the reduction. commit b3ab037 pp_multiconcat: don't stringify LHS overload arg -- |
From @iabynOn Fri, Nov 03, 2017 at 05:28:56PM -0700, James E Keenan via RT wrote:
I haven't looked closely, but this does indeed seem to be the case. -- |
From @jkeenanOn Sat, 04 Nov 2017 11:29:24 GMT, davem wrote:
I have opened this ticket in Devel-Chitin's issue tracker: I am taking this ticket for the purpose of closing it within 7 days unless new problems are reported. Thank you very much. -- |
From @andkAlso affected: VPIT/Lexical-Types-0.16.tar.gz -- |
From @jkeenanOn Sat, 04 Nov 2017 22:05:55 GMT, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
Here is the failure output for this library at commit 83a320f: ##### Test Summary Report t/24-scalar-tie.t (Wstat: 512 Tests: 12 Failed: 2) -- |
From @iabynOn Sat, Nov 04, 2017 at 11:05:34PM +0100, Andreas Koenig wrote:
The first test which fails is using this code my Str $y = "bar" . $x; and the OP_MULTICONCAT optimisation optimises away the padsv($y) and Vincent either needs to fix Lexical-Types to cope with this new reality, -- |
From @jkeenanOn Sun, 05 Nov 2017 14:05:01 GMT, davem wrote:
Dave, that makes it seems as if this code change is a fait accompli. While I think the change is probably beneficial, I suspect I'm not alone in having been unaware of the change until it actually happened. Since the change probably breaks previously legitimate code, can you provide more context? Thank you very much. |
From perl@profvince.comLe 05/11/2017 à 15:04, Dave Mitchell a écrit :
Vincent might end up fixing this, but for the time being he doesn't feel |
From @xsawyerxOn 11/05/2017 03:04 PM, Dave Mitchell wrote:
What is the difference in ops afterwards? |
From @iabynOn Sun, Nov 05, 2017 at 10:39:55PM +0100, Sawyer X wrote:
Previously: $ perl5260t -MO=Concise,-exec -e' {package Str} my Str $y = "bar" . $x;' now: $ ./perl -Ilib -MO=Concise,-exec -e' {package Str} my Str $y = "bar" . $x;' Note that normally, making the lexical var typed makes no difference to -- |
From @iabynOn Sun, Nov 05, 2017 at 08:43:12AM -0800, James E Keenan via RT wrote:
Nothing has changed in normal perl code as far as I'm aware. All 'my Foo Lexical-Types is doing something weird to achieve its effect. I had a A better phrasing might have been: My very provisional analysis is that perl is not at fault here. I'm -- |
From @jkeenanOn Sat, 04 Nov 2017 14:14:47 GMT, jkeenan wrote:
The author of Devel-Chitin has adjusted that module's code and it now installs against blead. -- |
From @xsawyerxOn 11/13/2017 05:12 PM, Dave Mitchell wrote:
This is fine by me, but I would like to keep the ticket open. Once CPAN |
From @andkAls affected: ASG/Whatever-0.23.tar.gz -- |
From @iabynOn Fri, Nov 17, 2017 at 04:21:19PM +0100, Andreas Koenig wrote:
Fixed with the below: commit 1a98acd MULTICONCAT - use distinct TMPS for const overload -- |
From @jkeenanOn Mon, 20 Nov 2017 15:39:20 GMT, davem wrote:
So the only issue left in this ticket is the failure in Lexical-Types, which still is present. ##### # Failed test '$y' Test Summary Report t/24-scalar-tie.t (Wstat: 512 Tests: 12 Failed: 2) |
From @cpansproutOn Wed, 01 Nov 2017 08:53:12 -0700, jkeenan@pobox.com wrote:
Also affected: CHM/PDL-2.018.tar.gz -- Father Chrysostomos |
From @andk> Also affected: CHM/PDL-2.018.tar.gz I can confirm now after in doubt for a while. Because all tests pass http://www.cpantesters.org/cpan/report/4630a05c-c9c0-11e7-9d4f-d39819dcdcb4 -- |
From @sisyphus-----Original Message-----
Is there a link to the details of this breakage ? Is it the consensus of opinion that, where these breakages occur, it is up Cheers, |
From @jkeenanOn Fri, 24 Nov 2017 10:17:51 GMT, sisyphus wrote:
It was originally reported in: https://rt.perl.org/Ticket/Display.html?id=132347. See, in particular, comment https://rt-archive.perl.org/perl5/Ticket/Display.html?id=132347#txn-1509916. But bisection indicated that the problem was the introduction of the new operator as discussed in this ticket.
Oh, what bliss it would be if we had such a consensus! I think this is a case where, because the breakage is not as easily seen as, say, "'.' no longer present in @INC by default", it's not easy to whip up a patch to present to the CPAN maintainers as a gift. IMO, this is a case where we need discussion among the P5P contributors in question and the CPAN maintainers. -- |
From @sisyphus-----Original Message-----
Regarding that t/image2d.t failure in PDL-2.018 with blead, I have this ########################## my $pa = ones(5,5); print $m; The expectation is that $m will be: [ and that's exactly what we get using perl-5.26.0. But using current blead (ie Karen's 5.27.6 release) we find that $m is: [ In order to get that expected value for $m using blead I have only to change my $m = $pa->slice('1:3,1:3'); That such a simple change of scope should have such a marked effect has me It might be worth pointing out that $pa->badvalue is actually the same value C:\>perl -MPOSIX -le "print POSIX::DBL_MAX * -1.0;" C:\>perl -le "print -1.79769313486232e+308;" Cheers, |
From @iabynOn Fri, Nov 24, 2017 at 05:58:34AM -0800, James E Keenan via RT wrote:
Ultimately it *has* to be the CPAN maintainers' responsibility - otherwise Having said that, I make reasonable attempts to have a look at any CPAN In terms of responsibility for the initial diagnosis, that sometimes -- |
From @andkAlso affected: YANICK/XML-XSS-0.3.5.tar.gz -- |
From @iabynOn Fri, Dec 01, 2017 at 05:33:30AM +0100, Andreas Koenig wrote:
This failure appears to be due to a change in constant folding behaviour, Formerly, this expression: $overloaded . "a" . "b"; would execute as: $overloaded->concat("a")->concat("b"); but it now does: $overloaded->concat("ab"); The question is whether it's reasonable for perl to do that extra constant ($overloaded . "a") . "b"; -- |
From zefram@fysh.orgDave Mitchell wrote:
I lean toward the position that it should not be rearranging This is a finely balanced decision, though. At one level it's a question The situation is remeniscent of an issue that arose in early C around -zefram |
From @iabynOn Fri, Dec 01, 2017 at 07:37:16PM +0000, Zefram wrote:
I've now reverted to the former behaviour with v5.27.6-120-gbcc30fd -- |
From @andkAlso affected: KMCGRAIL/SpamAssassin/Mail-SpamAssassin-3.4.1.tar.gz Discovered by Slaven. http://www.cpantesters.org/cpan/report/b325f7c6-e224-11e7-8e65-4e77f8b97727 Hints about reproducability: - failing test is t/stripmarkup.t -- |
From @iabynOn Sun, Dec 17, 2017 at 06:35:53AM +0100, Andreas Koenig wrote:
Fixed by v5.27.6-341-g5e501dc. Turns out it was a bug (actually 2 bugs) in my earlier boolean context The first bug was that I only optimised returning the return value of s/// Adding OP_MULTICONCAT just happened to change the COWness of a variable in With the mini-branch at v5.27.6-343-gbae26b9 I've fixed things so that SpamAssassin now passes for me, -- |
From @jkeenanOn Tue, 19 Dec 2017 16:03:25 GMT, davem wrote:
Today I attempted to install all the modules mentioned in this RT against blead (v5.27.6-343-gbae26b9). I had success with the big ones: PDL and Mail::SpamAssassin. However, it appears we have re-breakage in Devel::Chitin, the same status for Lexical::Types, and failures and warnings related to given/when in XML-XSS. (Problems in the latter two may be the same as previously reported.) See gzipped failure reports attached. Thank you very much. -- |
From @iabynOn Tue, Dec 19, 2017 at 09:38:15AM -0800, James E Keenan via RT wrote:
A new release was made 2 days later, which uses the new whereso -- |
From @eserteThis is a bug report for perl from slaven@rezic.de, The t/10fault_ns.t test started to fail with perl 5.27.6. A sample fail There are some difficulties for reproducing the issue: This could be a variation of perlrt #132252, but I cannot see it from Flags: Site configuration information for perl 5.27.8: Configured by eserte at Sat Jan 20 09:22:10 CET 2018. Summary of my perl5 (revision 5 version 27 subversion 8) configuration: @INC for perl 5.27.8: Environment for perl 5.27.8: |
From @jkeenanOn Fri, 02 Feb 2018 07:21:53 GMT, slaven@rezic.de wrote:
Attempting with cpanm, having installed LWP and Net::Server against blead (v5.27.9 (v5.27.8-29-g18dcbbd)): ##### Test Summary Report t/10fault_ns.t (Wstat: 768 Tests: 18 Failed: 3)
-- |
The RT System itself - Status changed from 'new' to 'open' |
From zefram@fysh.orgBisects to commit e839e6e "Add -zefram |
From @eserteThis is a bug report for perl from slaven@rezic.de, A stringification test in Acme-Cat-Schroedinger-1 fails since 5.27.6: # Failed test 'stringification modifies the cat' Flags: Site configuration information for perl 5.27.9: Configured by eserte at Tue Feb 6 19:16:51 CET 2018. Summary of my perl5 (revision 5 version 27 subversion 9) configuration: @INC for perl 5.27.9: Environment for perl 5.27.9: |
From zefram@fysh.orgBoils down to: $ perl5.27.5 -lwe 'package Foo { use overload "\"\"" => sub { $_[0] = "a" }; } $f = bless({}, "Foo"); $b = $f."b"; print ref \$f' Unsurprisingly bisects to commit e839e6e -zefram |
The RT System itself - Status changed from 'new' to 'open' |
From @iabynOn Mon, Feb 05, 2018 at 11:33:08PM +0000, Zefram wrote:
Reduces to: use overload my $a = "A"; $ perl5260 ~/tmp/p; echo ===; perl5278 ~/tmp/p I've added it to my Big List of Overloaded Concat Things That Multiconcat -- |
From @iabynOn Wed, Feb 07, 2018 at 07:26:11PM +0000, Zefram wrote:
Now fixed with: commit af39014 redo magic/overload handing in pp_multiconcat -- |
From @iabynOn Fri, Feb 09, 2018 at 07:46:59PM +0000, Dave Mitchell wrote:
Now fixed with the following commit. Note that it merely restores the commit 55b62de pp_multiconcat: correctly honour stringify -- |
@iabyn - Status changed from 'open' to 'resolved' |
From @eserteDana Tue, 20 Feb 2018 01:25:16 -0800, davem reče:
This issue was closed, but not all affected CPAN modules got a ticket. I created one for Lexical-Types: |
From @iabynOn Sat, Jun 02, 2018 at 07:34:45AM -0700, slaven@rezic.de via RT wrote:
All affected distributions mentioned in this ticket now either pass on PDL - debugging stack HWM issues -- |
Migrated from rt.perl.org#132385 (status was 'resolved')
Searchable as RT132385$
The text was updated successfully, but these errors were encountered: