From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com> |
Cc: | pgsql-bugs(at)postgresql(dot)org, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Subject: | Re: BUG #6222: Segmentation fault on unlogged table |
Date: | 2011-09-26 16:08:22 |
Message-ID: | CA+TgmoYoMxxz_r+o-Z23gT143jOPAifn60SJQ0Wmada=Gjk6sg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Mon, Sep 26, 2011 at 11:40 AM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> To check my work, I did this:
>
> --- a/src/backend/executor/execQual.c
> +++ b/src/backend/executor/execQual.c
> @@ -5003,6 +5003,7 @@ ExecQual(List *qual, ExprContext *econtext, bool
> resultForNull)
> Datum expr_value;
> bool isNull;
>
> + Assert(!IsA(clause, List));
> expr_value = ExecEvalExpr(clause, econtext, &isNull, NULL);
>
> if (isNull)
>
> And in fact the test case (when run against the unlogged tables) fails
> that assertion:
>
> TRAP: FailedAssertion("!(!((((Node*)(clause))->type) == T_List))",
> File: "execQual.c", Line: 5006)
>
> Now I'm not too sure why that is happening yet, but I'm leaning toward
> the idea that the bug here is timing-related and that unlogged tables
> aren't the cause, but rather just make it easier to hit whatever the
> race condition is by removing some overhead.
I cannot reproduce this on commit
e6faf910d75027bdce7cd0f2033db4e912592bcc. But on the very next commit
I can:
commit e6faf910d75027bdce7cd0f2033db4e912592bcc
Author: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Date: Fri Sep 16 00:42:53 2011 -0400
Redesign the plancache mechanism for more flexibility and efficiency.
Tom, any thoughts?
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2011-09-26 16:17:04 | Re: BUG #6222: Segmentation fault on unlogged table |
Previous Message | Tom Lane | 2011-09-26 15:52:16 | Re: [v9.2] make_greater_string() does not return a string in some cases |