Re: Anti-critical-section assertion failure in mcxt.c reached by walsender

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Noah Misch <noah(at)leadboat(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>
Subject: Re: Anti-critical-section assertion failure in mcxt.c reached by walsender
Date: 2021-05-07 04:38:33
Message-ID: 20210507043833.byu5qr25dctfsova@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2021-05-07 00:30:11 -0400, Tom Lane wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
> > On 2021-05-06 21:43:32 -0400, Tom Lane wrote:
> >> That I'm not sure about. gdb is certainly installed, and thorntail is
> >> visibly running the current buildfarm client and is configured with the
> >> correct core_file_glob, and I can report that the crash did leave a 'core'
> >> file in the data directory (so it's not a case of systemd commandeering
> >> the core dump). Seems like core-file collection should've worked
> >> ... unless maybe it's not covering TAP tests at all?
>
> > I suspect that is it - there's not really a good way for the buildfarm
> > client to even know where there could be data directories :(.
>
> Does it need to? I'm envisioning "find tmp_check -name '$core_file_glob'"
> or something along that line.

Yea, it'd be doable that way. It'd be a bit harder to associate the core
files with specific tests though. But I now checked, and it indeed
checks for core files in a specific subset of tests, and that that test
only globs inside the passed-in datadir.

sub get_stack_trace
{
return get_stack_trace_cygwin(@_) if ($ENV{CYGWIN});

my $bindir = shift;
my $pgdata = shift;

# no core = no result
my @cores = glob("$pgdata/$core_file_glob");
return () unless @cores;
...

andres(at)awork3:~/src/pgbuildfarm-client$ ack get_stack_trace
run_build.pl
1601: get_stack_trace("$installdir/bin", "$installdir/data-$locale");
1637: get_stack_trace("$installdir/bin", "$installdir/data-$locale");
1711: my @trace = get_stack_trace("$installdir/bin", "$installdir/data");
1750: get_stack_trace("$installdir/bin", "$installdir/data-$locale");
1798: get_stack_trace("$installdir/bin", "$installdir/data-$locale");
2010: my @trace = get_stack_trace("$binloc$installdir/bin", "$base/data");
2061: get_stack_trace("$base/install$installdir/bin", "$base/data");

PGBuild/Utils.pm
30: get_stack_trace cleanlogs writelog
148:sub get_stack_trace_cygwin
173:sub get_stack_trace
175: return get_stack_trace_cygwin(@_) if ($ENV{CYGWIN});

PGBuild/Modules/RedisFDW.pm
214: get_stack_trace("$installdir/bin", "$installdir/data-$locale");

PGBuild/Modules/TestUpgrade.pm
148: my @trace = get_stack_trace("$tmp_bin_dir", "$tmp_data_dir");

PGBuild/Modules/TestCollateLinuxUTF8.pm
122: get_stack_trace("$installdir/bin", "$installdir/data-$locale");

PGBuild/Modules/TestICU.pm
110: get_stack_trace("$installdir/bin", "$installdir/data-$locale");

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2021-05-07 04:42:46 Re: Anti-critical-section assertion failure in mcxt.c reached by walsender
Previous Message Tom Lane 2021-05-07 04:30:11 Re: Anti-critical-section assertion failure in mcxt.c reached by walsender