Re: [COMMITTERS] pgsql: SQL/MED catalog manipulation facilities This doesn't do any

Поиск
Список
Период
Сортировка
От Sergey E. Koposov
Тема Re: [COMMITTERS] pgsql: SQL/MED catalog manipulation facilities This doesn't do any
Дата
Msg-id alpine.LRH.1.10.0812201022430.29837@lnfm1.sai.msu.ru
обсуждение исходный текст
Ответ на Re: [COMMITTERS] pgsql: SQL/MED catalog manipulation facilities This doesn't do any  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hi,

On Fri, 19 Dec 2008, Tom Lane wrote:

>> SQL/MED catalog manipulation facilities
>
> The buildfarm says this patch has got serious portability issues.
>
> grebe, dugong, and ermine are all crashing here:
>
> --- 109,115 ----
>  (3 rows)
>
>  ALTER FOREIGN DATA WRAPPER foo OPTIONS (a '1', b '2');
> ! server closed the connection unexpectedly
> !     This probably means the server terminated abnormally
> !     before or while processing the request.
> ! connection to server was lost
>
> (Unfortunately I can't reproduce this on any of my own machines.)

Here is the gdb  backtrace from dugong:
-------------------
Core was generated by ostgres: math regression [local] ALTER FOREIGN DATA WRAPPER                  '.
Program terminated with signal 11, Segmentation fault.
#0  0x40000000000560b0 in heap_compute_data_size (    tupleDesc=0x200000000287fbb8, values=0x60000000001ae060,
isnull=0x60000000001ae0b8"") at heaptuple.c:103
 
103                     if (ATT_IS_PACKABLE(att[i]) &&
(gdb) bt
#0  0x40000000000560b0 in heap_compute_data_size (    tupleDesc=0x200000000287fbb8, values=0x60000000001ae060,
isnull=0x60000000001ae0b8"") at heaptuple.c:103
 
#1  0x400000000005cac0 in heap_form_tuple (tupleDescriptor=0x200000000287fbb8,    values=0x60000000001ae060,
isnull=0x60000000001ae0b8"") at heaptuple.c:728
 
#2  0x400000000005d700 in heap_modify_tuple (tuple=0x600000000019e9f8,    tupleDesc=0x200000000287fbb8,
replValues=0x60000fffffb2e318,   replIsnull=0x60000fffffb2e340 "", doReplace=0x60000fffffb2e345 "")    at
heaptuple.c:853
#3  0x4000000000399480 in AlterForeignDataWrapper (stmt=0x6000000000160e78)    at foreigncmds.c:480
#4  0x40000000007b6bc0 in ProcessUtility (parsetree=0x6000000000160e78,    queryString=0x60000000001603b8 "ALTER
FOREIGNDATA WRAPPER foo OPTIONS (a '1', b '2');", params=0x0, isTopLevel=1 '\001', dest=0x6000000000160f10,
completionTag=0x60000fffffb2e96e"") at utility.c:469
 
#5  0x40000000007b2e20 in PortalRunUtility (portal=0x60000000001a5fc8,    utilityStmt=0x6000000000160e78, isTopLevel=1
'\001',   dest=0x6000000000160f10, completionTag=0x60000fffffb2e96e "")    at pquery.c:1183
 
#6  0x40000000007b3380 in PortalRunMulti (portal=0x60000000001a5fc8,    isTopLevel=1 '\001', dest=0x6000000000160f10,
altdest=0x6000000000160f10,   completionTag=0x60000fffffb2e96e "") at pquery.c:1286
 
#7  0x40000000007b1150 in PortalRun (portal=0x60000000001a5fc8,    count=9223372036854775807, isTopLevel=1 '\001',
dest=0x6000000000160f10,
---Type <return> to continue, or q <return> to quit---    altdest=0x6000000000160f10, completionTag=0x60000fffffb2e96e
"")   at pquery.c:815
 
#8  0x400000000079eed0 in exec_simple_query (    query_string=0x60000000001603b8 "ALTER FOREIGN DATA WRAPPER foo
OPTIONS(a '1', b '2');") at postgres.c:991
 
#9  0x40000000007ab570 in PostgresMain (argc=6, argv=0x60000000000c2ab0,    username=0x60000000000c2800 "math") at
postgres.c:3600
#10 0x40000000006dadb0 in BackendRun (port=0x60000000000e3d40)    at postmaster.c:3258
#11 0x40000000006d8de0 in BackendStartup (port=0x60000000000e3d40)    at postmaster.c:2872
#12 0x40000000006d1700 in ServerLoop () at postmaster.c:1283
#13 0x40000000006d0480 in PostmasterMain (argc=6, argv=0x60000000000c0d20)    at postmaster.c:1031
#14 0x4000000000533e50 in main (argc=6, argv=0x60000000000c0d20) at main.c:188
(gdb)
------------------------

And the full backtrace if needed:

---------------
(gdb) bt full
#0  0x40000000000560b0 in heap_compute_data_size (    tupleDesc=0x200000000287fbb8, values=0x60000000001ae060,
isnull=0x60000000001ae0b8"") at heaptuple.c:103        val = 1761288        data_length = 78        i = 4
numberOfAttributes= 5        att = (Form_pg_attribute *) 0x200000000287fbe0
 
#1  0x400000000005cac0 in heap_form_tuple (tupleDescriptor=0x200000000287fbb8,    values=0x60000000001ae060,
isnull=0x60000000001ae0b8"") at heaptuple.c:728        tuple = (HeapTuple) 0x60000000001adfd0        td =
(HeapTupleHeader)0x60000000001ae0a0        len = 32        data_len = 8        hoff = 32        hasnull = 1 '\001'
 att = (Form_pg_attribute *) 0x200000000287fbe0        numberOfAttributes = 5        i = 5        __func__ =
"heap_form_tuple"
#2  0x400000000005d700 in heap_modify_tuple (tuple=0x600000000019e9f8,    tupleDesc=0x200000000287fbb8,
replValues=0x60000fffffb2e318,   replIsnull=0x60000fffffb2e340 "", doReplace=0x60000fffffb2e345 "")    at
heaptuple.c:853
---Type <return> to continue, or q <return> to quit---        numberOfAttributes = 5        attoff = 5        values =
(Datum*) 0x60000000001ae060        isnull = (bool *) 0x60000000001ae0b8 ""        newTuple = (HeapTuple) 0x91800195972
 
#3  0x4000000000399480 in AlterForeignDataWrapper (stmt=0x6000000000160e78)    at foreigncmds.c:480        rel =
(Relation)0x200000000287f908        tp = (HeapTuple) 0x600000000019e9f8        repl_val = {0, 0, 0, 0, 1761288}
repl_null= "\000\000\000\000"        repl_repl = "\000\000\000\000\001"        fdwId = 28313        isnull = 1 '\001'
    datum = 6917529027642843144        fdwlib = (ForeignDataWrapperLibrary *) 0x600000000016d7f0        __func__ =
"AlterForeignDataWrapper"
#4  0x40000000007b6bc0 in ProcessUtility (parsetree=0x6000000000160e78,    queryString=0x60000000001603b8 "ALTER
FOREIGNDATA WRAPPER foo OPTIONS (a '1', b '2');", params=0x0, isTopLevel=1 '\001', dest=0x6000000000160f10,
completionTag=0x60000fffffb2e96e"") at utility.c:469        __func__ = "ProcessUtility"
 
#5  0x40000000007b2e20 in PortalRunUtility (portal=0x60000000001a5fc8,    utilityStmt=0x6000000000160e78, isTopLevel=1
'\001',
---Type <return> to continue, or q <return> to quit---    dest=0x6000000000160f10, completionTag=0x60000fffffb2e96e "")
  at pquery.c:1183        active_snapshot_set = 1 '\001'        __func__ = "PortalRunUtility"
 
#6  0x40000000007b3380 in PortalRunMulti (portal=0x60000000001a5fc8,    isTopLevel=1 '\001', dest=0x6000000000160f10,
altdest=0x6000000000160f10,   completionTag=0x60000fffffb2e96e "") at pquery.c:1286        stmt = (Node *)
0x6000000000160e78       stmtlist_item = (ListCell *) 0x6000000000161120
 
#7  0x40000000007b1150 in PortalRun (portal=0x60000000001a5fc8,    count=9223372036854775807, isTopLevel=1 '\001',
dest=0x6000000000160f10,   altdest=0x6000000000160f10, completionTag=0x60000fffffb2e96e "")    at pquery.c:815
save_exception_stack= (sigjmp_buf *) 0x60000fffffb2eac0        save_context_stack = (ErrorContextCallback *) 0x0
local_sigjmp_buf= {{__jmpbuf = {6917546619822073200,      2305843009217053184, 0, 2674341019140927, 0, 0, 0, 0,
4611686018435452112,0, 0, 0, 0, 0, -4611686018427386609, 0, 5832769,      6917537823729074712, 0, 6917546619822073296,
0<repeats 44 times>, 63,      4611686018440740537, 6917529027641081860, 209, 0, 4611686018440740536},
__mask_was_saved= 0, __saved_mask = {__val = {6917529027642472976,        6917529027641081861, 4611686018440948192,
6917529027641081856,       6917529027642472976, 6917529027641081860, 6917529027642527480, 0,
6917529027642022104,6917529027642022104, 80, 6917529027642527504,
 
---Type <return> to continue, or q <return> to quit---        4611686018440740536, 6917529027642527584, 80,
6917529027641081856}}}}       result = 0 '\0'        saveTopTransactionResourceOwner = (ResourceOwner)
0x60000000001855d8       saveTopTransactionContext = (MemoryContext) 0x60000000000e59f0        saveActivePortal =
(Portal)0x0        saveResourceOwner = (ResourceOwner) 0x60000000001855d8        savePortalContext = (MemoryContext)
0x0       saveMemoryContext = (MemoryContext) 0x60000000000e59f0        __func__ = "PortalRun"
 
#8  0x400000000079eed0 in exec_simple_query (    query_string=0x60000000001603b8 "ALTER FOREIGN DATA WRAPPER foo
OPTIONS(a '1', b '2');") at postgres.c:991        parsetree = (Node *) 0x6000000000160e78        portal = (Portal)
0x60000000001a5fc8       snapshot_set = 0 '\0'        commandTag = 0x4000000000cbe750 "ALTER FOREIGN DATA WRAPPER"
 completionTag =
"\000\000Q\000\000\000\000\000\000`\234\002\000\000\000\000\003\026\000\000\000\000000\000\000\000\000\000\000?\003\026\000\000\000\000\000\000\000\017\000\000\0006\000\000\000s\001\001\000?\003\026\000\000"
      querytree_list = (List *) 0x60000000001610e8        plantree_list = (List *) 0x6000000000161148        receiver =
(DestReceiver*) 0x6000000000160f10        format = 0        dest = DestRemote
 
---Type <return> to continue, or q <return> to quit---        oldcontext = (MemoryContext) 0x60000000000e59f0
parsetree_list= (List *) 0x6000000000160ed8        parsetree_item = (ListCell *) 0x6000000000160eb0
save_log_statement_stats= 0 '\0'        was_logged = 0 '\0'        isTopLevel = 1 '\001'        msec_str =
"\000\000\000000\000\000\000\000\000\000\003\026\000\000\000\000000\000\000\000\017\000000\000\000"       __func__ =
"exec_simple_query"
#9  0x40000000007ab570 in PostgresMain (argc=6, argv=0x60000000000c2ab0,    username=0x60000000000c2800 "math") at
postgres.c:3600       query_string = 0x60000000001603b8 "ALTER FOREIGN DATA WRAPPER foo OPTIONS (a '1', b '2');"
flag= -1        dbname = 0x60000000000e3450 "regression"        userDoption = 0x0        secure = 0 '\0'        errs =
0       debug_flag = -1        guc_names = (List *) 0x0        guc_values = (List *) 0x0        ctx = PGC_SUSET
gucsource= PGC_S_CLIENT        am_superuser = 1 '\001'
 
---Type <return> to continue, or q <return> to quit---        firstchar = 81        stack_base = 0 '\0'
input_message= {  data = 0x60000000001603b8 "ALTER FOREIGN DATA WRAPPER foo OPTIONS (a '1', b '2');", len = 55, maxlen
=1024, cursor = 55}        local_sigjmp_buf = {{__jmpbuf = {6917546619822074288,      2305843009217053184, 0,
2674341019124543,0, 0, 0, 0,      4611686018435427728, 0, 0, 0, 0, 0, -4611686018427386867, 0, 5832769,
6917537823729074568,0, 6917546619822074560, 0 <repeats 40 times>,      6917546619822075412, 6917546619822075420,
6917546619822075443,     6917546619822075412, 6917546619822075443, 0, 0, 0, 0, 0},    __mask_was_saved = 1,
__saved_mask= {__val = {18446744066192964099,        6917529027641081856, 0, 6917529027641899184, 352, 512,
6917529027641898808,58, 6752, 8144, 6917529027641899344, 5,        6917529027641873152, 81604378636, 0,
6917529027641081861}}}}       send_ready_for_query = 0 '\0'        __func__ = "PostgresMain"
 
#10 0x40000000006dadb0 in BackendRun (port=0x60000000000e3d40)    at postmaster.c:3258        av = (char **)
0x60000000000c2ab0       maxac = 27        ac = 6        secs = 283072531        usecs = 545137
 
---Type <return> to continue, or q <return> to quit---        protobuf = "-v196608\000\000\000@
(\f\000\000\000\000000(\f\000\000\000\000?\000\000"       i = 6        __func__ = "BackendRun"
 
#11 0x40000000006d8de0 in BackendStartup (port=0x60000000000e3d40)    at postmaster.c:2872        bn = (Backend *)
0x60000000000e3410       pid = 0        __func__ = "BackendStartup"
 
#12 0x40000000006d1700 in ServerLoop () at postmaster.c:1283        port = (Port *) 0x60000000000e3d40        i = 0
  rmask = {fds_bits = {16, 0 <repeats 15 times>}}        selres = 1        readmask = {fds_bits = {16, 0 <repeats 15
times>}}       nSockets = 5        now = 1229757331        last_touch_time = 1229757314        __func__ = "ServerLoop"
 
#13 0x40000000006d0480 in PostmasterMain (argc=6, argv=0x60000000000c0d20)    at postmaster.c:1031        opt = -1
 status = 0        userDoption = 0x60000000000c0e00 "/home/math/pgsql_cvs/pgsql/src/test/re---Type <return> to
continue,or q <return> to quit---
 
gress/./tmp_check/data"        i = 64        __func__ = "PostmasterMain"
#14 0x4000000000533e50 in main (argc=6, argv=0x60000000000c0d20) at main.c:188
No locals.

-----------------


Regards,    Sergey

*******************************************************************
Sergey E. Koposov
Max Planck Institute for Astronomy/Sternberg Astronomical Institute
Tel: +49-6221-528-349
Web: http://lnfm1.sai.msu.ru/~math
E-mail: math@sai.msu.ru


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Greg Stark
Дата:
Сообщение: Re: Is "Window" really safe as a global typedef name?
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Hot standby and b-tree killed items