public inbox for [email protected]  
help / color / mirror / Atom feed
From: Sami Imseih <[email protected]>
To: Tom Lane <[email protected]>
Cc: Andrew Dunstan <[email protected]>
Cc: Jeff Davis <[email protected]>
Cc: Jeff Davis <[email protected]>
Cc: [email protected]
Subject: Re: pgsql: Trial fix for old cross-version upgrades.
Date: Fri, 28 Feb 2025 11:12:41 -0600
Message-ID: <CAA5RZ0u9dV3CdKqkqdusA_RdvBkwWe0c0rxcFWj++VYoutFYSw@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>

I was running "make check-world" this morning on a machine that has an
old version of perl, 5.16, and the check-world was hung on
/usr/bin/perl t/002_pg_upgrade.pl.

I never saw "make check-world" hang on this old version of perl,
but I bisected the regression to this commit fc0d0ce978752493,
the subject of this thread.

This is the pstack of the stuck perl process.

#0  0x00007f5964b4b1dc in Perl_fbm_instr () from
/usr/lib64/perl5/CORE/libperl.so
#1  0x00007f5964bd146f in Perl_re_intuit_start () from
/usr/lib64/perl5/CORE/libperl.so
#2  0x00007f5964bd3400 in Perl_regexec_flags () from
/usr/lib64/perl5/CORE/libperl.so
#3  0x00007f5964b6d3fc in Perl_pp_subst () from /usr/lib64/perl5/CORE/libperl.so
#4  0x00007f5964b67e1e in Perl_runops_standard () from
/usr/lib64/perl5/CORE/libperl.so
#5  0x00007f5964b07463 in perl_run () from /usr/lib64/perl5/CORE/libperl.so
#6  0x0000000000400cd9 in main ()

and specifically, the process hangs with this specific change.

-       $dump =~ s ['version', '\d+'::integer,]
-               ['version', '000000'::integer,]mg;
+       $dump =~ s {(^\s+'version',) '\d+'::integer,$}
+               {$1 '000000'::integer,}mg;


I repro'd on several machines with 5.16, and then issue went away once
I upgraded to a  more recent version of perl; at least with 5.25, the
issue does
not occur.

I don't know if we need to do anything here, except for making sure we are
building with the most recent version of perl, but I wanted to mention this
here for awareness.

--

Sami





view thread (30+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: pgsql: Trial fix for old cross-version upgrades.
  In-Reply-To: <CAA5RZ0u9dV3CdKqkqdusA_RdvBkwWe0c0rxcFWj++VYoutFYSw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox