Обсуждение: Assertion failure in HEAD when compiled with -DWAL_DEBUG and wal_debug = true
Assertion failure in HEAD when compiled with -DWAL_DEBUG and wal_debug = true
От
Pavan Deolasee
Дата:
Hi All, As I noted in another thread, if built with WAL_DEBUG and GUC wal_debug set to true, HEAD hits an assertion failure. This is probably not a critical issue given that hardly anyone would run a server with WAL_DEBUG turned on, its still worth fixing. The offending code is in XLogInsert() which called initStringInfo() which in turn calls palloc(). I am not sure what's the best way to move that allocation outside of critical section. LOG: INSERT @ 0/16CD2E8: prev 0/16CD258; xid 0; len 4: XLOG - checkpoint: redo 0/6000; tli 0; prev tli 0; fpw false; xid 0/0; oid 0; multi 0; offset 0; oldest xid 0 in DB 0; oldest multi 0 in DB 0; oldest running xid 0; shutdown STATEMENT: CREATE TABLE test(a int); LOG: INSERT @ 0/16CD318: prev 0/16CD2C0; xid 0; len 16: Storage - UNKNOWN STATEMENT: CREATE TABLE test(a int); TRAP: FailedAssertion("!(CritSectionCount == 0 || (CurrentMemoryContext) == ErrorContext || (MyAuxProcType == CheckpointerProcess))", File: "/Users/pavan/work/SOURCES/postgresql/src/backend/utils/mmgr/mcxt.c", Line: 670) Thanks, Pavan -- Pavan Deolasee http://www.linkedin.com/in/pavandeolasee
Re: Assertion failure in HEAD when compiled with -DWAL_DEBUG and wal_debug = true
От
Andres Freund
Дата:
On 2014-06-21 15:53:32 +0530, Pavan Deolasee wrote: > Hi All, > > As I noted in another thread, if built with WAL_DEBUG and GUC wal_debug set > to true, HEAD hits an assertion failure. This is probably not a critical > issue given that hardly anyone would run a server with WAL_DEBUG turned on, > its still worth fixing. > > The offending code is in XLogInsert() which called initStringInfo() which > in turn calls palloc(). I am not sure what's the best way to move that > allocation outside of critical section. > > LOG: INSERT @ 0/16CD2E8: prev 0/16CD258; xid 0; len 4: XLOG - checkpoint: > redo 0/6000; tli 0; prev tli 0; fpw false; xid 0/0; oid 0; multi 0; offset > 0; oldest xid 0 in DB 0; oldest multi 0 in DB 0; oldest running xid 0; > shutdown > STATEMENT: CREATE TABLE test(a int); > LOG: INSERT @ 0/16CD318: prev 0/16CD2C0; xid 0; len 16: Storage - UNKNOWN > STATEMENT: CREATE TABLE test(a int); > TRAP: FailedAssertion("!(CritSectionCount == 0 || (CurrentMemoryContext) == > ErrorContext || (MyAuxProcType == CheckpointerProcess))", File: > "/Users/pavan/work/SOURCES/postgresql/src/backend/utils/mmgr/mcxt.c", Line: > 670) There's already a thread about it: http://archives.postgresql.org/message-id/20140614205106.GV18688%40eldon.alvh.no-ip.org Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services