[Fusionforge-general] Testsuite timeouts
Sylvain Beucler - Inria
sylvain.beucler at inria.fr
Wed Nov 4 19:16:37 CET 2015
Le 03/11/2015 19:09, Sylvain Beucler - Inria a écrit :
> After debugging stalled processes from our testsuite and prod, I
> highly suspect that the timeouts come from nss/nscd (see attached
> backtrace w/ debugging symbols):
> - GDB shows they are stuck in a libnss-pgsql2 deadlock, as described in:
> However since nscd is running, the process shouldn't even enter
> libnss-pgsql, so timeouts happen during a random nscd failure.
> - GDB shows libpq checks the requestor UID *to locate the .pgpass
> file* (not to authenticate the username, since our nss-pgsql.conf
> specifies it explicitly). Fortunately this can be bypassed like:
> # service unscd stop
> # su admin -c id
> # PGPASSFILE= su admin -c id
> uid=20102(admin) gid=100(users)
> So short of debugging unscd, and short of modifying libpq so it stops
> using getpw* when used from nss, we can set PGPASSFILE in various
> daemons (apache scm config at least, possibly ssh/shell too).
> What do you think?
- If the server is remote, getpw* is also called to look for SSL-related
files in the user directory (???).
Additional workaround: set sslmode=disable in nss-pgsql.conf
- To apply PGPASSFILE='' in apache, SetEnv/SetEnvIf are inoperant.
On Debian, using /etc/apache2/envvars works (i.e. no need for unscd).
I'm considering adding PGPASSFILE in the testsuite's apaches and see if
More information about the Fusionforge-general