Thread: PostgreSQL trap, and assertion failed

PostgreSQL trap, and assertion failed

From
Radosław Smogura
Date:
Hello,

I have small crash reporting code, which I use during mmap-ing database. After
last merge with master I got

TRAP: FailedAssertion("!(slot > 0 && slot <= PMSignalState->num_child_flags)",
File: "pmsignal.c", Line: 227)
LOG:  server process (PID 5128) was terminated by signal 6: Aborted
LOG:  terminating any other active server processes
TRAP: FailedAssertion("!(slot > 0 && slot <= PMSignalState->num_child_flags)",
File: "pmsignal.c", Line: 189)

I've installed crash reports on sigbus and sigseg signals. May I ask what may
be wrong, and how to prevent this?

Regards,
Radek.


Re: PostgreSQL trap, and assertion failed

From
Craig Ringer
Date:
On 14/04/2011 2:06 PM, Radosław Smogura wrote:
> Hello,
>
> I have small crash reporting code, which I use during mmap-ing database. After
> last merge with master I got
>
> TRAP: FailedAssertion("!(slot>  0&&  slot<= PMSignalState->num_child_flags)",
> File: "pmsignal.c", Line: 227)
> LOG:  server process (PID 5128) was terminated by signal 6: Aborted
> LOG:  terminating any other active server processes
> TRAP: FailedAssertion("!(slot>  0&&  slot<= PMSignalState->num_child_flags)",
> File: "pmsignal.c", Line: 189)
>
> I've installed crash reports on sigbus and sigseg signals. May I ask what may
> be wrong, and how to prevent this?

The fact that you mention merging with master, and the fact that you're
trapping signals, suggests that you're running a modified Pg. Without
knowing what your changes are, it's probably going to be hard for anyone
to help. Thanks to the joy of C, it's easy to stamp all over the stack
or the heap, so all sorts of weird and wonderful things can happen in
code unrelated to the real source of the problem...

--
Craig Ringer

Tech-related writing at http://soapyfrogs.blogspot.com/

Re: PostgreSQL trap, and assertion failed

From
rsmogura
Date:
 On Thu, 14 Apr 2011 16:57:01 +0800, Craig Ringer wrote:
> On 14/04/2011 2:06 PM, Radosław Smogura wrote:
>> Hello,
>>
>> I have small crash reporting code, which I use during mmap-ing
>> database. After
>> last merge with master I got
>>
>> TRAP: FailedAssertion("!(slot>  0&&  slot<=
>> PMSignalState->num_child_flags)",
>> File: "pmsignal.c", Line: 227)
>> LOG:  server process (PID 5128) was terminated by signal 6: Aborted
>> LOG:  terminating any other active server processes
>> TRAP: FailedAssertion("!(slot>  0&&  slot<=
>> PMSignalState->num_child_flags)",
>> File: "pmsignal.c", Line: 189)
>>
>> I've installed crash reports on sigbus and sigseg signals. May I ask
>> what may
>> be wrong, and how to prevent this?
>
> The fact that you mention merging with master, and the fact that
> you're trapping signals, suggests that you're running a modified Pg.
> Without knowing what your changes are, it's probably going to be hard
> for anyone to help. Thanks to the joy of C, it's easy to stamp all
> over the stack or the heap, so all sorts of weird and wonderful
> things
> can happen in code unrelated to the real source of the problem...

 Yes, indeed, I deal with mmapings and I little play with memory, so
 there is some probability that I little "changed" memory. I asked,
 because someone may bear in mind such change about this assert. At this
 time, this trap do not, seriously, affect my work. Actually I want to
 show changes, but those are too big 140kb of bz2, and I have small
 problems with vacuum.

 Regards,
 Radek