plperl tests fail with latest Perl 5.36 - Mailing list pgsql-hackers

From Tom Lane
Subject plperl tests fail with latest Perl 5.36
Date
Msg-id 564579.1654093326@sss.pgh.pa.us
Whole thread Raw
Responses Re: plperl tests fail with latest Perl 5.36
List pgsql-hackers
Apparently 5.36 rejiggers warning classifications in a way that breaks
one of our test cases.  Perhaps we should switch it to some other
warning-triggering condition.

            regards, tom lane

------- Forwarded Message

Date:    Wed, 01 Jun 2022 14:08:46 +0000
From:    bugzilla@redhat.com
To:      tgl@sss.pgh.pa.us
Subject: [Bug 2092426] New: postgresql-14.3-1.fc37: FTBFS with Perl 5.36

https://bugzilla.redhat.com/show_bug.cgi?id=2092426

            Bug ID: 2092426
           Summary: postgresql-14.3-1.fc37: FTBFS with Perl 5.36
           Product: Fedora
           Version: rawhide
               URL: https://koji.fedoraproject.org/koji/buildinfo?buildID=
                    1974481
            Status: NEW
         Component: postgresql
          Assignee: fjanus@redhat.com
          Reporter: jplesnik@redhat.com
        QA Contact: extras-qa@fedoraproject.org
                CC: anon.amish@gmail.com, devrim@gunduz.org,
                    fjanus@redhat.com, hhorak@redhat.com,
                    jmlich83@gmail.com, mkulik@redhat.com,
                    panovotn@redhat.com, pkubat@redhat.com,
                    praiskup@redhat.com, tgl@sss.pgh.pa.us
  Target Milestone: ---
    Classification: Fedora



I am working on adding Perl 5.36 to Fedora Rawhide/37 (not done yet).

The rebuild of postgresql failed with this version in side tag f37-perl:

=== make failure: src/pl/plperl/regression.diffs ===
diff -U3
/builddir/build/BUILD/postgresql-14.3/src/pl/plperl/expected/plperl.out
/builddir/build/BUILD/postgresql-14.3/src/pl/plperl/results/plperl.out
--- /builddir/build/BUILD/postgresql-14.3/src/pl/plperl/expected/plperl.out
2022-05-09 21:14:45.000000000 +0000
+++ /builddir/build/BUILD/postgresql-14.3/src/pl/plperl/results/plperl.out
2022-06-01 11:23:50.925042793 +0000
@@ -726,8 +726,6 @@
 -- check that we can "use warnings" (in this case to turn a warn into an
error)
 -- yields "ERROR:  Useless use of sort in scalar context."
 DO $do$ use warnings FATAL => qw(void) ; my @y; my $x = sort @y; 1; $do$
LANGUAGE plperl;
-ERROR:  Useless use of sort in scalar context at line 1.
-CONTEXT:  PL/Perl anonymous code block
 -- make sure functions marked as VOID without an explicit return work
 CREATE OR REPLACE FUNCTION myfuncs() RETURNS void AS $$
    $_SHARED{myquote} = sub {

The reason of the failure is a change to existing diagnostics[1]:

"Useless use of sort in scalar context is now in the new scalar category.

When sort is used in scalar context, it provokes a warning that doing this is
not useful. This warning used to be in the void category. A new category for
warnings about scalar context has now been added, called scalar."


Solution is replacing
use warnings FATAL => qw(void)
by
use warnings FATAL => qw(scalar)
for this case.

[1]
https://metacpan.org/dist/perl/view/pod/perldelta.pod#Changes-to-Existing-Diagnostics


--
You are receiving this mail because:
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=2092426


------- End of Forwarded Message



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Prevent writes on large objects in read-only transactions
Next
From: Tom Lane
Date:
Subject: Re: funcs.sgml - wrong example