Re: vacuum analyze corrupts database - Mailing list pgsql-hackers

From Tom Lane
Subject Re: vacuum analyze corrupts database
Date
Msg-id 24660.1053910984@sss.pgh.pa.us
Whole thread Raw
In response to Re: vacuum analyze corrupts database  (Michael Brusser <michael@synchronicity.com>)
Responses Re: vacuum analyze corrupts database
List pgsql-hackers
Michael Brusser <michael@synchronicity.com> writes:
> (dbx) where 30
> =>[1] pfree(0x489420, 0xffbee890, 0x489420, 0xffbee880, 0x489628,
> 0xffbee888), at 0x2535e4
>   [2] convert_to_scalar(0x489078, 0x19, 0xffbee890, 0x489008, 0x488fc0,
> 0x413), at 0x1fc6b4
>   [3] scalarineqsel(0x484608, 0x42a, 0x0, 0x488a88, 0x489078, 0x19), at
> 0x1f94e4

Hmm.  Are you running the database in a non-C locale?  (pg_controldata
would tell you.)  If so, this pfree is trying to pfree one of three
strings that were filled with strxfrm().

I am wondering if strxfrm() on your platform sometimes writes more bytes
than it is supposed to.  I have seen vsnprintf() overrun its output
buffer on some flavors of Solaris (according to FAQ_Solaris, the 64-bit
libc in Solaris 7 had such a problem).  Could there be a similar bug in
their strxfrm?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Domain breakage
Next
From: "A.Bhuvaneswaran"
Date:
Subject: Re: Heads up: 7.3.3 this Wednesday