Hi,
On 2021-05-07 00:30:11 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.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@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