Thread: PostgreSQL trap, and assertion failed
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.
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/
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