Re: pgsql: Trial fix for old cross-version upgrades. - Mailing list pgsql-committers

From Sami Imseih
Subject Re: pgsql: Trial fix for old cross-version upgrades.
Date
Msg-id CAA5RZ0u9dV3CdKqkqdusA_RdvBkwWe0c0rxcFWj++VYoutFYSw@mail.gmail.com
Whole thread Raw
In response to Re: pgsql: Trial fix for old cross-version upgrades.  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: pgsql: Trial fix for old cross-version upgrades.
List pgsql-committers
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



pgsql-committers by date:

Previous
From: Jeff Davis
Date:
Subject: pgsql: Adjust pg_dump tag for relation stats.
Next
From: Tom Lane
Date:
Subject: Re: pgsql: Trial fix for old cross-version upgrades.