I'm implementing savepoint support for the JDBC driver and I'm seeing an
assertion failure in cvs head this morning. It seems related to using
both savepoints and the v3 protocol.
LOG: statement: create table savepointtable (id int primary key)
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
"savepointtable_pkey" for table "savepointtable"
LOG: statement: BEGIN
LOG: statement: INSERT INTO savepointtable VALUES ($1)
LOG: statement: SAVEPOINT JDBC_SAVEPOINT_0
LOG: statement: INSERT INTO savepointtable VALUES ($1)
ERROR: duplicate key violates unique constraint "savepointtable_pkey"
LOG: statement: ROLLBACK TO SAVEPOINT JDBC_SAVEPOINT_0
TRAP: FailedAssertion("!(portal->resowner == ((void *)0))", File:
"portalmem.c", Line: 694)
Note the line number in the error message appears accurate, but doesn't
exactly match that in the stacktrace. This is the same as the last time I
reported a problem of this type. I got them to match by building with a
different compiler version (which I can do again if necessary).
#0 0x402a6721 in kill () from /lib/libc.so.6
#1 0x402a64c5 in raise () from /lib/libc.so.6
#2 0x402a79e8 in abort () from /lib/libc.so.6
#3 0x08236092 in ExceptionalCondition (
conditionName=0x6 <Address 0x6 out of bounds>,
errorType=0x8259591 "FailedAssertion", fileName=0x403ac550 "`\022",
lineNumber=0) at assert.c:51
#4 0x0824c377 in AtSubCleanup_Portals () at portalmem.c:697
#5 0x080ab2c8 in CleanupSubTransaction () at xact.c:3180
#6 0x080a9955 in CleanupAbortedSubTransactions (returnName=1 '\001')
at xact.c:1815
#7 0x080a9807 in CommitTransactionCommand () at xact.c:1770
#8 0x081c2def in finish_xact_command () at postgres.c:1833
#9 0x081c291f in exec_execute_message (portal_name=0x837fd01 "",
max_rows=1)
at postgres.c:1680
#10 0x081c4342 in PostgresMain (argc=4, argv=0x833b348,
username=0x833b254 "test") at postgres.c:3016
#11 0x0819449d in BackendRun (port=0x834a210) at postmaster.c:2848
#12 0x08193e43 in BackendStartup (port=0x834a210) at postmaster.c:2470
#13 0x0819209a in ServerLoop () at postmaster.c:1215
#14 0x081911ae in PostmasterMain (argc=3, argv=0x833add8) at
postmaster.c:898
#15 0x0815b655 in main (argc=3, argv=0x833add8) at main.c:265
Kris Jurka