failed assertion in toasting code

From: "Sergey E(dot) Koposov" <math(at)sai(dot)msu(dot)ru>
To: pgsql-hackers(at)postgresql(dot)org
Cc: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
Subject: failed assertion in toasting code
Date: 2008-02-20 10:39:13
Message-ID: Pine.LNX.4.64.0802201314590.28404@lnfm1.sai.msu.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello -hackers,

In the process of converting a multi-Tb datadabe from 8.2 to 8.3, Postgres
8.3 died at the failed assertion:

TRAP: FailedAssertion("!(((toast_pointer).va_extsize < (toast_pointer).va_rawsize - ((int32) sizeof(int32))))", File: "tuptoaster.c", Line: 1134)
LOG: server process (PID 8874) was terminated by signal 6: Aborted
LOG: terminating any other active server processes
LOG: all server processes terminated; reinitializing
LOG: database system was interrupted; last known up at 2008-02-20 07:43:00 MSK
LOG: database system was not properly shut down; automatic recovery in progress
LOG: redo starts at 78/BA00E060
LOG: record with zero length at 78/BC7A5FA8
LOG: redo done at 78/BC7A5F78
LOG: last completed transaction was at log time 2008-02-20 07:43:03.292665+03
LOG: autovacuum launcher started
LOG: database system is ready to accept connections

Unfortunately I cannot tell much more right now (I don't have
the exact name of the table even), although I suspect which column is that
(because I have only one column which is subject to toasting).

I was doing basically pg_dumpall_8.2 | psql_8.3
I can say that the tables are large ~ 100-500 Gb in size and contain the
column with the image in a special type "image", which is
toasted.
cas=# \d sdssdr5.frame
Table "sdssdr5.frame"
Column | Type | Modifiers
---------+------------------+-----------
fieldid | bigint | not null
..................
htmid | bigint | not null
img | image | not null

CREATE TYPE image (
INPUT = image_in,
OUTPUT = image_out,
INTERNALLENGTH = -1,
STORAGE = external
);

Although I may agree that it could be a problem occurring due to the bug
in type_in, type_out functions, I really doubt that, since it worked
perfectly with 8.1-8.2 and the code is quite simple.

I'll try to get the postmortem core dump, although it may require another
couple of days since the segfault occured after two days of dumping :(

Does anyone have ideas what could be the reason for the bug ?

Thanks in advance.

Regards,
Sergey

*******************************************************************
Sergey E. Koposov
Max Planck Institute for Astronomy/Cambridge Institute for Astronomy/Sternberg Astronomical Institute
Tel: +49-6221-528-349
Web: http://lnfm1.sai.msu.ru/~math
E-mail: math(at)sai(dot)msu(dot)ru

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Gregory Stark 2008-02-20 11:04:51 Re: failed assertion in toasting code
Previous Message Dimitri Fontaine 2008-02-20 10:20:29 Re: Permanent settings