On Thu, 5 Aug 1999, Bruce Momjian wrote:

[...]
> Here is a backtrace with gdb:
> 
> ---------------------------------------------------------------------------
> 
> backend> DELETE  FROM T1 WHERE Count = 1;
> blank
>          1: ctid        (typeid = 27, len = 6, typmod = -1, byval = f)
>         ----
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x806f640 in heapgettup (relation=0x836d9a8, tuple=0x835756c, dir=1, 
>     buffer=0x8357590, snapshot=0x8357100, nkeys=0, key=0x0) at heapam.c:403
> 403                             if (ItemIdIsUsed(lpp))

When I run that query on my production server (FreeBSD 2.2.8-STABLE) it
crashed the backend and I get the following backtrace, which is different
from yours..

#0  0x1ca2 in nocachegetattr (tuple=0x1cf584, attnum=1,
tupleDesc=0x1ed29c,
    isnull=0xefbf9043 "") at heaptuple.c:492
492                                att[j]->attlen > 0 || VARLENA_FIXED_SIZE(att[j]))); 
j++)
(gdb) bt
#0  0x1ca2 in nocachegetattr (tuple=0x1cf584, attnum=1, tupleDesc=0x1ed29c,
    isnull=0xefbf9043 "") at heaptuple.c:492
#1  0x3a6a4 in ExecEvalVar (variable=0x1cefe0, econtext=0x1cf528,
    isNull=0xefbf9043 "") at execQual.c:295
#2  0x3b3b8 in ExecEvalExpr (expression=0x1cefe0, econtext=0x1cf528,
    isNull=0xefbf9043 "", isDone=0xefbf9077 "\001r\205\001") at execQual.c:1207
#3  0x3aefa in ExecEvalFuncArgs (fcache=0x1cf7f8, econtext=0x1cf528,
    argList=0x1cf008, argV=0xefbf9078, argIsDone=0xefbf9077 "\001r\205\001")
    at execQual.c:617
#4  0x3afd4 in ExecMakeFunctionResult (node=0x1cefb8, arguments=0x1cf008,
    econtext=0x1cf528, isNull=0xefbf9107 "", isDone=0xefbf90c7 "")
    at execQual.c:698
#5  0x3b144 in ExecEvalOper (opClause=0x1cef90, econtext=0x1cf528,
    isNull=0xefbf9107 "") at execQual.c:870
#6  0x3b456 in ExecEvalExpr (expression=0x1cef90, econtext=0x1cf528,
    isNull=0xefbf9107 "", isDone=0xefbf9106 "\001") at execQual.c:1245
#7  0x3b505 in ExecQualClause (clause=0x1cef90, econtext=0x1cf528)
    at execQual.c:1312
#8  0x3b53d in ExecQual (qual=0x1cf150, econtext=0x1cf528) at execQual.c:1372
#9  0x3b86a in ExecScan (node=0x1cf180, accessMtd=0x405d0 <SeqNext>)
    at execScan.c:142
#10 0x406ff in ExecSeqScan (node=0x1cf180) at nodeSeqscan.c:159
#11 0x39fbe in ExecProcNode (node=0x1cf180, parent=0x1cf180)
    at execProcnode.c:262
#12 0x38f39 in ExecutePlan (estate=0x1cf250, plan=0x1cf180,
    operation=CMD_DELETE, offsetTuples=0, numberTuples=0,
    direction=ForwardScanDirection, destfunc=0x1cf7d0) at execMain.c:908
#13 0x3871d in ExecutorRun (queryDesc=0x1cf238, estate=0x1cf250, feature=3,
    limoffset=0x0, limcount=0x0) at execMain.c:339
#14 0xa8b27 in ProcessQueryDesc (queryDesc=0x1cf238, limoffset=0x0,
    limcount=0x0) at pquery.c:333
#15 0xa8b8c in ProcessQuery (parsetree=0x1ce150, plan=0x1cf180, dest=Remote)
    at pquery.c:376
#16 0xa6b3a in pg_exec_query_dest (
    query_string=0xefbf92d8 "DELETE\n  FROM T1\n  WHERE Count = 1;",
    dest=Remote, aclOverride=0) at postgres.c:768
#17 0xa69d7 in pg_exec_query (
    query_string=0xefbf92d8 "DELETE\n  FROM T1\n  WHERE Count = 1;")
    at postgres.c:656
#18 0xa83bc in PostgresMain (argc=5, argv=0xefbfd850, real_argc=5,
    real_argv=0xefbfdcb8) at postgres.c:1647
#19 0x8e4ca in DoBackend (port=0x179000) at postmaster.c:1628
#20 0x8dfce in BackendStartup (port=0x179000) at postmaster.c:1373
#21 0x8d36e in ServerLoop () at postmaster.c:823
#22 0x8cbe7 in PostmasterMain (argc=5, argv=0xefbfdcb8) at postmaster.c:616
#23 0x4a0c2 in main (argc=5, argv=0xefbfdcb8) at main.c:93

Thanks,
Anto.

Reply via email to