7.0.2 dies when connection dropped mid-transaction
От | Alfred Perlstein |
---|---|
Тема | 7.0.2 dies when connection dropped mid-transaction |
Дата | |
Msg-id | 20001109170429.C11449@fw.wintelcom.net обсуждение исходный текст |
Ответы |
Re: 7.0.2 dies when connection dropped mid-transaction
Re: 7.0.2 dies when connection dropped mid-transaction |
Список | pgsql-hackers |
I have a program that does a: DECLARE getsitescursor CURSOR FOR select... I ^C'd it and it didn't properly shut down the channel to postgresql and I got this crash: #0 0x4828ffc8 in kill () from /usr/lib/libc.so.4 #1 0x482cbbf2 in abort () from /usr/lib/libc.so.4 #2 0x814442f in ExcAbort () at excabort.c:27 #3 0x81443ae in ExcUnCaught (excP=0x81a6070, detail=0, data=0x0, message=0x819a860 "!(AllocSetContains(set, pointer))")at exc.c:170 #4 0x81443f5 in ExcRaise (excP=0x81a6070, detail=0, data=0x0, message=0x819a860 "!(AllocSetContains(set, pointer))")at exc.c:187 #5 0x8143ae4 in ExceptionalCondition ( conditionName=0x819a860 "!(AllocSetContains(set, pointer))", exceptionP=0x81a6070,detail=0x0, fileName=0x819a720 "aset.c", lineNumber=392) at assert.c:73 #6 0x8147897 in AllocSetFree (set=0x8465134, pointer=0x84e0018 "<hashtable 1>") at aset.c:392 #7 0x8148394 in PortalVariableMemoryFree (this=0x846512c, pointer=0x84e0018 "<hashtable 1>") at portalmem.c:204 #8 0x8147e99 in MemoryContextFree (context=0x846512c, pointer=0x84e0018 "<hashtable 1>") at mcxt.c:245 #9 0x81490e5 in PortalDrop (portalP=0x8467944) at portalmem.c:802 #10 0x8148715 in CollectNamedPortals (portalP=0x0, destroy=1) at portalmem.c:442 #11 0x814880f in AtEOXact_portals () at portalmem.c:472 #12 0x80870ad in AbortTransaction () at xact.c:1053 #13 0x80872ec in AbortOutOfAnyTransaction () at xact.c:1552 #14 0x810b3d0 in PostgresMain (argc=9, argv=0xbfbff0e0, real_argc=10, real_argv=0xbfbffb40) at postgres.c:1643 #15 0x80f0736 in DoBackend (port=0x8464000) at postmaster.c:2009 #16 0x80f02c9 in BackendStartup (port=0x8464000) at postmaster.c:1776 #17 0x80ef4ed in ServerLoop () at postmaster.c:1037 #18 0x80eeed2 in PostmasterMain (argc=10, argv=0xbfbffb40) at postmaster.c:725 #19 0x80bf3df in main (argc=10, argv=0xbfbffb40) at main.c:93 #20 0x8063495 in _start () things go to pot here: 387 { 388 AllocChunk chunk; 389 390 /* AssertArg(AllocSetIsValid(set)); */ 391 /* AssertArg(AllocPointerIsValid(pointer)); */ 392 AssertArg(AllocSetContains(set, pointer)); 393 394 chunk = AllocPointerGetChunk(pointer); 395 396 #ifdef CLOBBER_FREED_MEMORY (gdb) print *set $2 = {blocks = 0x0, freelist = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}} (gdb) print pointer $3 = 0x84e0018 "<hashtable 1>" These sources are the current CVS sources with the exception of some removed files by Marc. Is there any more information I can provide? -- -Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org] "I have the heart of a child; I keep it in a jar on my desk."
В списке pgsql-hackers по дате отправления: