Thread: Port Bug Report: backend crashes any time an "update" or "insert" rule executes
Port Bug Report: backend crashes any time an "update" or "insert" rule executes
From
Unprivileged user
Date:
============================================================================ POSTGRESQL BUG REPORT TEMPLATE ============================================================================ Your name : Eric Breault Your email address : breault@ti.com Category : unknown Severity : non-critical Summary: backend crashes any time an "update" or "insert" rule executes System Configuration -------------------- Operating System : Digital Unix 4.0D PostgreSQL version : 6.5 Compiler used : gcc 2.8.1 or native DEC cc Hardware: --------- DEC AlphaStation 200 4/233 128Mb RAM Versions of other tools: ------------------------ gmake 3.77/flex 2.5.4 -------------------------------------------------------------------------- Problem Description: -------------------- Backend dies during "rules" regression test, or on execution of insert or update rule. Backtrace of regression test coredump below: (gdb) bt #0 0x1200fe968 in replace_opid (oper=0x4014ae30) at nodeFuncs.c:95 #1 0x12012ebf0 in fix_opid_walker (node=0x14014ae00, context=0x0) at clauses.c:539 #2 0x12012eb80 in fix_opid (clause=0x14014ae00) at clauses.c:530 #3 0x12012b6a8 in preprocess_targetlist (tlist=0x14014a820, command_type=2, result_relation=5, range_table=0x14014b510) at preptlist.c:84 #4 0x120124068 in union_planner (parse=0x14014a460) at planner.c:161 #5 0x120123e30 in planner (parse=0x14014a460) at planner.c:83 #6 0x120178bb0 in pg_parse_and_plan ( query_string=0x11fffa710 "update rtest_v1 set a = rtest_t3.a + 20 where b = rtest_t3.b;", typev=0x0, nargs=0, queryListP=0x11fff a660, dest=Remote, aclOverride=0 '\000') at postgres.c:590 #7 0x120178e6c in pg_exec_query_dest ( query_string=0x11fffa710 "update rtest_v1 set a = rtest_t3.a + 20 where b = rtest_t3.b;", dest=Remote, aclOverride=0'\000') at postgres.c:678 #8 0x120178d80 in pg_exec_query ( query_string=0x11fffa710 "update rtest_v1 set a = rtest_t3.a + 20 where b = rtest_t3.b;") at postgres.c:656 #9 0x12017af5c in PostgresMain (argc=4, argv=0x11fffe788, real_argc=5, real_argv=0x11ffffae8) at postgres.c:1647 #10 0x12013fc3c in DoBackend (port=0x1400cf820) at postmaster.c:1628 #11 0x12013f094 in BackendStartup (port=0x1400cf820) at postmaster.c:1373 #12 0x12013d92c in ServerLoop () at postmaster.c:823 -------------------------------------------------------------------------- Test Case: ---------- Either run the regression test, or execute an insert on a table with a rule of the following form: create rule testrule as on insert to employees do insert into salaries (lname, fname, salary) values (new.lname, new.fname, 0); Problem is VERY repeatable -------------------------------------------------------------------------- Solution: --------- --------------------------------------------------------------------------