Bug 2488838

Summary: perl-JSON-Any-1.40-7.fc45 FTBFS with perl-Cpanel-JSON-XS-4.42: t/04-ENV.t fails
Product: [Fedora] Fedora Reporter: Petr Pisar <ppisar>
Component: perl-JSON-AnyAssignee: Emmanuel Seyman <emmanuel>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 45CC: emmanuel, lkundrak, perl-devel
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://koschei.fedoraproject.org//package/perl-JSON-Any
Whiteboard:
Fixed In Version: perl-JSON-Any-1.41-1.fc45 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-06-21 08:49:07 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2433833    

Description Petr Pisar 2026-06-15 08:04:38 UTC
perl-JSON-Any-1.40-7.fc45 fails to build in Fedora 45 because a test fails:

$ perl -Ilib t/04-ENV.t
ok 1 - got the right handlerType
ok 2 - got a JSON::Any object
not ok 3 - trapped a failure because of a non-reference
#   Failed test 'trapped a failure because of a non-reference'
#   at t/04-ENV.t line 28.
#                   undef
#     doesn't match '(?^:use allow_nonref)'
ok 4 - got another JSON::Any object
ok 5 - got the same data back again
ok 6 - no failure with config change
ok 7 - got another JSON::Any object
ok 8 - trapped a failure because the constructor option overrides the environment variable
1..8
# Looks like you failed 1 test of 8.

This failure is triggered by upgrading perl-Cpanel-JSON-XS from 4.41-1.fc45 to 4.42-1.fc45. This seems to be an intentional change, from CPAN-JSON-XS changelog:

> Change allow_nonref default to true (GH #241, matching JSON::PP and JSON::XS 4.0+ and the insecure RFC 7159). encode and decode now accept non-reference values by default. decode_json() with an explicit 0/1 second argument still works. allow_nonref(0) to disable scalars-only for secure JSON.

Comment 1 Emmanuel Seyman 2026-06-21 08:49:07 UTC
Fixed in JSON-Any 1.41