Assertion failure in HEAD when compiled with -DWAL_DEBUG and wal_debug = true

Started by Pavan Deolaseealmost 12 years ago2 messagesbugs
Jump to latest
#1Pavan Deolasee
pavan.deolasee@gmail.com

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

#2Andres Freund
andres@anarazel.de
In reply to: Pavan Deolasee (#1)
Re: Assertion failure in HEAD when compiled with -DWAL_DEBUG and wal_debug = true

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

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs