plperl tests fail with latest Perl 5.36

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: plperl tests fail with latest Perl 5.36
Date: 2022-06-01 14:22:06
Message-ID: 564579.1654093326@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)redhat(dot)com
To: tgl(at)sss(dot)pgh(dot)pa(dot)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(at)redhat(dot)com
Reporter: jplesnik(at)redhat(dot)com
QA Contact: extras-qa(at)fedoraproject(dot)org
CC: anon(dot)amish(at)gmail(dot)com, devrim(at)gunduz(dot)org,
fjanus(at)redhat(dot)com, hhorak(at)redhat(dot)com,
jmlich83(at)gmail(dot)com, mkulik(at)redhat(dot)com,
panovotn(at)redhat(dot)com, pkubat(at)redhat(dot)com,
praiskup(at)redhat(dot)com, tgl(at)sss(dot)pgh(dot)pa(dot)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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2022-06-01 14:41:38 Re: funcs.sgml - wrong example
Previous Message Tom Lane 2022-06-01 14:15:17 Re: Prevent writes on large objects in read-only transactions