perl5
perl5 copied to clipboard
BBC: Latest version of JSON::PP breaks Cpanel::JSON::XS, perhaps others
In https://github.com/Perl/perl5/pull/20067, @haarg prepared a p.r. to synch the most recent version of JSON::PP (4.11) into blead. Since (a) CPANtesters results for this version looked good; (b) we trust the maintainers of our CPAN-upstream modules to DTRT; and (c) any problems are likely to be exposed more quickly in blead than in branches; I merged the p.r. I then installed blead for testing, installed cpanm against that blead, and tried to install Task::CPAN::Reporter against that blead using cpanm as the installer.
In the meantime, @haarg noted on #p5p: " this changes bool serialization in JSON::PP and will certainly have some fallout"
Yup, here it is:
$ ./bin/perl -v | head -2 | tail -1
This is perl 5, version 37, subversion 3 (v5.37.3 (v5.37.2-100-g86584ca859)) built for amd64-freebsd-thread-multi
$ ./bin/cpanm [long list of JSON::PP revdeps]
First failure is in: Cpanel-JSON-XS.
t/20_unknown.t ............. Subroutine JSON::PP::Boolean::(0+ redefined at /home/jkeenan/testing/blead/lib/perl5/5.37.3/overload.pm line 52.
Subroutine JSON::PP::Boolean::(++ redefined at /home/jkeenan/testing/blead/lib/perl5/5.37.3/overload.pm line 52.
Subroutine JSON::PP::Boolean::(-- redefined at /home/jkeenan/testing/blead/lib/perl5/5.37.3/overload.pm line 52.
t/20_unknown.t ............. 1/32
# Failed test 'pp sv_yes'
# at t/20_unknown.t line 53.
# Failed test 'pp sv_no'
# at t/20_unknown.t line 54.
# got: '{"false":false}'
# expected: '{"false":""}'
# Failed test 'pp sv_no'
# at t/20_unknown.t line 55.
# got: '{"false":false}'
# expected: '{"false":""}'
# Looks like you failed 3 tests of 32.
t/20_unknown.t ............. Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/32 subtests
t/21_evans.t ............... ok
Test Summary Report
-------------------
t/20_unknown.t (Wstat: 768 (exited 3) Tests: 32 Failed: 3)
Failed tests: 15-17
Non-zero exit status: 3
Files=60, Tests=2855, 5 wallclock secs ( 0.27 usr 0.10 sys + 4.12 cusr 0.69 csys = 5.19 CPU)
Result: FAIL
Failed 1/60 test programs. 3/2855 subtests failed.
*** Error code 255
Stop.
make: stopped in /usr/home/jkeenan/.cpanm/work/1659984951.20162/Cpanel-JSON-XS-4.30
Sigh!
Cpanel::JSON::XS has beaucoup reverse dependencies -- including Task::CPAN::Reporter! Shall we revert 86584ca859? If not, how shall we proceed?
This is https://github.com/rurban/Cpanel-JSON-XS/issues/194 and https://github.com/rurban/Cpanel-JSON-XS/issues/198. The failure is expected, but we want to see what else in the ecosystem has problems.
On 8/8/22 17:52, Graham Knop wrote:
This is rurban/Cpanel-JSON-XS#194 https://github.com/rurban/Cpanel-JSON-XS/issues/194 and rurban/Cpanel-JSON-XS#198 https://github.com/rurban/Cpanel-JSON-XS/issues/198. The failure is expected, but we want to see what else in the ecosystem has problems.
I knew about https://github.com/rurban/Cpanel-JSON-XS/issues/198 but hadn't seen (or didn't recall) https://github.com/rurban/Cpanel-JSON-XS/issues/194. @rjbs was involved with 194.
As far as the rest of the ecosystem goes ... once I could not get
Task::CPAN::Reporter installed, I turned to cpanm and tried to install
this list of modules, albeit without attempting to generate CPANtesters
reports.
Carton CPAN DateTime experimental HTML::Parser HTTP::Daemon
HTTP::Message HTTP::Tiny Moose Net::HTTP Pandoc Path::Tiny Try::Tiny
Perl::Build URI WWW::Mechanize YAML::Parser Zilla::Dist
... all of which are dependent upon JSON::PP. My rough impression is that those which were also dependent on Cpanel::JSON::XS failed, those which were not passed.
Cpanel::JSON::XS version 4.31 has been released to address this issue.
Cpanel::JSON::XS version 4.31 has been released to address this issue.
Thanks for the update. I will confirm later today or tomorrow.
Cpanel::JSON::XS version 4.31 has been released to address this issue.
Thanks for the update. I will confirm later today or tomorrow.
I've been able to install the latest version of Cpanel::JSON::XS (4.31) as well as the other modules I previously tried. However, matrix.cpantesters.org has gotten very slow at displaying the results of tests. For example, the result of a test I generated yesterday at 14:43 EDT is not yet displayed nearly 18 hours later. So I'll self-assign this ticket for the purpose of monitoring it for several days, and also to allow for the possibility that there may be CPAN test failures due to the change in JSON::PP other than via Cpanel::JSON::XS.
Cpanel::JSON::XS version 4.31 has been released to address this issue.
Thanks for the update. I will confirm later today or tomorrow.
I've been able to install the latest version of Cpanel::JSON::XS (4.31) as well as the other modules I previously tried. However, matrix.cpantesters.org has gotten very slow at displaying the results of tests. For example, the result of a test I generated yesterday at 14:43 EDT is not yet displayed nearly 18 hours later. So I'll self-assign this ticket for the purpose of monitoring it for several days, and also to allow for the possibility that there may be CPAN test failures due to the change in JSON::PP other than via Cpanel::JSON::XS.
CPANtesters reports for 4.31 and 4.32 look good; closing.