Thread: 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/