Re: dsa_allocate() faliure

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Jakub Glapa <jakub(dot)glapa(at)gmail(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org, Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
Subject: Re: dsa_allocate() faliure
Date: 2018-11-26 15:52:08
Message-ID: 20181126155207.GZ10913@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-performance

Hi, thanks for following through.

On Mon, Nov 26, 2018 at 04:38:35PM +0100, Jakub Glapa wrote:
> I had a look at dmesg and indeed I see something like:
>
> postgres[30667]: segfault at 0 ip 0000557834264b16 sp 00007ffc2ce1e030
> error 4 in postgres[557833db7000+6d5000]

That's useful, I think "at 0" means a null pointer dereferenced.

Can you check /var/log/messages (or ./syslog or similar) and verify the
timestamp matches the time of the last crash (and not an unrelated crash) ?

The logs might also indicate if the process dumped a core file anywhere.

I don't know what distribution/OS you're using, but it might be good to install
abrt (RHEL) or apport (ubuntu) or other mechanism to save coredumps, or to
manually configure /proc/sys/kernel/core_pattern.

On centos, I usually set:
/etc/abrt/abrt-action-save-package-data.conf
OpenGPGCheck = no

Also, it might be good to install debug symbols, in case you do find a core
dump now or get one later.

On centos: yum install postgresql10-debuginfo or debuginfo-install postgresql10-server
Make sure this exactly matches the debug symbols exactly match the server version.

Justin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Steele 2018-11-26 15:56:29 Re: pgsql: Integrate recovery.conf into postgresql.conf
Previous Message Alvaro Herrera 2018-11-26 15:43:20 Re: Constraint documentation

Browse pgsql-performance by date

  From Date Subject
Next Message Jeff Janes 2018-11-26 15:53:24 Re: Optimizer choosing the wrong plan
Previous Message Mariel Cherkassky 2018-11-26 15:51:22 Re: autovacuum run but last_autovacuum is empty