Re: Strange failure on mamba

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Thomas Munro <thomas.munro@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-11-30T06:31:50Z
Lists: pgsql-hackers
Hi,

On 2022-11-30 00:55:42 -0500, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > What libraries is postgres linked against? I don't know whether -z now only
> > affects the "top-level" dependencies of postgres, or also the dependencies of
> > shared libraries that haven't been built with -z now.  The only dependencies
> > that I could see being relevant are libintl and openssl.
> 
> Hmm.  mamba is using both --enable-nls and --with-openssl, but
> I can't see a reason why the postmaster would be interacting with
> OpenSSL post-startup in test cases that don't use SSL.  Perhaps
> libintl is doing something it shouldn't?

We do call into openssl in postmaster, via RandomCancelKey(). But we should
have signals masked at that point, so it shouldn't matter.


> > You could try if anything changes if you set LD_BIND_NOW, that should trigger
> > "recursive" dependencies to be loaded eagerly as well.
> 
> Googling LD_BIND_NOW suggests that that's a Linux thing; do you know that
> it should have an effect on NetBSD?

I'm not at all sure it does, but I did see it listed in
https://man.netbsd.org/ld.elf_so.1

     LD_BIND_NOW      If defined immediate binding of Procedure Link Table
                      (PLT) entries is performed instead of the default lazy
                      method.

so I assumed it would do the same as on linux.

Greetings,

Andres Freund



Commits

  1. Provide options for postmaster to kill child processes with SIGABRT.

  2. On NetBSD, force dynamic symbol resolution at postmaster start.