Thread: Crash After Vacuum Analyze

Crash After Vacuum Analyze

From
"Thomas T. Thai"
Date:
NetBSD 1.6 / Alpha (64-bit)
Postgresql 7.3.2

This crash occurs ONLY after a successful "vacuum analyze" and accessing
tsearch v2's @@ operator. After the initial crash, any other access to the
tables using operator @@ will crash again. To initiate a crash though,
"vacuum analyze" must be executed.

---
$ gdb ./postgres /var/pgsql/data-7.3-test/base/642718/postgres.core
GNU gdb 5.0nb1
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "alpha-unknown-netbsd"...
Core was generated by `postgres'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/libexec/ld.elf_so...done.
Loaded symbols for /usr/libexec/ld.elf_so
Reading symbols from /usr/lib/libz.so.0...done.
Loaded symbols for /usr/lib/libz.so.0
Reading symbols from /usr/lib/libedit.so.2...done.
Loaded symbols for /usr/lib/libedit.so.2
Reading symbols from /usr/lib/libcurses.so.5...done.
Loaded symbols for /usr/lib/libcurses.so.5
Reading symbols from /usr/lib/libcrypt.so.0...done.
Loaded symbols for /usr/lib/libcrypt.so.0
Reading symbols from /usr/lib/libresolv.so.1...done.
Loaded symbols for /usr/lib/libresolv.so.1
Reading symbols from /usr/lib/libm.so.0...done.
Loaded symbols for /usr/lib/libm.so.0
Reading symbols from /usr/lib/libutil.so.6...done.
Loaded symbols for /usr/lib/libutil.so.6
Reading symbols from /usr/lib/libc.so.12...done.
Loaded symbols for /usr/lib/libc.so.12
Reading symbols from
/usr/local_install/postgresql-7.3.2/lib/tsearch.so...done.
Loaded symbols for /usr/local_install/postgresql-7.3.2/lib/tsearch.so
#0  0x1201dcd38 in Float8GetDatum (X=0) at fmgr.c:1573
1573            float8     *retval = (float8 *) palloc(sizeof(float8));
(gdb) bt
#0  0x1201dcd38 in Float8GetDatum (X=0) at fmgr.c:1573
#1  0x1604da5b0 in execqtxt ()
   from /usr/local_install/postgresql-7.3.2/lib/tsearch.so
#2  0x1200dc160 in ExecMakeFunctionResult (fcache=0x1203d1b10,
    arguments=0x1203d0830, econtext=0x1203d1410, isNull=0x1ffffe858 "",
    isDone=0x0) at execQual.c:829
#3  0x1200dc838 in ExecEvalOper (opClause=0x0, econtext=0x1203d1410,
    isNull=0x1ffffe858 "", isDone=0x0) at execQual.c:1120
#4  0x1200dd60c in ExecEvalExpr (expression=0x0, econtext=0x1203d1410,
    isNull=0x1ffffe769 "", isDone=0x1ffffe5f8) at execQual.c:1708
#5  0x1200dd87c in ExecQual (qual=0xffffffffc0000000,
econtext=0x1203d1410,
    resultForNull=0 '\000') at execQual.c:1903
#6  0x1200ddfcc in ExecScan (node=0x1203d1170,
    accessMtd=0x1200e8960 <ExecReScanResult+96>) at execScan.c:106
#7  0x1200e8afc in SeqNext (node=0x0) at nodeSeqscan.c:115
#8  0x1200da1cc in ExecProcNode (node=0x1200d84b8, parent=0x1203d1310)
    at execProcnode.c:284
#9  0x1200d757c in ExecutorRun (queryDesc=0x1203d1310, estate=0x1203d1310,
    direction=540874176, count=0) at execMain.c:193
Cannot access memory at address 0xfffffffffffffffd

--
Thomas T. Thai