Re: Failed assert ((data - start) == data_size) in heaptuple.c

From: Brendan Jurd <direvus(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: pgsql-bugs <pgsql-bugs(at)postgresql(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Alex Ferrara <alex(at)receptiveit(dot)com(dot)au>
Subject: Re: Failed assert ((data - start) == data_size) in heaptuple.c
Date: 2011-04-07 17:46:55
Message-ID: BANLkTi=jBwnOoxUEuERTqnUKBzK7pfo32g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

On 8 April 2011 00:16, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
> Excerpts from Brendan Jurd's message of jue abr 07 03:07:32 -0300 2011:
>> I am running a 9.0.3 Hot Standy + Streaming Replication slave which
>> occasionally segfaults (every 1-2 days).  I rebuilt Postgres with
>> --enable-cassert and --enable-debug, switched on core dumping and
>> waited for some results.
>
> What's the platform, and what's the query?  Are there funny datatypes
> involved?

Ubuntu 10.04 x64 on:

HP DL380R05
1x Quad Core Xeon E5440
10GB PC 5400 DDR ECC
2x HP 146GB 15krpm SAS drives in RAID 1+0

The tomcat instance repeatedly runs a series of some 9 queries, I'm
not sure which of the queries is the culprit or even whether it is the
same one each time. However, they are all straightforward SELECTs.
The one with the most complicated plan joins a whole six tables. I do
keep the transaction open until I have executed all the SELECTs in the
series, then commit and start over again with a fresh transaction.
That's just to make sure all of the queries are pulling data from the
same snapshot.

As for datatypes, I do have one type that I have defined which is used
in one of the queries. It's just an RGB colour value, defined as a
composite type:

CREATE DOMAIN colour_channel AS smallint
CHECK (VALUE >= 0 AND VALUE < 256);

CREATE TYPE rgb AS (
red colour_channel,
green colour_channel,
blue colour_channel
);

All of the user-defined functions I have written for this db are
either SQL or PL/pgSQL, and all of the functions called by these
queries are either STABLE or IMMUTABLE.

Cheers,
BJ

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Shianmiin 2011-04-07 20:42:12 PostgreSQL backend process high memory usage issue
Previous Message John R Pierce 2011-04-07 17:11:05 Re: BUG #5967: Db maintainace

Browse pgsql-hackers by date

  From Date Subject
Next Message Merlin Moncure 2011-04-07 18:28:16 Re: Process local hint bit cache
Previous Message Selena Deckelmann 2011-04-07 17:22:26 Headcount for PL Summit, Saturday May 21, 2011 at PgCon