Обсуждение: what can be wrong? backport plpgpsm to 8.1
Hello
I am working on backport plpgpsm to 8.1. This interpret is based on plpgsql
8.2. There is some strange. Where I do rollback transaction, then on 8.1
postgresql go down on segfault. 8.2 and 8.3 works well.
I don't see any important difference, why 8.1. have to down.
#0 0x081564f1 in AlterDomainDropConstraint (names=0x876eb2c,
constrName=0x871d4f8 "", behavior=3213261032) at typecmds.c:1399
#1 0x00d97c9c in ?? ()
#2 0x0876eb2c in ?? ()
#3 0x0871d4f8 in ?? ()
#4 0xbf8678e8 in ?? ()
#5 0x080b0d81 in btree_redo (lsn={xlogid = 0, xrecoff = 0}, record=0x0) at
nbtxlog.c:431
#6 0x080b0d81 in btree_redo (lsn={xlogid = 5, xrecoff = 0}, record=0x1) at
nbtxlog.c:431
#7 0x080b49a8 in PrepareTransaction () at xact.c:1847
#8 0x080b4c06 in AbortSubTransaction () at xact.c:3806
#9 0x081d7c3a in dovec (v=0x873fc50, cv=0x875196c, lp=0x0, rp=0x875196c) at
regcomp.c:1721
#10 0x081d891a in parsebranch (v=0x875196c, stopper=0, type=135311595,
left=0xbf867be8, right=0x0, partial=0) at regcomp.c:717
#11 0x081da153 in pg_regcomp (re=0x4, string=0x86ff4b8, len=141554824,
flags=137272710) at regcomp.c:366
#12 0x081ade68 in make_rels_by_joins (root=0x19, level=1, joinrels=0x0) at
../../../../src/include/nodes/pg_list.h:87
#13 0x081aed66 in find_mergeclauses_for_pathkeys (root=0x3,
pathkeys=0x86fd4e0, restrictinfos=0xbf868e98) at pathkeys.c:1357
#14 0x0816d559 in ExecEvalParam (exprstate=0x10, econtext=0x0,
isNull=0xbf868ef8 "", isDone=0x0) at execQual.c:732
#15 0x007aaf2c in ?? ()
#16 0x00791ca0 in ?? ()
#17 0x082773d0 in SearchSysCacheCopy (cacheId=135713552, key1=3,
key2=3213266724, key3=136803280, key4=136803264) at syscache.c:645
#18 0x08078981 in ?? ()
any ideas?
Thank you
Pavel Stehule
_________________________________________________________________
Citite se osamele? Poznejte nekoho vyjmecneho diky Match.com.
http://www.msn.cz/
"Pavel Stehule" <pavel.stehule@hotmail.com> writes:
> I don't see any important difference, why 8.1. have to down.
I dunno, but gdb is doing you no favors with such a silly backtrace.
It sorta looks like you have some files built with -g and some without
... or perhaps you are trying to gdb the core file against the wrong
executable?
regards, tom lane
>"Pavel Stehule" <pavel.stehule@hotmail.com> writes: > > I don't see any important difference, why 8.1. have to down. > >I dunno, but gdb is doing you no favors with such a silly backtrace. >It sorta looks like you have some files built with -g and some without >... or perhaps you are trying to gdb the core file against the wrong >executable? > propably I had to do some errors. Next cycle produce different output: #0 FreeExecutorState (estate=0x966eb2c) at execUtils.c:260 260 FreeExprContext((ExprContext *) linitial(estate->es_exprcontexts)); (gdb) bt #0 FreeExecutorState (estate=0x966eb2c) at execUtils.c:260 #1 0x00528c9c in plpgpsm_xact_cb () from /usr/local/pgsql81/lib/plpgpsm.so #2 0x080b0d81 in CallXactCallbacks (event=XACT_EVENT_COMMIT) at xact.c:2618 #3 0x080b49a8 in CommitTransaction () at xact.c:1534 #4 0x080b4c06 in CommitTransactionCommand () at xact.c:2184 #5 0x081d7c3a in finish_xact_command () at postgres.c:2021 #6 0x081d891a in exec_simple_query (query_string=0x963f844 "select fx();") at postgres.c:1034 #7 0x081da153 in PostgresMain (argc=4, argv=0x95ff4b8, username=0x95ff488 "root") at postgres.c:3232 #8 0x081ade68 in ServerLoop () at postmaster.c:2865 #9 0x081aed66 in PostmasterMain (argc=3, argv=0x95fd4e0) at postmaster.c:941 #10 0x0816d559 in main (argc=3, argv=0x0) at main.c:265 I hope so I see problem now. Thank you Pavel Stehule _________________________________________________________________ Citite se osamele? Poznejte nekoho vyjmecneho diky Match.com. http://www.msn.cz/
Pavel Stehule wrote: > propably I had to do some errors. Next cycle produce different output: > > #0 FreeExecutorState (estate=0x966eb2c) at execUtils.c:260 > 260 FreeExprContext((ExprContext *) > linitial(estate->es_exprcontexts)); > (gdb) bt > #0 FreeExecutorState (estate=0x966eb2c) at execUtils.c:260 > #1 0x00528c9c in plpgpsm_xact_cb () from /usr/local/pgsql81/lib/plpgpsm.so > #2 0x080b0d81 in CallXactCallbacks (event=XACT_EVENT_COMMIT) at xact.c:2618 Hmm, ISTR there were some changes to what plpgsql_xact_cb did in 8.1 ... did you check the changes to that routine? -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Alvaro Herrera <alvherre@commandprompt.com> writes: > Pavel Stehule wrote: >> #1 0x00528c9c in plpgpsm_xact_cb () from /usr/local/pgsql81/lib/plpgpsm.so >> #2 0x080b0d81 in CallXactCallbacks (event=XACT_EVENT_COMMIT) at xact.c:2618 > Hmm, ISTR there were some changes to what plpgsql_xact_cb did in 8.1 ... > did you check the changes to that routine? Specifically I think you need to study this patch: http://archives.postgresql.org/pgsql-committers/2007-01/msg00370.php But isn't back-porting plpgpsm to old releases a waste of development and maintenance effort anyway? regards, tom lane
> >Specifically I think you need to study this patch: >http://archives.postgresql.org/pgsql-committers/2007-01/msg00370.php > >But isn't back-porting plpgpsm to old releases a waste of development >and maintenance effort anyway? > I unlike it and last weak I play with it. But I don't expect so Debian and RH will be support 8.3 soon. And I would to help to expansion plpgpsm. When I comment FreeExecutorState, runtime works well (with some minor problems - domains). With 8.1 support I will have much bigger group of users, testers (I hope). I have to study your patch. Thank you Pavel Stehule _________________________________________________________________ Najdete si svou lasku a nove pratele na Match.com. http://www.msn.cz/