Closed p5pRT closed 4 years ago
Somewhere between e04fc1aa1c and e92359cbbc\, Role::Tiny and Variable::Magic were broken. I haven't bisected it myself yet but based on talk in #p5p from haarg I *suspect* that it's the stash changes in 1369fd508410a5ab354672cedce158f1e9c653c9
Reported by HAARG also\, Moo has failures of it's own with this change\, one of us will attach a log shortly.
--- BEGIN perl -V --- Summary of my perl5 (revision 5 version 27 subversion 5) configuration: Derived from: e92359cbbca7d7280e849dbfc006bc0aeb44df67 Platform: osname=linux osvers=4.9.36-x86_64-linode85 archname=x86_64-linux uname='linux simcop2387.info 4.9.36-x86_64-linode85 #1 smp thu jul 6 15:31:23 utc 2017 x86_64 gnulinux ' config_args='-de -Dprefix=/home/ryan/perl5/perlbrew/perls/perlbot-blead-2017-10-09_12776 -Dccflags=-fpie -fPIC -march=native -fstack-protector-all -pie -D_FORTIFY_SOURCE=2 -Dldflags=-Wl\,-z\,now -Wl\,-zrelro -Dusedevel -Aeval:scriptdir=/home/ryan/perl5/perlbrew/perls/perlbot-blead-2017-10-09_12776/bin' hint=recommended useposix=true d_sigaction=define useithreads=undef usemultiplicity=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='cc' ccflags ='-fpie -fPIC -march=native -fstack-protector-all -pie -D_FORTIFY_SOURCE=2 -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' optimize='-O2' cppflags='-fpie -fPIC -march=native -fstack-protector-all -pie -D_FORTIFY_SOURCE=2 -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include' ccversion='' gccversion='7.2.0' gccosandvers='' intsize=4 longsize=8 ptrsize=8 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=16 longdblkind=3 ivtype='long' ivsize=8 nvtype='double' nvsize=8 Off_t='off_t' lseeksize=8 alignbytes=8 prototype=define
Linker and Libraries: ld='cc' ldflags ='-Wl\,-z\,now -Wl\,-zrelro -fstack-protector-strong -L/usr/local/lib' libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc libc=libc-2.24.so so=so useshrplib=false libperl=libperl.a gnulibc_version='2.24' Dynamic Linking: dlsrc=dl_dlopen.xs dlext=so d_dlsymun=undef ccdlflags='-Wl\,-E' cccdlflags='-fPIC' lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF Locally applied patches: uncommitted-changes Devel::PatchPerl 1.38 Built under linux Compiled at Oct 9 2017 07:03:06 %ENV: PERLBREW_BASHRC_VERSION="0.78" PERLBREW_HOME="/home/ryan/.perlbrew"
PERLBREW_MANPATH="/home/ryan/perl5/perlbrew/perls/perlbot-blead-2017-10-09_12776/man"
PERLBREW_PATH="/home/ryan/perl5/perlbrew/bin:/home/ryan/perl5/perlbrew/perls/perlbot-blead-2017-10-09_12776/bin" PERLBREW_PERL="perlbot-blead-2017-10-09_12776" PERLBREW_ROOT="/home/ryan/perl5/perlbrew" PERLBREW_VERSION="0.78" @INC:
/home/ryan/perl5/perlbrew/perls/perlbot-blead-2017-10-09_12776/lib/site_perl/5.27.5/x86_64-linux
/home/ryan/perl5/perlbrew/perls/perlbot-blead-2017-10-09_12776/lib/site_perl/5.27.5
/home/ryan/perl5/perlbrew/perls/perlbot-blead-2017-10-09_12776/lib/5.27.5/x86_64-linux
/home/ryan/perl5/perlbrew/perls/perlbot-blead-2017-10-09_12776/lib/5.27.5 ----- END perl -V -----
On Mon\, 09 Oct 2017 08:06:46 -0700\, simcop2387@simcop2387.info wrote:
Somewhere between e04fc1aa1c and e92359cbbc\, Role::Tiny and Variable::Magic were broken. I haven't bisected it myself yet but based on talk in #p5p from haarg I *suspect* that it's the stash changes in 1369fd508410a5ab354672cedce158f1e9c653c9
Very likely. I was expecting some fallout.
Reported by HAARG also\, Moo has failures of it's own with this change\, one of us will attach a log shortly.
--
Father Chrysostomos
The RT System itself - Status changed from 'new' to 'open'
Some additional failures due to the same change.
Also breaks autovivification
On Tue\, Oct 10\, 2017 at 2:16 AM\, Graham Knop via RT \< perlbug-followup@perl.org> wrote:
Some additional failures due to the same change.
--- via perlbug: queue: perl5 status: open https://rt-archive.perl.org/perl5/Ticket/Display.html?id=132252
On Mon\, 09 Oct 2017 17:07:34 -0700\, "Father Chrysostomos via RT" \perlbug\-followup@​perl\.org said:
> Very likely. I was expecting some fallout.
What are the plans how to proceed? Shall this go into 5.27.5? I mean\, is everybody aware this is a huge fallout?
-- andreas
On Sat\, 14 Oct 2017 23:48:08 -0700\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
On Mon\, 09 Oct 2017 17:07:34 -0700\, "Father Chrysostomos via RT" \perlbug\-followup@​perl\.org said:
Very likely. I was expecting some fallout.
What are the plans how to proceed? Shall this go into 5.27.5? I mean\, is everybody aware this is a huge fallout?
I am hoping\, when I get time on the weekends (like today)\, to start patching the CPAN modules one by one. We still have many months to go before the stable release.
But if the pumpking wants to back out the change for now\, I have no objection (except that it may make it harder to get the patches accepted--I really do want this change in before 5.28).
--
Father Chrysostomos
On Sun\, 15 Oct 2017 15:17:03 GMT\, sprout wrote:
On Sat\, 14 Oct 2017 23:48:08 -0700\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
On Mon\, 09 Oct 2017 17:07:34 -0700\, "Father Chrysostomos via RT" \perlbug\-followup@​perl\.org said:
Very likely. I was expecting some fallout.
What are the plans how to proceed? Shall this go into 5.27.5? I mean\, is everybody aware this is a huge fallout?
I am hoping\, when I get time on the weekends (like today)\, to start patching the CPAN modules one by one. We still have many months to go before the stable release.
But if the pumpking wants to back out the change for now\, I have no objection (except that it may make it harder to get the patches accepted--I really do want this change in before 5.28).
Father C\,
Can you describe the purpose of the branch you merged on Oct 08?
Given the fact that the libraries which we already know have been broken are rather high up on the CPAN river\, there is a greater than normal likelihood that libraries farther down the river and darkpan code will also break. If so\, then we need to assess the costs and benefits of the merge before proceeding.
Thank you very much.
-- James E Keenan (jkeenan@cpan.org)
On 10/15/2017 10:07 PM\, James E Keenan via RT wrote:
On Sun\, 15 Oct 2017 15:17:03 GMT\, sprout wrote:
On Sat\, 14 Oct 2017 23:48:08 -0700\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
On Mon\, 09 Oct 2017 17:07:34 -0700\, "Father Chrysostomos via RT" \perlbug\-followup@​perl\.org said: Very likely. I was expecting some fallout. What are the plans how to proceed? Shall this go into 5.27.5? I mean\, is everybody aware this is a huge fallout? I am hoping\, when I get time on the weekends (like today)\, to start patching the CPAN modules one by one. We still have many months to go before the stable release.
But if the pumpking wants to back out the change for now\, I have no objection (except that it may make it harder to get the patches accepted--I really do want this change in before 5.28). Father C\,
Can you describe the purpose of the branch you merged on Oct 08?
Given the fact that the libraries which we already know have been broken are rather high up on the CPAN river\, there is a greater than normal likelihood that libraries farther down the river and darkpan code will also break. If so\, then we need to assess the costs and benefits of the merge before proceeding.
An additional temporary problem is that this makes it difficult for CPAN smokers to expose problems with downstream modules. If Moo fails\, we can't test anything using Moo.
I think it's better to temporarily revert this just until we can resolve it.
Father C.\, if you can share your patch\, others could help with the patching. (I volunteer.)
On Sun\, 15 Oct 2017 13:07:56 -0700\, jkeenan wrote:
Father C\,
Can you describe the purpose of the branch you merged on Oct 08?
It saves a large amount of memory.
Before this change\, subroutines in packages (the most common use of package symbols) resided in typeglobs. So âpackage Foo; sub foo{}â would be stored as *foo{CODE} in the *foo typeglob in the Foo package. I.e.\, $Foo::{foo} was a typeglob with its CODE slot pointing to something.
The new behaviour is that\, instead of a typeglob\, we have a scalar with a reference to the subroutine. So now $Foo::{foo} is a coderef.
Since an RV (a reference) takes 24 bytes of memory whereas a GV (typeglob) takes 24 (sv head) + 48 (xpvgv body) + 80 (gp) = 152 bytes\, plus a little malloc overhead for the gp struct\, which I think is 4 to 6 bytes on most platforms\, so the total is about 157 bytes.
Thatâs 133 bytes extra per subroutine. If you load five modules each with 100 subroutines\, youâve just used 65 K more ram than you needed to.
(These are all 64-bit numbers. The 32-bit numbers differ\, but the GV will always be bigger than the RV.)
Granted\, method calls will undo the optimization (caching the method in the typeglob\, trading memory for speed)\, but this only happens if a particular method actually gets called. Hence\, small scripts that load large libraries will see the biggest reduction in memory usage. Large object-oriented systems that call methods for everything see the smallest reduction in memory usage.
Given the fact that the libraries which we already know have been broken are rather high up on the CPAN river\, there is a greater than normal likelihood that libraries farther down the river and darkpan code will also break. If so\, then we need to assess the costs and benefits of the merge before proceeding.
If we are to revert the behaviour\, it is only this hunk from 6881372e1 that needs to be reverted:
@@ -8583\,7 +8590\,7 @@ Perl_newATTRSUB_x(pTHX_ I32 floor\, OP *o\, OP *proto\, OP *attrs\, sub is stored in. */ const I32 flags = ec ? GV_NOADD_NOINIT - : PL_curstash != CopSTASH(PL_curcop) + : IN_PERL_RUNTIME && PL_curstash != CopSTASH(PL_curcop) || memchr(name\, ':'\, namlen) || memchr(name\, '\''\, namlen) ? gv_fetch_flags : GV_ADDMULTI | GV_NOINIT | GV_NOTQUAL;
and whatever tests end up failing need to be marked TODO.
--
Father Chrysostomos
On Mon\, 16 Oct 2017 16:16:18 GMT\, xsawyerx@gmail.com wrote:
On 10/15/2017 10:07 PM\, James E Keenan via RT wrote:
On Sun\, 15 Oct 2017 15:17:03 GMT\, sprout wrote:
On Sat\, 14 Oct 2017 23:48:08 -0700\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
On Mon\, 09 Oct 2017 17:07:34 -0700\, "Father Chrysostomos via RT" \perlbug\-followup@​perl\.org said: Very likely. I was expecting some fallout. What are the plans how to proceed? Shall this go into 5.27.5? I mean\, is everybody aware this is a huge fallout? I am hoping\, when I get time on the weekends (like today)\, to start patching the CPAN modules one by one. We still have many months to go before the stable release.
But if the pumpking wants to back out the change for now\, I have no objection (except that it may make it harder to get the patches accepted--I really do want this change in before 5.28). Father C\,
Can you describe the purpose of the branch you merged on Oct 08?
Given the fact that the libraries which we already know have been broken are rather high up on the CPAN river\, there is a greater than normal likelihood that libraries farther down the river and darkpan code will also break. If so\, then we need to assess the costs and benefits of the merge before proceeding.
An additional temporary problem is that this makes it difficult for CPAN smokers to expose problems with downstream modules. If Moo fails\, we can't test anything using Moo.
I think it's better to temporarily revert this just until we can resolve it.
I also think that would be the best course of action. Father C could fork HEAD to a branch just before reverting. Ongoing work could then take place in that branch and\, at a suitable point\, we could install it somewhere for smoking the failing libraries and the upper parts of the CPAN river.
Father C.\, if you can share your patch\, others could help with the patching. (I volunteer.)
Since this code had no FAILs within the CPAN test suite -- only downstream on CPAN. I think we need to look at the code on CPAN which broke to write tests which we can then include in the Perl 5 test suite to head off such failures in the future.
Thank you very much.
-- James E Keenan (jkeenan@cpan.org)
On Tue\, 17 Oct 2017 06:55:11 -0700 "James E Keenan via RT" \perlbug\-followup@​perl\.org wrote:
On Mon\, 16 Oct 2017 16:16:18 GMT\, xsawyerx@gmail.com wrote:
On 10/15/2017 10:07 PM\, James E Keenan via RT wrote:
On Sun\, 15 Oct 2017 15:17:03 GMT\, sprout wrote:
On Sat\, 14 Oct 2017 23:48:08 -0700\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
On Mon\, 09 Oct 2017 17:07:34 -0700\, "Father Chrysostomos via RT" \perlbug\-followup@​perl\.org said:
Very likely. I was expecting some fallout.
What are the plans how to proceed? Shall this go into 5.27.5? I mean\, is everybody aware this is a huge fallout?
I am hoping\, when I get time on the weekends (like today)\, to start patching the CPAN modules one by one. We still have many months to go before the stable release.But if the pumpking wants to back out the change for now\, I have no objection (except that it may make it harder to get the patches accepted--I really do want this change in before 5.28).
Father C\,Can you describe the purpose of the branch you merged on Oct 08?
Given the fact that the libraries which we already know have been broken are rather high up on the CPAN river\, there is a greater than normal likelihood that libraries farther down the river and darkpan code will also break. If so\, then we need to assess the costs and benefits of the merge before proceeding.
An additional temporary problem is that this makes it difficult for CPAN smokers to expose problems with downstream modules. If Moo fails\, we can't test anything using Moo.
I think it's better to temporarily revert this just until we can resolve it.
I also think that would be the best course of action. Father C could fork HEAD to a branch just before reverting. Ongoing work could then take place in that branch and\, at a suitable point\, we could install it somewhere for smoking the failing libraries and the upper parts of the CPAN river.
Sounds like a good course of action.
Father C.\, if you can share your patch\, others could help with the patching. (I volunteer.)
Since this code had no FAILs within the CPAN test suite -- only downstream on CPAN. I think we need to look at the code on CPAN which broke to write tests which we can then include in the Perl 5 test suite to head off such failures in the future.
I also think this will be a good idea.
Thank you very much.
--
Shlomi Fish http://www.shlomifish.org/ http://youtu.be/xZLwtc9x4yA - Anime in Real Life!! (Parody)
Every successful open source project will eventually spawn a subâproject.
Please reply to list if it's a mailing list post - http://shlom.in/reply .
On Sun\, Oct 15\, 2017 at 5:17 PM\, Father Chrysostomos via RT \perlbug\-followup@​perl\.org wrote:
On Sat\, 14 Oct 2017 23:48:08 -0700\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
On Mon\, 09 Oct 2017 17:07:34 -0700\, "Father Chrysostomos via RT" \perlbug\-followup@​perl\.org said:
Very likely. I was expecting some fallout.
What are the plans how to proceed? Shall this go into 5.27.5? I mean\, is everybody aware this is a huge fallout?
I am hoping\, when I get time on the weekends (like today)\, to start patching the CPAN modules one by one. We still have many months to go before the stable release.
But if the pumpking wants to back out the change for now\, I have no objection (except that it may make it harder to get the patches accepted--I really do want this change in before 5.28).
I have no particular opinion about if this patch should be backed out\, but I do have patches prepared for Role::Tiny and Moo to deal with the issue.
--
Father Chrysostomos
--- via perlbug: queue: perl5 status: open https://rt-archive.perl.org/perl5/Ticket/Display.html?id=132252
On Tue\, 17 Oct 2017 15:16:46 -0700\, haarg wrote:
On Sun\, Oct 15\, 2017 at 5:17 PM\, Father Chrysostomos via RT \perlbug\-followup@​perl\.org wrote:
On Sat\, 14 Oct 2017 23:48:08 -0700\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
On Mon\, 09 Oct 2017 17:07:34 -0700\, "Father Chrysostomos via RT" \perlbug\-followup@​perl\.org said:
Very likely. I was expecting some fallout.
What are the plans how to proceed? Shall this go into 5.27.5? I mean\, is everybody aware this is a huge fallout?
I am hoping\, when I get time on the weekends (like today)\, to start patching the CPAN modules one by one. We still have many months to go before the stable release.
But if the pumpking wants to back out the change for now\, I have no objection (except that it may make it harder to get the patches accepted--I really do want this change in before 5.28).
I have no particular opinion about if this patch should be backed out\, but I do have patches prepared for Role::Tiny and Moo to deal with the issue.
I have just submitted a patch for Variable::Magic: https://rt.cpan.org/Ticket/Display.html?id=123314
I am very short on time till the weekend. Would someone else have a chance to revert the hunk I cited?
--
Father Chrysostomos
On 10/17/2017 03:55 PM\, James E Keenan via RT wrote:
On Mon\, 16 Oct 2017 16:16:18 GMT\, xsawyerx@gmail.com wrote:
[...] Father C.\, if you can share your patch\, others could help with the patching. (I volunteer.) Since this code had no FAILs within the CPAN test suite -- only downstream on CPAN. I think we need to look at the code on CPAN which broke to write tests which we can then include in the Perl 5 test suite to head off such failures in the future.
I like this idea.
On 10/18/2017 05:43 AM\, Sawyer X wrote:
On 10/17/2017 03:55 PM\, James E Keenan via RT wrote:
On Mon\, 16 Oct 2017 16:16:18 GMT\, xsawyerx@gmail.com wrote:
[...] Father C.\, if you can share your patch\, others could help with the patching. (I volunteer.) Since this code had no FAILs within the CPAN test suite -- only downstream on CPAN. I think we need to look at the code on CPAN which broke to write tests which we can then include in the Perl 5 test suite to head off such failures in the future.
I like this idea.
Sawyer\,
I think it will have to be your call to either (a) do the above\, which entails reverting merge commit 1369fd508410a5ab354672cedce158f1e9c653c9 from blead in its entirety (after copying HEAD to a branch); or (b) fixing only a small portion on that commit\, as indicated in Father C's most recent posts:
https://www.nntp.perl.org/group/perl.perl5.porters/2017/10/msg246738.html https://www.nntp.perl.org/group/perl.perl5.porters/2017/10/msg246757.html
(a) has the disadvantage that it puts us into the murkiness described in file:///usr/share/doc/git-doc/howto/revert-a-faulty-merge.html. (b) has the disadvantage that we have to trust the committer that all *other* parts of 1369fd5 are correct and that we only need to repair one line. I think it is unfortunate that we have been placed in this situation.
Thank you very much. Jim Keenan
On Wed\, 18 Oct 2017 03:04:52 GMT\, sprout wrote:
On Tue\, 17 Oct 2017 15:16:46 -0700\, haarg wrote:
On Sun\, Oct 15\, 2017 at 5:17 PM\, Father Chrysostomos via RT \perlbug\-followup@​perl\.org wrote:
On Sat\, 14 Oct 2017 23:48:08 -0700\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
On Mon\, 09 Oct 2017 17:07:34 -0700\, "Father Chrysostomos via RT" \perlbug\-followup@​perl\.org said:
Very likely. I was expecting some fallout.
What are the plans how to proceed? Shall this go into 5.27.5? I mean\, is everybody aware this is a huge fallout?
I am hoping\, when I get time on the weekends (like today)\, to start patching the CPAN modules one by one. We still have many months to go before the stable release.
But if the pumpking wants to back out the change for now\, I have no objection (except that it may make it harder to get the patches accepted--I really do want this change in before 5.28).
I have no particular opinion about if this patch should be backed out\, but I do have patches prepared for Role::Tiny and Moo to deal with the issue.
I have just submitted a patch for Variable::Magic: https://rt.cpan.org/Ticket/Display.html?id=123314
I am very short on time till the weekend. Would someone else have a chance to revert the hunk I cited?
Father C made these commits:
##### commit 6fbf0c3106e14fed2b6901c567fbb10716895f10 Author: Father Chrysostomos \sprout@​cpan\.org
Deparse.t tweak
commit 834e1dc686d615ac888f5ddc4c85c14addd6c2b5 Author: Father Chrysostomos \sprout@​cpan\.org
perldelta for 14062320f
commit 6eed25e2537643b77650cb3e4514ec9dc2e97d74 Author: Father Chrysostomos \sprout@​cpan\.org
Temporarily revert CV-in-stash optimisation #####
I installed blead for testing\, then installed cpanm. I then ran the following:
##### ./bin/cpanm --verbose indirect autovivification Type::Tiny Variable::Magic Role::Tiny Moo Log::Trace Test::API #####
All these modules installed with no test failures. But I think the ticket should stay open for a while to see if any other distros had the BBC.
Thank you very much.
-- James E Keenan (jkeenan@cpan.org)
On Mon\, 16 Oct 2017 09:16:18 -0700\, xsawyerx@gmail.com wrote:
Father C.\, if you can share your patch\, others could help with the patching. (I volunteer.)
Thank you. For starters\, I have just submitted a patch to fix Log::Traceâs bug #49409: https://rt.cpan.org/Ticket/Display.html?id=49409
Log::Trace fails to handle the new optimization for the same reason that it has always failed with constants (see the ticket). The bug wrt constants was reported eight years ago\, and Log::Trace last saw a new release twelve years ago. This is an unfortunate situation for a module depended on by so many things.
--
Father Chrysostomos
On 10/18/2017 02:13 PM\, James E Keenan wrote:
On 10/18/2017 05:43 AM\, Sawyer X wrote:
On 10/17/2017 03:55 PM\, James E Keenan via RT wrote:
On Mon\, 16 Oct 2017 16:16:18 GMT\, xsawyerx@gmail.com wrote:
[...] Father C.\, if you can share your patch\, others could help with the patching. (I volunteer.) Since this code had no FAILs within the CPAN test suite -- only downstream on CPAN. I think we need to look at the code on CPAN which broke to write tests which we can then include in the Perl 5 test suite to head off such failures in the future.
I like this idea.
Sawyer\,
I think it will have to be your call to either (a) do the above\, which entails reverting merge commit 1369fd508410a5ab354672cedce158f1e9c653c9 from blead in its entirety (after copying HEAD to a branch); or (b) fixing only a small portion on that commit\, as indicated in Father C's most recent posts:
https://www.nntp.perl.org/group/perl.perl5.porters/2017/10/msg246738.html https://www.nntp.perl.org/group/perl.perl5.porters/2017/10/msg246757.html
(a) has the disadvantage that it puts us into the murkiness described in file:///usr/share/doc/git-doc/howto/revert-a-faulty-merge.html. (b) has the disadvantage that we have to trust the committer that all *other* parts of 1369fd5 are correct and that we only need to repair one line. I think it is unfortunate that we have been placed in this situation.
I had asked to temporarily revert it.
On Thu\, 26 Oct 2017 08:06:54 -0700\, xsawyerx@gmail.com wrote:
On 10/18/2017 02:13 PM\, James E Keenan wrote:
On 10/18/2017 05:43 AM\, Sawyer X wrote:
On 10/17/2017 03:55 PM\, James E Keenan via RT wrote:
On Mon\, 16 Oct 2017 16:16:18 GMT\, xsawyerx@gmail.com wrote:
[...] Father C.\, if you can share your patch\, others could help with the patching. (I volunteer.)
All the modules listed in this ticket now have patches:
Haarg says in https://rt-archive.perl.org/perl5/Ticket/Display.html?id=132252#txn-1500347 that he has prepared patches for Moo and Role::Tiny.
Log::Trace: https://rt.cpan.org/Ticket/Display.html?id=49409
Variable::Magic: https://rt.cpan.org/Ticket/Display.html?id=123314
Test::API: https://github.com/dagolden/Test-API/pull/6
Type::Tiny: https://rt.cpan.org/Ticket/Display.html?id=123408
indirect: https://rt.cpan.org/Ticket/Display.html?id=123374
autovivification: https://rt.cpan.org/Ticket/Display.html?id=123411
Since this code had no FAILs within the CPAN test suite -- only downstream on CPAN. I think we need to look at the code on CPAN which broke to write tests which we can then include in the Perl 5 test suite to head off such failures in the future.
I like this idea.
I this case it doesnât really apply. In fact\, most of the modules are already buggy\, because they donât take into account that\, since 5.6 or so\, stash elements have contained things other than typeglobs. In some instances I wrote new tests for the modules that got them to fail with existing perl versions. The fix to work with the optimisation in these cases was the same as the fix to work with constants in earlier perl versions.
Sawyer\,
I think it will have to be your call to either (a) do the above\, which entails reverting merge commit 1369fd508410a5ab354672cedce158f1e9c653c9 from blead in its entirety (after copying HEAD to a branch); or (b) fixing only a small portion on that commit\, as indicated in Father C's most recent posts:
https://www.nntp.perl.org/group/perl.perl5.porters/2017/10/msg246738.html https://www.nntp.perl.org/group/perl.perl5.porters/2017/10/msg246757.html
(a) has the disadvantage that it puts us into the murkiness described in file:///usr/share/doc/git-doc/howto/revert-a-faulty-merge.html. (b) has the disadvantage that we have to trust the committer that all *other* parts of 1369fd5 are correct and that we only need to repair one line. I think it is unfortunate that we have been placed in this situation.
I had asked to temporarily revert it.
I reverted to the old behaviour in commit 6eed25e25 and have now pushed a new sprout/cv-in-stash branch\, based on current blead (6e8135a4380966)\, with the revert reverted.
At this point\, how do we proceed?
--
Father Chrysostomos
On Sun\, 29 Oct 2017 11:40:14 -0700\, sprout wrote:
On Thu\, 26 Oct 2017 08:06:54 -0700\, xsawyerx@gmail.com wrote:
On 10/18/2017 02:13 PM\, James E Keenan wrote:
On 10/18/2017 05:43 AM\, Sawyer X wrote:
On 10/17/2017 03:55 PM\, James E Keenan via RT wrote:
Since this code had no FAILs within the CPAN test suite -- only downstream on CPAN. I think we need to look at the code on CPAN which broke to write tests which we can then include in the Perl 5 test suite to head off such failures in the future.
I like this idea.
I this case it doesnât really apply.
Except for Cpanel::JSON::XS\, which was failing with my patch because the core function get_cvn_flags was not coping with subrefs when called the way that module calls it. This I have fixed and tested in a385812b685.
--
Father Chrysostomos
2017-11-01 4:00 GMT+03:00 Father Chrysostomos via RT \perlbug\-followup@​perl\.org:
This I have fixed and tested in a385812b685.
This commit introduced a new build warning\, as follows:
perl.c:2708:9: warning: incompatible pointer types returning 'SV *' (aka 'struct sv *') from a function with result type 'CV *' (aka 'struct cv *')
[-Wincompatible-pointer-types]
return SvRV((SV *)gv);
^~~~~~
./sv.h:1213:2: note: expanded from macro 'SvRV'
(*({ SV *const _svrv = MUTABLE_SV(sv); \
^~~~~~~~~~~~~~~~~
1 warning generated.
Best regards\, Sergey Aleynikov
On Wed\, Nov 01\, 2017 at 02:28:18AM -0700\, Sergey Aleynikov via RT wrote:
This commit introduced a new build warning\, as follows:
perl.c:2708:9: warning: incompatible pointer types returning 'SV *' (aka 'struct sv *') from a function with result type 'CV *' (aka 'struct cv *') [-Wincompatible-pointer-types] return SvRV((SV *)gv); ^
~~~~~
Fixed with v5.27.5-172-ge05a85b
-- A problem shared is a problem doubled.
On Sun\, 29 Oct 2017 11:40:14 -0700\, sprout wrote:
All the modules listed in this ticket now have patches:
Haarg says in https://rt-archive.perl.org/perl5/Ticket/Display.html?id=132252#txn- 1500347 that he has prepared patches for Moo and Role::Tiny.
Log::Trace: https://rt.cpan.org/Ticket/Display.html?id=49409
Variable::Magic: https://rt.cpan.org/Ticket/Display.html?id=123314
Test::API: https://github.com/dagolden/Test-API/pull/6
Type::Tiny: https://rt.cpan.org/Ticket/Display.html?id=123408
indirect: https://rt.cpan.org/Ticket/Display.html?id=123374
autovivification: https://rt.cpan.org/Ticket/Display.html?id=123411
Update: Specio\, perl5i\, and Scope::Upper are also affected.
The following releases have been made:
VPIT/Scope-Upper-0.30.tar.gz VPIT/Variable-Magic-0.62.tar.gz VPIT/autovivification-0.18.tar.gz VPIT/indirect-0.38.tar.gz DROLSKY/Specio-0.42.tar.gz
So the current list is:
Moo and Role::Tiny\, which are patched in github. (A new release soon would be much appreciated\, since so much depends on those.)
Log::Trace: https://rt.cpan.org/Ticket/Display.html?id=49409
Test::API: https://github.com/dagolden/Test-API/pull/6
Type::Tiny: https://rt.cpan.org/Ticket/Display.html?id=123408
perl5i: https://github.com/evalEmpire/perl5i/pull/299
The optimisation uncovered existing bugginess (inconsistent behaviour) in perl5i\, and the way in which it should be solved is still being discussed.
I reverted to the old behaviour in commit 6eed25e25 and have now pushed a new sprout/cv-in-stash branch\, based on current blead (6e8135a4380966)\, with the revert reverted.
At this point\, how do we proceed?
If I get no answer to this question\, I plan to revert the reversion shortly before the next developement release.
--
Father Chrysostomos
On 11/05/2017 07:57 PM\, Father Chrysostomos via RT wrote:
On Sun\, 29 Oct 2017 11:40:14 -0700\, sprout wrote:
All the modules listed in this ticket now have patches:
Haarg says in https://rt-archive.perl.org/perl5/Ticket/Display.html?id=132252#txn- 1500347 that he has prepared patches for Moo and Role::Tiny.
Log::Trace: https://rt.cpan.org/Ticket/Display.html?id=49409
Variable::Magic: https://rt.cpan.org/Ticket/Display.html?id=123314
Test::API: https://github.com/dagolden/Test-API/pull/6
Type::Tiny: https://rt.cpan.org/Ticket/Display.html?id=123408
indirect: https://rt.cpan.org/Ticket/Display.html?id=123374
autovivification: https://rt.cpan.org/Ticket/Display.html?id=123411 Update: Specio\, perl5i\, and Scope::Upper are also affected.
The following releases have been made:
VPIT/Scope-Upper-0.30.tar.gz VPIT/Variable-Magic-0.62.tar.gz VPIT/autovivification-0.18.tar.gz VPIT/indirect-0.38.tar.gz DROLSKY/Specio-0.42.tar.gz
So the current list is:
[...] Type::Tiny: https://rt.cpan.org/Ticket/Display.html?id=123408
Notified Inkster.
On Sun\, 05 Nov 2017 10:57:09 -0800\, sprout wrote:
I plan to revert the reversion shortly before the next developement release.
I have now reverted it\, reinstating the optimisation\, in commit d96402565cc.
--
Father Chrysostomos
Just wanted to make a note that this does break the currently available version of Moo on CPAN still. Since a patch for it exists I hope it can be released soon to address the change.
On Sat\, Nov 11\, 2017 at 6:48 AM\, Father Chrysostomos via RT \< perlbug-followup@perl.org> wrote:
On Sun\, 05 Nov 2017 10:57:09 -0800\, sprout wrote:
I plan to revert the reversion shortly before the next developement release.
I have now reverted it\, reinstating the optimisation\, in commit d96402565cc.
--
Father Chrysostomos
--- via perlbug: queue: perl5 status: open https://rt-archive.perl.org/perl5/Ticket/Display.html?id=132252
On Tue\, 14 Nov 2017 10:31:11 -0800\, Ryan Voots \simcop2387@​simcop2387\.info said:
> Just wanted to make a note that this does break the currently > available version of Moo on CPAN still. Since a patch for it exists I > hope it can be released soon to address the change.
Just a quick scan for some also affected distros:
ALEXMV/Symbol-Global-Name-0.05.tar.gz BBC/Log-Trace-1.070.tar.gz BELDEN/Functional-Utility-1.02.tar.gz CHROMATIC/Devel-TraceMethods-1.00.tar.gz DAGOLDEN/Test-API-0.008.tar.gz DROLSKY/Test-Vars-0.014.tar.gz IBB/Class-Declare-Attributes-0.12.tar.gz INGY/Class-Spiffy-0.15.tar.gz JWILLIAMS/Class-Classless-C3-1.00.tar.gz NWELLNHOF/Clownfish-0.6.1.tar.gz RANDIR/namespace-clean-xs-0.07.tar.gz XAOC/Glib-1.326.tar.gz
This is really just a tiny fraction of my usually tested sample because I cannot test a lot due missing Moo.
Note: the timing of the commit was unfortunate. Perl did not pass its own test suite at that time\, so I'm not able to bisect exactly\, so there is a small chance that the above fallout is not due to that commit. All passed with v5.27.5-312-ga337154664 but not with v5.27.5-335-gf63f40368c and v5.27.5-384-g1218f5ba79.
-- andreas
On Wed\, 15 Nov 2017 13:11:34 -0800\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
On Tue\, 14 Nov 2017 10:31:11 -0800\, Ryan Voots \simcop2387@​simcop2387\.info said:
Just wanted to make a note that this does break the currently available version of Moo on CPAN still. Since a patch for it exists I hope it can be released soon to address the change.
Just a quick scan for some also affected distros:
ALEXMV/Symbol-Global-Name-0.05.tar.gz BBC/Log-Trace-1.070.tar.gz BELDEN/Functional-Utility-1.02.tar.gz CHROMATIC/Devel-TraceMethods-1.00.tar.gz DAGOLDEN/Test-API-0.008.tar.gz DROLSKY/Test-Vars-0.014.tar.gz IBB/Class-Declare-Attributes-0.12.tar.gz INGY/Class-Spiffy-0.15.tar.gz JWILLIAMS/Class-Classless-C3-1.00.tar.gz NWELLNHOF/Clownfish-0.6.1.tar.gz RANDIR/namespace-clean-xs-0.07.tar.gz XAOC/Glib-1.326.tar.gz
I have submitted patches for Log::Trace and Test::API.
This is really just a tiny fraction of my usually tested sample because I cannot test a lot due missing Moo.
If you install Moo from the GitHub repository\, you can test other modules. (That is what I have been doing for the past couple of weeks now\, but I am testing them manually one by one\, so it is slow.)
--
Father Chrysostomos
On Thu\, 16 Nov 2017 20:28:00 -0800\, "Father Chrysostomos via RT" \perlbug\-followup@​perl\.org said:
> If you install Moo from the GitHub repository\, you can test other > modules. (That is what I have been doing for the past couple of weeks > now\, but I am testing them manually one by one\, so it is slow.)
Yes\, I know\, and I occasionally play this game too\, but there is also the need to keep the breakages that cpantesters deal with in sync with what the normal enduser is dealing with. If I apply all patches available\, I reflect some state that nobody else is facing.
I'd rather see patches kept back that break something that has thousands of dependencies until those known cases have fixed releases.
-- andreas
On Wed\, 15 Nov 2017 13:11:34 -0800\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
Just a quick scan for some also affected distros:
ALEXMV/Symbol-Global-Name-0.05.tar.gz BBC/Log-Trace-1.070.tar.gz BELDEN/Functional-Utility-1.02.tar.gz CHROMATIC/Devel-TraceMethods-1.00.tar.gz DAGOLDEN/Test-API-0.008.tar.gz DROLSKY/Test-Vars-0.014.tar.gz IBB/Class-Declare-Attributes-0.12.tar.gz INGY/Class-Spiffy-0.15.tar.gz JWILLIAMS/Class-Classless-C3-1.00.tar.gz NWELLNHOF/Clownfish-0.6.1.tar.gz RANDIR/namespace-clean-xs-0.07.tar.gz XAOC/Glib-1.326.tar.gz
namespace::clean::xs has been released. Moo 2.003003 has been released.
I have yet to look at Glib. What makes it particularly difficult is that it is platform-specific.
Patches and bug reports:
Log::Trace patch: https://rt.cpan.org/Ticket/Display.html?id=49409
Test::API patch https://github.com/dagolden/Test-API/pull/6
Type::Tiny patch: https://rt.cpan.org/Ticket/Display.html?id=123408
perl5i patch: https://github.com/evalEmpire/perl5i/pull/299
Symbol::Global::Name patch: https://rt.cpan.org/Ticket/Display.html?id=123661
Test::Resub patch: https://github.com/belden/test-resub/pull/4
Functional::Utility bug report (bundled module needs update): https://github.com/belden/perl-functional-utility/issues/2
Devel::TraceMethods patch: https://rt.cpan.org/Ticket/Display.html?id=123667
Test::Vars patch: https://github.com/houseabsolute/p5-Test-Vars/pull/34
Class::Declare::Attributes patch: https://rt.cpan.org/Ticket/Display.html?id=123669
Class::Classless::C3 patch: https://rt.cpan.org/Ticket/Display.html?id=123671
Class::Spiffy bug report (bundled module needs update): https://rt.cpan.org/Ticket/Display.html?id=123675
Clownfish patch: https://lists.apache.org/thread.html/748b9ddb8a4b7472f1c9b61e066262409683aa3ba991e02eff0a6cf3@%3Cdev.lucy.apache.org%3E
--
Father Chrysostomos
On Sun\, 19 Nov 2017 11:52:20 -0800\, sprout wrote:
On Wed\, 15 Nov 2017 13:11:34 -0800\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
XAOC/Glib-1.326.tar.gz
I have yet to look at Glib. What makes it particularly difficult is that it is platform-specific.
Andreas\, can you show me what a failure looks like? Currently CPAN testers is not working properly.
--
Father Chrysostomos
On 11/19/2017 08:52 PM\, Father Chrysostomos via RT wrote:
On Wed\, 15 Nov 2017 13:11:34 -0800\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
Just a quick scan for some also affected distros:
ALEXMV/Symbol-Global-Name-0.05.tar.gz BBC/Log-Trace-1.070.tar.gz BELDEN/Functional-Utility-1.02.tar.gz CHROMATIC/Devel-TraceMethods-1.00.tar.gz DAGOLDEN/Test-API-0.008.tar.gz DROLSKY/Test-Vars-0.014.tar.gz IBB/Class-Declare-Attributes-0.12.tar.gz INGY/Class-Spiffy-0.15.tar.gz JWILLIAMS/Class-Classless-C3-1.00.tar.gz NWELLNHOF/Clownfish-0.6.1.tar.gz RANDIR/namespace-clean-xs-0.07.tar.gz XAOC/Glib-1.326.tar.gz namespace::clean::xs has been released. Moo 2.003003 has been released.
I have yet to look at Glib. What makes it particularly difficult is that it is platform-specific.
Patches and bug reports:
[...]
Type::Tiny patch: https://rt.cpan.org/Ticket/Display.html?id=123408
This is likely to be the most disruptive. It's high up the CPAN river.
On Sun\, 19 Nov 2017 12:09:40 -0800\, "Father Chrysostomos via RT" \perlbug\-followup@​perl\.org said:
> On Sun\, 19 Nov 2017 11:52:20 -0800\, sprout wrote:
On Wed\, 15 Nov 2017 13:11:34 -0800\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
XAOC/Glib-1.326.tar.gz
I have yet to look at Glib. What makes it particularly difficult is that it is platform-specific.
> Andreas\, can you show me what a failure looks like? Currently CPAN > testers is not working properly.
One report follows.
PROGRAM OUTPUT
Output from '/usr/bin/make test':
"/home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.5-384-g1218f5ba79/419a/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Glib.bs blib/arch/auto/Glib/Glib.bs 644 PERL_DL_NONLAZY=1 "/home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.5-384-g1218f5ba79/419a/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0\, 'blib/lib'\, 'blib/arch')" t/*.t t/1.t ...................... ok t/2.t ...................... ok t/3.t ...................... ok t/4.t ...................... ok Argument "xyz" isn't numeric in numeric eq (==) at t/5.t line 66. t/5.t ...................... Failed 4/10 subtests Use of uninitialized value in string eq at t/6.t line 118. Use of uninitialized value in string eq at t/6.t line 119. Use of uninitialized value in string eq at t/6.t line 120. Use of uninitialized value in string eq at t/6.t line 121. Use of uninitialized value in string eq at t/6.t line 123. Use of uninitialized value in string eq at t/6.t line 124. Use of uninitialized value in string eq at t/6.t line 126. Use of uninitialized value in string eq at t/6.t line 128. t/6.t ...................... Failed 23/31 subtests t/64bit.t .................. ok t/7.t ...................... ok t/8.t ...................... ok t/9.t ...................... ok t/a.t ...................... ok
# Failed test '$obj->{some_string} empty' # at t/b.t line 69. # got: undef # expected: 'one'
# Failed test '$obj->{read_string} empty' # at t/b.t line 70. # got: undef # expected: 'two'
# Failed test '$obj->{read_string} empty' # at t/b.t line 78. # got: '44' # expected: 'two' # Looks like you failed 3 tests of 8. t/b.t ...................... Dubious\, test returned 3 (wstat 768\, 0x300) Failed 3/8 subtests t/boxed_errors.t ........... ok t/bytes.t .................. ok
# Failed test 'flags property' # at t/c.t line 226. # Structures begin differing at: # $got->[1] = 'value-five' # $expected->[1] = Does not exist
# Failed test 'flags property' # at t/c.t line 227. # Structures begin differing at: # $got->[1] = 'value-five' # $expected->[1] = Does not exist # Looks like you failed 2 tests of 57. t/c.t ...................... Dubious\, test returned 2 (wstat 512\, 0x200) Failed 2/57 subtests t/constants.t .............. ok t/d.t ...................... ok t/e.t ...................... ok t/f.t ...................... ok t/filename.t ............... ok t/g.t ...................... ok t/h.t ...................... ok t/lazy_loader.t ............ ok t/make_helper.t ............ ok t/module_versions.t ........ skipped: Test::ConsistentVersion required for checking module versions t/options.t ................ ok t/signal_emission_hooks.t .. ok t/signal_marshal.t ......... ok t/signal_query.t ........... ok t/tied_definedness.t ....... ok t/tied_flags.t ............. ok
# Failed test 'MaiTai tied store function called' # at t/tied_set_property.t line 55. # got: '0' # expected: '1' # Looks like you failed 1 test of 1. t/tied_set_property.t ...... Dubious\, test returned 1 (wstat 256\, 0x100) Failed 1/1 subtests t/variant.t ................ ok
Test Summary Report
t/5.t (Wstat: 0 Tests: 8 Failed: 2) Failed tests: 4\, 8 Parse errors: Tests out of sequence. Found (3) but expected (2) Tests out of sequence. Found (4) but expected (3) Tests out of sequence. Found (5) but expected (4) Tests out of sequence. Found (6) but expected (5) Tests out of sequence. Found (7) but expected (6) Displayed the first 5 of 8 TAP syntax errors. Re-run prove with the -p option to see them all. t/6.t (Wstat: 0 Tests: 16 Failed: 8) Failed tests: 16-23 Parse errors: Tests out of sequence. Found (16) but expected (1) Tests out of sequence. Found (17) but expected (2) Tests out of sequence. Found (18) but expected (3) Tests out of sequence. Found (19) but expected (4) Tests out of sequence. Found (20) but expected (5) Displayed the first 5 of 17 TAP syntax errors. Re-run prove with the -p option to see them all. t/b.t (Wstat: 768 Tests: 8 Failed: 3) Failed tests: 3-4\, 7 Non-zero exit status: 3 t/c.t (Wstat: 512 Tests: 57 Failed: 2) Failed tests: 42-43 Non-zero exit status: 2 t/tied_set_property.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=33\, Tests=1160\, 14 wallclock secs ( 0.16 usr 0.19 sys + 2.32 cusr 0.67 csys = 3.34 CPU) Result: FAIL Failed 5/33 test programs. 16/1160 subtests failed. Makefile:1375: recipe for target 'test_dynamic' failed make: *** [test_dynamic] Error 255
PREREQUISITES
Prerequisite modules loaded:
requires:
Module Need Have ------------------- ----- ----- ExtUtils::Depends 0.300 0.405 ExtUtils::PkgConfig 1.000 1.16
build_requires:
Module Need Have ------------------- ----- ----- ExtUtils::MakeMaker 0 7.30
configure_requires:
Module Need Have ------------------- ----- ----- ExtUtils::Depends 0.300 0.405 ExtUtils::MakeMaker 0 7.30 ExtUtils::PkgConfig 1.000 1.16
ENVIRONMENT AND OTHER CONTEXT
Environment variables:
AUTOMATED_TESTING = 1 LANG = en_US.UTF-8 PATH = /home/sand/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/perl/bin:/usr/X11/bin:/sbin:/usr/sbin PERL5LIB = PERL5OPT = PERL5_CPANPLUS_IS_RUNNING = 18810 PERL5_CPAN_IS_RUNNING = 18810 PERL_CANARY_STABILITY_NOPROMPT = 1 PERL_MM_USE_DEFAULT = 1 PERL_USE_UNSAFE_INC = 1 SHELL = /usr/bin/zsh TERM = screen
Perl special variables (and OS-specific diagnostics\, for MSWin32):
$^X = /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.5-384-g1218f5ba79/419a/bin/perl $UID/$EUID = 1005 / 1005 $GID = 1005 1005 $EGID = 1005 1005
Perl module toolchain versions installed:
Module Have
------------------- --------
CPAN 2.19
CPAN::Meta 2.150010
Cwd 3.70
ExtUtils::CBuilder 0.280229
ExtUtils::Command 7.30
ExtUtils::Install 2.14
ExtUtils::MakeMaker 7.30
ExtUtils::Manifest 1.70
ExtUtils::ParseXS 3.36
File::Spec 3.69
JSON 2.94
JSON::PP 2.94
Module::Build 0.4224
Module::Signature 0.81
Parse::CPAN::Meta 2.150010
Test::Harness 3.39
Test::More 1.302106
YAML 1.24
YAML::Syck 1.30
version 0.9918
--
Summary of my perl5 (revision 5 version 27 subversion 6) configuration: Commit id: 1218f5ba79acb362f5b62f3f11ce1822d6599bf5 Platform: osname=linux osvers=4.12.0-2-amd64 archname=x86_64-linux-thread-multi uname='linux k93msid 4.12.0-2-amd64 #1 smp debian 4.12.13-1 (2017-09-19) x86_64 gnulinux ' config_args='-Dprefix=/home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.5-384-g1218f5ba79/419a -Dmyhostname=k93msid -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Dlibswanted=cl pthread socket inet nsl gdbm dbm malloc dl ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat -Duseithreads -Uuselongdouble -DEBUGGING=none' hint=recommended useposix=true d_sigaction=define useithreads=define usemultiplicity=define use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='cc' ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2' optimize='-O2' cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include' ccversion='' gccversion='7.2.0' gccosandvers='' intsize=4 longsize=8 ptrsize=8 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=16 longdblkind=3 ivtype='long' ivsize=8 nvtype='double' nvsize=8 Off_t='off_t' lseeksize=8 alignbytes=8 prototype=define Linker and Libraries: ld='cc' ldflags =' -fstack-protector-strong -L/usr/local/lib' libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc libc=libc-2.24.so so=so useshrplib=false libperl=libperl.a gnulibc_version='2.24' Dynamic Linking: dlsrc=dl_dlopen.xs dlext=so d_dlsymun=undef ccdlflags='-Wl\,-E' cccdlflags='-fPIC' lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API Built under linux Compiled at Nov 15 2017 18:17:59 %ENV: PERL5LIB="" PERL5OPT="" PERL5_CPANPLUS_IS_RUNNING="18810" PERL5_CPAN_IS_RUNNING="18810" PERL_CANARY_STABILITY_NOPROMPT="1" PERL_MM_USE_DEFAULT="1" PERL_USE_UNSAFE_INC="1" @INC: /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.5-384-g1218f5ba79/419a/lib/site_perl/5.27.6/x86_64-linux-thread-multi /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.5-384-g1218f5ba79/419a/lib/site_perl/5.27.6 /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.5-384-g1218f5ba79/419a/lib/5.27.6/x86_64-linux-thread-multi /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.5-384-g1218f5ba79/419a/lib/5.27.6 .
-- andreas
On 11/19/2017 03:09 PM\, Father Chrysostomos via RT wrote:
On Sun\, 19 Nov 2017 11:52:20 -0800\, sprout wrote:
On Wed\, 15 Nov 2017 13:11:34 -0800\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
XAOC/Glib-1.326.tar.gz
I have yet to look at Glib. What makes it particularly difficult is that it is platform-specific.
Andreas\, can you show me what a failure looks like? Currently CPAN testers is not working properly.
I think the failures in Glib should be treated separately from the other failures discussed in this ticket.
Since the p5h hackathon last month\, I have been working on various "blead-breaks-CPAN" testing rigs. Glib has consistently failed -- but the failures I've recorded so far have been failures in prerequisites\, rather than failures in Glib itself (which I've never gotten to).
More specifically\, ...
Today I got this in a cpanm build.log on Debian Linux:
##### $ export PERL_CPANM_HOME=/home/jkeenan/var/bbc/testing/.cpanm && ./bin/cpanm --mirror=/home/jkeenan/minicpan Glib --> Working on Glib Fetching file:///home/jkeenan/minicpan/authors/id/X/XA/XAOC/Glib-1.326.tar.gz ... OK ==> Found dependencies: ExtUtils::PkgConfig --> Working on ExtUtils::PkgConfig Fetching file:///home/jkeenan/minicpan/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz ... OK Configuring ExtUtils-PkgConfig-1.16 ... N/A ! Configure failed for ExtUtils-PkgConfig-1.16. See /home/jkeenan/var/bbc/testing/.cpanm/work/1511136217.20834/build.log for details. ! Installing the dependencies failed: Module 'ExtUtils::PkgConfig' is not installed ! Bailing out the installation for Glib-1.326. #####
Whenever I see ...
##### ! Configure failed for [Some-Distro-N.NN] #####
... in a build.log\, I next expect to see that the distro depended on some outside library. In this case\, Glib has a dependency on ExtUtils::PkgConfig\, which in turn has an external dependency. Switching into the directory for that library:
##### $ /home/jkeenan/var/bbc/testing/bin/perl -I/home/jkeenan/var/bbc/testing/lib Makefile.PL *** *** ExtUtils::PkgConfig requires the pkg-config utility\, but it doesn't *** seem to be in your PATH. Is it correctly installed? *** PATH=[snip] *** $ which pkg-config $ #####
Now\, there are *hundreds* of CPAN distros that fail during automatic testing for lack of an external dependency\, and I'm not about to go installing packages to satisfy those dependencies on a machine that I use for multiple purposes.
So\, assuming that others can confirm my findings\, I don't think Glib should be treated as a barrier to resolving this ticket.
Thank you very much. Jim Keenan
On Sun\, 19 Nov 2017 13:03:50 -0800\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
One report follows.
Thank you. I canât see any red flags anywhere in Glibâs code that would link the failures to this optimisation. Do you still get failures if you revert d96402565ccd7459d3a8b?
--
Father Chrysostomos
On Sun\, 19 Nov 2017 18:14:29 -0800\, "Father Chrysostomos via RT" \perlbug\-followup@​perl\.org said:
> On Sun\, 19 Nov 2017 13:03:50 -0800\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
One report follows.
> Thank you. I canât see any red flags anywhere in Glibâs code that > would link the failures to this optimisation. Do you still get > failures if you revert d96402565ccd7459d3a8b?
No. With d96402565 reverted I get no failures. I tried the revert on top of v5.27.5-430-ge94f172c38 which has the failures.
-- andreas
Slaven has just started to smoke 5.27.6 and we have four more for now:
STEVAN/MOP-0.12.tar.gz GUGOD/App-perlbrew-0.80.tar.gz JSWARTZ/Mason-Tidy-2.57.tar.gz MADSKILL/QBit-WebInterface-0.030.tar.gz
-- andreas
On Tue\, 21 Nov 2017 21:37:38 GMT\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
Slaven has just started to smoke 5.27.6 and we have four more for now:
STEVAN/MOP-0.12.tar.gz GUGOD/App-perlbrew-0.80.tar.gz JSWARTZ/Mason-Tidy-2.57.tar.gz MADSKILL/QBit-WebInterface-0.030.tar.gz
Slaven\, Andreas: Are these failures due to the same commit being discussed in this ticket?
If they are due to different changes which just appeared in 5.27.6\, I would recommend separate tickets. (This ticket is getting very long as it is.)
Thank you very much.
-- James E Keenan (jkeenan@cpan.org)
On Tue\, 21 Nov 2017 15:20:20 -0800\, "James E Keenan via RT" \perlbug\-followup@​perl\.org said:
> On Tue\, 21 Nov 2017 21:37:38 GMT\, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
Slaven has just started to smoke 5.27.6 and we have four more for now:
STEVAN/MOP-0.12.tar.gz GUGOD/App-perlbrew-0.80.tar.gz JSWARTZ/Mason-Tidy-2.57.tar.gz MADSKILL/QBit-WebInterface-0.030.tar.gz
> Slaven\, Andreas: Are these failures due to the same commit being discussed in this ticket?
Very likely\, yes.
> If they are due to different changes which just appeared in 5.27.6\, I > would recommend separate tickets. (This ticket is getting very long as > it is.)
It's a slippery slope: is a change that gets reverted and then the revert gets reverted still the same change? For me it is. So these breakages are about the same change. You could argue it isn't the same change and then you would prefer a second ticket. Feel free to do how you think it is right. But everybody who get pulled into this change will have a hard time to understand\, no matter into how many tickets you split it.
It's getting even more slippery. When now the first packages broken by this change get released with a fix\, we will get more and more packages broken by this very same change because they are currently shadowed (i.e. untestable).
-- andreas
On Tue\, 21 Nov 2017 22:57:18 -0800\, > It's getting even more slippery. When now the first packages broken by
this change get released with a fix\, we will get more and more packages broken by this very same change because they are currently shadowed (i.e. untestable).
I haven't looked at the patch\, but from looking at the upstream changes the patch seems buggy to me.
*foo at the perl level should always behave like a glob - if it didn't before then that was a bug.
Making it behave like not-a-glob even more is just making that bug worse.
Tony
On Wed\, 22 Nov 2017 13:39:45 -0800\, tonyc wrote:
On Tue\, 21 Nov 2017 22:57:18 -0800\, > It's getting even more slippery. When now the first packages broken by
this change get released with a fix\, we will get more and more packages broken by this very same change because they are currently shadowed (i.e. untestable).
I haven't looked at the patch\, but from looking at the upstream changes the patch seems buggy to me.
Would you please clarify which changes you are referring to.
*foo at the perl level should always behave like a glob - if it didn't before then that was a bug.
Making it behave like not-a-glob even more is just making that bug worse.
As far as I know\, *foo always behaves like a glob\, unless you do something BEGIN{$::{foo} = *STDOUT{IO}}\, in which case you deservedly get an error.
However\, since perl 5.6 or so\, *$stash_entry{CODE} has not worked reliably. You may get a strict-refs error\, or\, as of perl 5.10\, you may get âNot a GLOBâ reference.
--
Father Chrysostomos
Migrated from rt.perl.org#132252 (status was 'open')
Searchable as RT132252$