From: Craig Ringer <ringerc@ringerc.id.au>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: raghu ram <raghuchennuru@gmail.com>
Cc: pgsql-admin@postgresql.org, pgsql-general <pgsql-general@postgresql.org>
Subject: Re: [ADMIN] Streaming Replication Server Crash
Date: Tue, 23 Oct 2012 13:03:33 +0800
Message-ID: <50862525.5060904@ringerc.id.au> (raw)
In-Reply-To: <27094.1350910358@sss.pgh.pa.us>
References: <CALnrrJQ81icyt7EpzPwPuXPK0SbSv4+C8uyA=6Nwqh+mLw2hOw@mail.gmail.com>
<5084EF7E.5080809@ringerc.id.au>
<27094.1350910358@sss.pgh.pa.us>
On 10/22/2012 08:52 PM, Tom Lane wrote:
> Craig Ringer <ringerc@ringerc.id.au> writes:
>> On 10/19/2012 04:40 PM, raghu ram wrote:
>>> 2012-10-19 12:26:46 IST [1338]: [18-1] user=,db= LOG: server process
>>> (PID 15565) was terminated by signal 10
>
>> That's odd. SIGUSR1 (signal 10) shouldn't terminate PostgreSQL.
>
>> Was the server intentionally sent SIGUSR1 by an admin? Do you know what
>> triggered the signal?
>
> SIGUSR1 is used for all sorts of internal cross-process signaling
> purposes. There's no need to hypothesize any external force sending
> it; if somebody had broken a PG process's signal handling setup for
> SIGUSR1, a crash of this sort could be expected in short order.
>
> But having said that, are we sure 10 is SIGUSR1 on the OP's platform?
> AFAIK, that signal number is not at all compatible across different
> flavors of Unix. (I see SIGUSR1 is 30 on OS X for instance.)
Gah. I incorrectly though that POSIX specified signal *numbers*, not
just names. That does not appear to actually be the case. Thanks.
A bit of searching suggests that on Solaris/SunOS, signal 10 is SIGBUS:
http://www.s-gms.ms.edus.si/cgi-bin/man-cgi?signal+3HEADhttp://docs.oracle.com/cd/E23824_01/html/821-1464/signal-3head.html
... which tends to suggest an entirely different interpretation than
"someone broke a signal hander":
https://blogs.oracle.com/peteh/entry/sigbus_versus_sigsegv_according_to
such as:
- Bad mmap()ed read
- alignment error
- hardware fault
so it's not immensely different to a segfault in that it can be caused
by errors in hardware, OS, or applications.
Raghu, did PostgreSQL dump a core file? If it didn't, you might want to
enable core dumps in future. If it did dump a core, attaching a debugger
to the core file might tell you where it crashed, possibly offering some
more information to diagnose the issue. I'm not familiar enough with
Solaris to offer detailed advice on that, especially as you haven't
mentioned your Solaris version, how you installed Pg, etc. This may be
of some use:
http://stackoverflow.com/questions/6403803/how-to-get-backtrace-function-line-number-on-solaris
--
Craig Ringer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: ringerc@ringerc.id.au, tgl@sss.pgh.pa.us, raghuchennuru@gmail.com, pgsql-general@postgresql.org
Subject: Re: [ADMIN] Streaming Replication Server Crash
In-Reply-To: <50862525.5060904@ringerc.id.au>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox