Server hangs on multiple connections - Mailing list pgsql-bugs

From David Christian
Subject Server hangs on multiple connections
Date
Msg-id 8CA6796F-CC0D-11D6-9296-0003933E390A@comtechmobile.com
Whole thread Raw
Responses Re: Server hangs on multiple connections
List pgsql-bugs
Hi, I posted this through the web page but it didn't come over the
list, so I am sending it directly.  Hope that's okay.

I am able to get PostgreSQL 7.2.2 built and installed, and postmaster
starts up fine, but when hit with multiple simultaneous connections (2
or more), the server freezes up and can only be stopped with immediate
mode.  The existing postgres processes appear hung (see ps output
below) and running psql to connect also just hangs.

The problem I'm describing is only happening when I install on the
following platform:  Yellow Dog Linux 2.3 on PowerPC (PowerMac G4
QuickSilver, dual processor) with 1.5GB RAM.


$ cat /proc/cpuinfo
processor       : 0
cpu             : 7450, altivec supported
clock           : 799MHz
revision        : 2.1 (pvr 8000 0201)
bogomips        : 797.90

processor       : 1
cpu             : 7450, altivec supported
clock           : 799MHz
revision        : 2.1 (pvr 8000 0201)
bogomips        : 797.90

total bogomips  : 1595.80
machine         : PowerMac3,5
motherboard     : PowerMac3,5 MacRISC2 MacRISC Power Macintosh
detected as     : 69 (PowerMac G4 Silver)
pmac flags      : 00000000
L2 cache        : 256K unified
memory          : 1536MB
pmac-generation : NewWorld


$ uname -a
Linux chef.rdss.com 2.4.19-4asmp #1 SMP Wed Jun 5 00:59:38 EDT 2002 ppc
unknown


I have run PostgreSQL since 7.1 successfully on Red Hat Linux i386 and
Mac OS X 10.2 ppc (the very box I am currently having problems with)
without the lockup problem.  I am currently running PostgreSQL 7.2.2 on
a Red Hat i386 machine, installed from source, and it's working fine.

This problem can be replicated by building PostgreSQL from source and
running the 'make check' sequence.  It also happens when I 'make
install' and then initiate more than one simultaneous connection to the
PostgreSQL server.  The PostgreSQL server log does not show anything
unusual, until I kill the postmaster and then it reports on all the
backend connections that were terminated.


Here is the sequence of steps I use which results in this condition:

$ tar xfz postgresql-7.2.2.tar.gz
$ cd postgresql-7.2.2
$ ./configure
$ make
$ make check

It hangs at this step.  ps output shows:

  5836 pts/0    S      0:00 make check
  5919 pts/0    S      0:00 make -C src/test check
  5920 pts/0    S      0:00 make -C regress check
  5968 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7827 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/po
  7830 pts/0    S      0:00 postgres: stats buffer process
  7832 pts/0    S      0:00 postgres: stats collector process
  7891 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7892 pts/0    S      0:00 tee ./regression.out
  7897 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7898 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7899 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7900 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7901 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7902 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7903 pts/0    S      0:00 postgres: davidc regression [local] DROP
  7904 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7905 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7906 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7907 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7908 pts/0    S      0:00 postgres: davidc regression [local] SELECT
  7909 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7910 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7911 pts/0    S      0:00 postgres: davidc regression [local] SELECT
  7912 pts/0    S      0:00 postgres: davidc regression [local] SELECT
  7913 pts/0    S      0:00 postgres: davidc regression [local] SELECT
  7914 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7915 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7916 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7917 pts/0    S      0:00 postgres: davidc regression [local] SELECT
  7918 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7919 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7920 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7921 pts/0    S      0:00 postgres: davidc regression [local] startup
  7922 pts/0    S      0:00 postgres: davidc regression [local] startup
  7923 pts/0    S      0:00 postgres: davidc regression [local] startup
  7924 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7925 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7926 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7927 pts/0    S      0:00 /bin/sh ./pg_regress --temp-install
--top-builddir=../../.. --schedule=./parallel_schedule --multibyte=
  7928 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7929 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7930 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7931 pts/0    S      0:00
/home/davidc/src/PostgreSQL/postgresql-7.2.2/src/test/regress/./
tmp_check/install//usr/local/pgsql/bin/ps
  7932 pts/0    S      0:00 postgres: davidc regression [local] startup
  7933 pts/0    S      0:00 postgres: davidc regression [local] startup
  7934 pts/0    S      0:00 postgres: davidc regression [local] startup
  7935 pts/0    S      0:00 postgres: davidc regression [local] startup


Some other possibly useful details:

$ gcc --version
2.95.4

$ make --version
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for powerpc-yellowdog-linux-gnu

$ autoconf --version
Autoconf version 2.13

$ rpm -qa | grep glibc
glibc-2.2.5-1.2.3a
glibc-devel-2.2.5-1.2.3a
glibc-common-2.2.5-1.2.3a


I tried to include the output from the installation commands, but was
told the message was too long to post to the list.  Please let me know
if it would help to send any of that separately.

PostgreSQL is a fantastic product, and I thoroughly enjoy using it on
other platforms; I would love to get it working on this one as well,
and I am at a loss as to why it appears to be hanging here.

Thank you in advance for your time in considering this submission.

David

pgsql-bugs by date:

Previous
From: "* *"
Date:
Subject: posgres on win2k, install cygipc
Next
From: pgsql-bugs@postgresql.org
Date:
Subject: Bug #775: Unable to identify an operator '=' for types 'numeric' and 'double precision'