Postgres segfaults

Lists: pgsql-de-allgemein
From: Andreas Tille <andreas(at)an3as(dot)eu>
To: PostgreSQL <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Postgres segfaults
Date: 2011-08-10 12:31:08
Message-ID: 20110810123108.GA3566@an3as.eu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-de-allgemein

Hi,

seit einiger Zeit sehe ich immer Einträge der Art:

Aug 10 10:36:52 <hostname> kernel: postgres[17916]: segfault at cfd168a9 ip b7322ca6 sp bfc58770 error 5 in postgres[b72c7000+485000]

in meinem syslog. Die Maschine ist eine VM mit

Linux debian-med 2.6.36-xenU-4814-i386 #2 SMP Tue Mar 1 15:47:57 UTC 2011 i686 GNU/Linux

Darauf sind folgende Pakete installiert:

$ dpkg -l postgres* | grep ^ii
ii postgresql-9.0 9.0.4-1~bpo60+1 object-relational SQL database, version 9.0 server
ii postgresql-9.0-debversion 1.0.4-1~bpo60+1 Debian version number type for PostgreSQL
ii postgresql-client-9.0 9.0.4-1~bpo60+1 front-end programs for PostgreSQL 9.0
ii postgresql-client-common 113 manager for multiple PostgreSQL client versions
ii postgresql-common 113 PostgreSQL database-cluster manager
ii postgresql-contrib-9.0 9.0.4-1~bpo60+1 additional facilities for PostgreSQL
ii postgresql-plperl-9.0 9.0.4-1~bpo60+1 PL/Perl procedural language for PostgreSQL 9.0

Wie kann ich diesen Segfaults nachgehen, die etwa 3-4 mal pro Woche
auftauchen? Ich kann keinen Zusammenhang zu bestimmten Abfragen
ausmachen. Es läuft im wesentlichen eine Kopie der Ultimate Debian
Database[1] darauf und eine weitere Datenbank für ein GSoC projekt, die
aber einen deutlich geringeren Umfang hat. Beide Datenbanken laufen
nach wie vor auch nach besagten segfaults (sprich, Anfragen sind
problemlos möglich).

Irgendwelche Ideen, um das Problem einzugrenzen?

Viele Grüße

Andreas.

[1] http://wiki.debian.org/UltimateDebianDatabase

--
http://fam-tille.de


From: Thomas Markus <t(dot)markus(at)proventis(dot)net>
To: Andreas Tille <andreas(at)an3as(dot)eu>
Cc: PostgreSQL <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Re: Postgres segfaults
Date: 2011-08-10 13:37:15
Message-ID: 4E42898B.2010002@proventis.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-de-allgemein

Hi,

check mal ob du Speicherfehler hast. Das Prob hatte ich mal.

Gruss
Thomas

Am 10.08.2011 14:31, schrieb Andreas Tille:
> Hi,
>
> seit einiger Zeit sehe ich immer Einträge der Art:
>
> Aug 10 10:36:52<hostname> kernel: postgres[17916]: segfault at cfd168a9 ip b7322ca6 sp bfc58770 error 5 in postgres[b72c7000+485000]
>
> in meinem syslog. Die Maschine ist eine VM mit
>
> Linux debian-med 2.6.36-xenU-4814-i386 #2 SMP Tue Mar 1 15:47:57 UTC 2011 i686 GNU/Linux
>
> Darauf sind folgende Pakete installiert:
>
> $ dpkg -l postgres* | grep ^ii
> ii postgresql-9.0 9.0.4-1~bpo60+1 object-relational SQL database, version 9.0 server
> ii postgresql-9.0-debversion 1.0.4-1~bpo60+1 Debian version number type for PostgreSQL
> ii postgresql-client-9.0 9.0.4-1~bpo60+1 front-end programs for PostgreSQL 9.0
> ii postgresql-client-common 113 manager for multiple PostgreSQL client versions
> ii postgresql-common 113 PostgreSQL database-cluster manager
> ii postgresql-contrib-9.0 9.0.4-1~bpo60+1 additional facilities for PostgreSQL
> ii postgresql-plperl-9.0 9.0.4-1~bpo60+1 PL/Perl procedural language for PostgreSQL 9.0
>
> Wie kann ich diesen Segfaults nachgehen, die etwa 3-4 mal pro Woche
> auftauchen? Ich kann keinen Zusammenhang zu bestimmten Abfragen
> ausmachen. Es läuft im wesentlichen eine Kopie der Ultimate Debian
> Database[1] darauf und eine weitere Datenbank für ein GSoC projekt, die
> aber einen deutlich geringeren Umfang hat. Beide Datenbanken laufen
> nach wie vor auch nach besagten segfaults (sprich, Anfragen sind
> problemlos möglich).
>
> Irgendwelche Ideen, um das Problem einzugrenzen?
>
> Viele Grüße
>
> Andreas.
>
> [1] http://wiki.debian.org/UltimateDebianDatabase
>


From: Andreas Tille <andreas(at)an3as(dot)eu>
To: PostgreSQL <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Re: Postgres segfaults
Date: 2011-08-10 15:28:56
Message-ID: 20110810152856.GB6349@an3as.eu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-de-allgemein

On Wed, Aug 10, 2011 at 03:24:44PM +0200, Hans-Jürgen Schönig wrote:
> hallo andreas,
>
> hast du einen backtrace von der ganzen sache?
> also, einen backtrace für den segfault.

Nein.

> ohne backtrace ist es leider schwer.
> was du brauchst ist "ulimit -c unlimited", damit du core files kriegst.

Das sollte ich dann wohl ins init-script schreiben, richtig? Wohin wird
das core file dann geschrieben? HOME von user postgres
(/var/lib/postgresql) ?

Viele Grüße

Andreas.

--
http://fam-tille.de


From: Andreas Tille <andreas(at)an3as(dot)eu>
To: PostgreSQL <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Re: Postgres segfaults
Date: 2011-08-10 15:29:42
Message-ID: 20110810152942.GC6349@an3as.eu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-de-allgemein

On Wed, Aug 10, 2011 at 03:37:15PM +0200, Thomas Markus wrote:
> Hi,
>
> check mal ob du Speicherfehler hast. Das Prob hatte ich mal.

Hmmm, wie teste ich das bei einer VM?

Viele Grüße

Andreas.

--
http://fam-tille.de


From: Thomas Markus <t(dot)markus(at)proventis(dot)net>
To: Andreas Tille <andreas(at)an3as(dot)eu>
Cc: PostgreSQL <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Re: Postgres segfaults
Date: 2011-08-11 05:04:46
Message-ID: 4E4362EE.5030002@proventis.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-de-allgemein

das mit der VM hab ich glatt übersehen, das geht nur mit direktem
Hostzugriff.

frag mal in pgsql-admin(at)postgresql(dot)org nach.

Gruss
Thomas

Am 10.08.2011 17:29, schrieb Andreas Tille:
> On Wed, Aug 10, 2011 at 03:37:15PM +0200, Thomas Markus wrote:
>> Hi,
>>
>> check mal ob du Speicherfehler hast. Das Prob hatte ich mal.
> Hmmm, wie teste ich das bei einer VM?
>
> Viele Grüße
>
> Andreas.
>


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Andreas Tille <andreas(at)an3as(dot)eu>
Cc: PostgreSQL <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Re: Postgres segfaults
Date: 2011-09-04 15:32:53
Message-ID: 1315150374.23996.5.camel@vanquo.pezone.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-de-allgemein

On ons, 2011-08-10 at 17:28 +0200, Andreas Tille wrote:
> On Wed, Aug 10, 2011 at 03:24:44PM +0200, Hans-Jürgen Schönig wrote:
> > hallo andreas,
> >
> > hast du einen backtrace von der ganzen sache?
> > also, einen backtrace für den segfault.
>
> Nein.
>
> > ohne backtrace ist es leider schwer.
> > was du brauchst ist "ulimit -c unlimited", damit du core files kriegst.
>
> Das sollte ich dann wohl ins init-script schreiben, richtig? Wohin wird
> das core file dann geschrieben? HOME von user postgres
> (/var/lib/postgresql) ?

Schau mal hier:
http://petereisentraut.blogspot.com/2011/06/enabling-core-files-for-postgresql-on.html

Ist leider ein bisschen kompliziert.


From: Andreas Tille <andreas(at)an3as(dot)eu>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Postgres segfaults
Date: 2011-10-18 06:23:48
Message-ID: 20111018062348.GA23567@an3as.eu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-de-allgemein

Hallo Peter,

On Sun, Sep 04, 2011 at 06:32:53PM +0300, Peter Eisentraut wrote:
> On ons, 2011-08-10 at 17:28 +0200, Andreas Tille wrote:
> > On Wed, Aug 10, 2011 at 03:24:44PM +0200, Hans-Jürgen Schönig wrote:
> > > hallo andreas,
> > >
> > > hast du einen backtrace von der ganzen sache?
> > > also, einen backtrace für den segfault.
> >
> > Nein.
> >
> > > ohne backtrace ist es leider schwer.
> > > was du brauchst ist "ulimit -c unlimited", damit du core files kriegst.
> >
> > Das sollte ich dann wohl ins init-script schreiben, richtig? Wohin wird
> > das core file dann geschrieben? HOME von user postgres
> > (/var/lib/postgresql) ?
>
> Schau mal hier:
> http://petereisentraut.blogspot.com/2011/06/enabling-core-files-for-postgresql-on.html
>
> Ist leider ein bisschen kompliziert.

Naja, kompliziert fand ich's nicht - hat aber doch etwas gedauert, ehe
ich dazu gekommen bin. Nach Deiner Methode habe ich nun

$ sudo grep core /proc/$(sudo cat /var/run/postgresql/9.0-main.pid)/limits
Max core file size unlimited unlimited bytes

und

$ grep kernel.core_pattern /etc/sysctl.d/local.conf
kernel.core_pattern = core.%e.%p

Mein Logcheck hat mir nun

Oct 18 03:17:50 blends kernel: postgres[3744]: segfault at caf53acc ip b740c0d7 sp bfb4dc10 error 5 in postgres[b73b0000+485000]

geschickt - aber ich finde denoch kein core file. :-)

Ist noch was zu tun? In welchem Verzeichnis sollte sich das core file
zu finden sein? (Ich habe mit find / gesucht und dennoch nichts
sinnvolles gefunden.)

Grundsätzlich möchte ich zwar demnächst auf den Backport von 9.1
upgraden, würde aber dennoch gerne wissen, was hier im argen liegt ...

Viele Grüße

Andreas.

--
http://fam-tille.de


From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Andreas Tille <andreas(at)an3as(dot)eu>
Cc: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Postgres segfaults
Date: 2011-10-21 08:26:38
Message-ID: 1319185598.17908.1.camel@fsopti579.F-Secure.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-de-allgemein

On tis, 2011-10-18 at 08:23 +0200, Andreas Tille wrote:
> > Schau mal hier:
> > http://petereisentraut.blogspot.com/2011/06/enabling-core-files-for-postgresql-on.html
> >
> > Ist leider ein bisschen kompliziert.
>
> Naja, kompliziert fand ich's nicht - hat aber doch etwas gedauert, ehe
> ich dazu gekommen bin. Nach Deiner Methode habe ich nun
>
> $ sudo grep core /proc/$(sudo cat /var/run/postgresql/9.0-main.pid)/limits
> Max core file size unlimited unlimited bytes
>
> und
>
> $ grep kernel.core_pattern /etc/sysctl.d/local.conf
> kernel.core_pattern = core.%e.%p
>
> Mein Logcheck hat mir nun
>
> Oct 18 03:17:50 blends kernel: postgres[3744]: segfault at caf53acc ip b740c0d7 sp bfb4dc10 error 5 in postgres[b73b0000+485000]
>
> geschickt - aber ich finde denoch kein core file. :-)
>
> Ist noch was zu tun? In welchem Verzeichnis sollte sich das core file
> zu finden sein? (Ich habe mit find / gesucht und dennoch nichts
> sinnvolles gefunden.)

Sollte in /var/lib/postgresql/9.0/main/core.postgres.* sein.


From: Andreas Tille <andreas(at)an3as(dot)eu>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Subject: Re: Postgres segfaults
Date: 2011-10-24 07:56:44
Message-ID: 20111024075644.GC26814@an3as.eu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-de-allgemein

On Fri, Oct 21, 2011 at 11:26:38AM +0300, Peter Eisentraut wrote:
> > Ist noch was zu tun? In welchem Verzeichnis sollte sich das core file
> > zu finden sein? (Ich habe mit find / gesucht und dennoch nichts
> > sinnvolles gefunden.)
>
> Sollte in /var/lib/postgresql/9.0/main/core.postgres.* sein.

Stimmt - da sind se ja. (Mein find fand nix, weil ich als normaler user
gesucht hatte ...).

Was mache ich nun am besten mit den 13 core files mit insgesamt 890MB?

Wo lege ich die hin, damit sich die jemand mal ansehen kann?

Viele Grüße

Andreas.

--
http://fam-tille.de


From: PostgreSQL - Hans-Jürgen Schönig <postgres(at)cybertec(dot)at>
To: Andreas Tille <andreas(at)an3as(dot)eu>
Cc: PGSQL Allgemein <pgsql-de-allgemein(at)postgresql(dot)org>
Subject: Re: Postgres segfaults
Date: 2011-10-24 08:02:36
Message-ID: 418C1A04-98C7-4047-A918-9BE4536B9D92@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-de-allgemein

hallo ...

versuch, einen backtrace zu erstellen. das hilft massiv.
das geht so:

http://wiki.postgresql.org/wiki/Getting_a_stack_trace_of_a_running_PostgreSQL_backend_on_Linux/BSD

oder ...

gdb /path_to_pg/bin/postgres core.200909030901 (oder welches file auch immer)

und dann einfach im gdb "bt" machen ...

die ergebnisse bitte dann einfach posten.

liebe grüße,

hans

On Oct 24, 2011, at 9:56 AM, Andreas Tille wrote:

> On Fri, Oct 21, 2011 at 11:26:38AM +0300, Peter Eisentraut wrote:
>>> Ist noch was zu tun? In welchem Verzeichnis sollte sich das core file
>>> zu finden sein? (Ich habe mit find / gesucht und dennoch nichts
>>> sinnvolles gefunden.)
>>
>> Sollte in /var/lib/postgresql/9.0/main/core.postgres.* sein.
>
> Stimmt - da sind se ja. (Mein find fand nix, weil ich als normaler user
> gesucht hatte ...).
>
> Was mache ich nun am besten mit den 13 core files mit insgesamt 890MB?
>
> Wo lege ich die hin, damit sich die jemand mal ansehen kann?
>
> Viele Grüße
>
> Andreas.
>
> --
> http://fam-tille.de
>
> --
> Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-de-allgemein
>

--
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de