On 2016-01-10 08:58:01, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote:
Show quoted text> >>>>> On Sat, 9 Jan 2016 17:51:15 -0500, "Slaven_Rezic via RT" <bug-
> >>>>> App-JobLog@rt.cpan.org> said:
>
> >> > @Andreas: this look like a bisect candidate.
>
> Since there was a period during which one bug shadowed the other, I
> had
> to run both a git rebase and a git bisect to find out that
> v5.19.6-22-gebdc880 plays a role. Here is the shortest recipe I know
> of
> to reproduce:
>
> - Do not forget to run all tests with: env TZ=UTC
> - run: git checkout 5.19.6
> DFH/App-JobLog-1.039.tar.gz fails app.t and TimeGrammar.t
> - run: git cherry-pick --strategy=theirs v5.19.8-425-g375879a
> This produces v5.19.6-1-g2d166a0
> DFH/App-JobLog-1.039.tar.gz fails app.t
> - run: git cherry-pick -X theirs v5.19.6-22-gebdc880
> This produces v5.19.6-2-gae52e75
> DFH/App-JobLog-1.039.tar.gz fails app.t and TimeGrammar.t
>
> I think we should ignore all the fails on app.t and concentrate on
> TimeGrammar.t.
>
> The first fail of TimeGrammar.t produced this output:
>
> : The following parameter was passed in the call to DateTime::new but
> was not listed in the validation options: modifier
> : at /home/sand/src/perl/repoperls/installed-
> perls/perl/v5.19.6/79cc/lib/site_perl/5.19.6/x86_64-linux/DateTime.pm
> line 197.
> : DateTime::new(undef, "time_zone",
> DateTime::TimeZone::UTC=HASH(0x2fcf668), "year", 2010, "modifier",
> undef, "month", 12, ...) called at /tmp/loop_over_bdir-14648-
> abwi_Z/App-JobLog-1.039-WpT_g8/blib/lib/App/JobLog/TimeGrammar.pm line
> 592
> : App::JobLog::TimeGrammar::fix_date(HASH(0x2559fb8), 1)
> called at /tmp/loop_over_bdir-14648-abwi_Z/App-JobLog-1.039-
> WpT_g8/blib/lib/App/JobLog/TimeGrammar.pm line 354
> : App::JobLog::TimeGrammar::parse("december 2010") called at
> t/TimeGrammar.t line 40
> : main::__ANON__() called at
> /home/sand/src/perl/repoperls/installed-
> perls/perl/v5.19.6/79cc/lib/site_perl/5.19.6/Test/Builder.pm line 261
> : Test::Builder::__ANON__() called at
> /home/sand/src/perl/repoperls/installed-
> perls/perl/v5.19.6/79cc/lib/site_perl/5.19.6/Test/Builder.pm line 266
> : eval {...} called at
> /home/sand/src/perl/repoperls/installed-
> perls/perl/v5.19.6/79cc/lib/site_perl/5.19.6/Test/Builder.pm line 266
> : Test::Builder::subtest(Test::Builder=HASH(0x2e5dd08),
> "regressions", CODE(0x2f8b150)) called at
> /home/sand/src/perl/repoperls/installed-
> perls/perl/v5.19.6/79cc/lib/site_perl/5.19.6/Test/More.pm line 771
> : Test::More::subtest("regressions", CODE(0x2f8b150)) called
> at t/TimeGrammar.t line 45
> : # Child (regressions) exited without calling finalize()
>
> The second fail of TimeGrammar.t produced this output:
>
> : Can't call method "utc_rd_values" on an undefined value at
> /home/sand/src/perl/repoperls/installed-perls/perl/v5.19.6-2-
> gae52e75/109d/lib/site_perl/5.19.6/x86_64-linux-thread-multi-
> ld/DateTime.pm line 565.
> : # Child (regressions) exited without calling finalize()
>
> At the moment I'm not sure whether this finding should become a
> Bleadperl-Breaks-CPAN ticket against perl. Does this ring enough bells
> in the small circle listening?
Ah, this commit, sounds familiar. It was handled in
https://rt.perl.org/Public/Bug/Display.html?id=120626 and marked as resolved, though a solution (or better: workaround) for Perl/Tk was forgotten. The corresponding Tk ticket is
https://rt.cpan.org/Ticket/Display.html?id=96543
The Perl/Tk commit 31381e5d77b73f6592d60584115b197f5bae5a41 introduces a workaround for Tk for perl >= 5.20.0.
The tests pass if the environment variable PARAMS_VALIDATE_IMPLEMENTATION=PP is set. With this variable the pure perl implementation of Params::Validate is used.
I think it's worth if a p5p expert looks over it. It looks like some perl stack moving thing.