Thread: Re: Something's not (de)compressing right

Re: Something's not (de)compressing right

From
Elliot Lee
Date:
http://archives.postgresql.org/pgsql-hackers/2000-07/msg00483.php

I'm having this same problem with postgresql 7.3.4. Easy to reproduce by 
running an 'INSERT' query. Here is some of the debugging info if I break 
near the beginning of the pglz_decompress function:

(gdb) p dend
$1 = (unsigned char *) 0xc47f0602 <Address 0xc47f0602 out of bounds>
(gdb) p dp
$2 = (unsigned char *) 0xb605153c ""
(gdb) p *source
$3 = {varsize = 1316614350, rawsize = 2328}
(gdb) up
#1  0x0807c0b0 in heap_tuple_untoast_attr (attr=0xb6051534)   at tuptoaster.c:151
151                     pglz_decompress((PGLZ_Header *) attr, 
VARATT_DATA(result));
(gdb) p *attr
$4 = {va_header = 1316614350, va_content = {va_compressed = {     va_rawsize = 2328, va_data = ""}, va_external =
{va_rawsize= 2328,     va_extsize = 786432, va_valueid = 1048579,     va_toastrelid = 1316614344}, va_data = "\030"}}
 

Ideas? Any more information I can provide? Looks like the bad value is
coming in through 'dend', but I don't understand VARATT_SIZE well enough
to know where the bad value is coming from.

Ciao,
-- Elliot
"The mark of an immature man is that he wants to die nobly for a cause,
while the mark of a mature man is that he wants to live humbly for
one."


Re: Something's not (de)compressing right

From
Tom Lane
Date:
Elliot Lee <sopwith@redhat.com> writes:
> http://archives.postgresql.org/pgsql-hackers/2000-07/msg00483.php
> I'm having this same problem with postgresql 7.3.4.

You aren't having the "same" problem, because that UNION bug was fixed
ages ago.

> Easy to reproduce by running an 'INSERT' query.

Let's see the test case then ...
        regards, tom lane


Re: Something's not (de)compressing right

From
Elliot Lee
Date:
On Mon, 8 Dec 2003, Tom Lane wrote:

> Elliot Lee <sopwith@redhat.com> writes:
> > http://archives.postgresql.org/pgsql-hackers/2000-07/msg00483.php
> > I'm having this same problem with postgresql 7.3.4.
> 
> You aren't having the "same" problem, because that UNION bug was fixed
> ages ago.

You're right. However, I saw the exact same symptoms, with a very similar
stack trace.

> > Easy to reproduce by running an 'INSERT' query.
> 
> Let's see the test case then ...

A 'REINDEX' made the symptoms go away. Nice for me, unfortunate for fixing
postgresql. :\

I do have another bug related to vacuuming tables that contain binary
large objects, inside a UTF-8 encoded database. If that's not a known
issue, I'll work up a reproduction case for that.

-- Elliot
http://www.barbiecollectibles.com/shop/product.aspx?sku=B3449
One ring to rule the malls, a website to supply them. The Tolkien "Ken and
Barbie" dolls - now 60 bucks can buy them!