On 22/08/2009 19:52, hubert depesz lubaczewski wrote:
> On Fri, Aug 21, 2009 at 04:26:11PM +0000, Sebastien Lardiere wrote:
>
>> The following bug has been logged online:
>>
>> Bug reference: 5004
>> Logged by: Sebastien Lardiere
>> Email address: slardiere@hi-media.com
>> PostgreSQL version: 8.3.7
>> Operating system: Debian Etch
>> Description: pg_freespacemap make a SegFault
>> Details:
>>
>> I've got a crash with a cluster. Nothing found in the logfile, but a message
>> about a Segfault, so I get a coredump and here is the backtrace :
>>
> Can you check if you had any vacuums running at the time of crash?
>
Yes, autovacuum is on. it wasn't "normal" vacuum during the crash, but
the last.
Nevertheless, the day before the first crash, I made a big delete on 23
millions of rows, and pg_freespacemap show a big increase of the number
of pages in FSM. Then, when the number of pages in FSM increase, Pg
crashes ; but :
> It might be in logs, something like:
> WARNING: terminating connection because of crash of another server process
> DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because
anotherserver process exited abnormally and possibly corrupted shared memory.
> HINT: In a moment you should be able to reconnect to the database and repeat your command.
> STATEMENT: vacuum
>
> if yes - how many vacuum jobs there were?
>
>
I never seen in the logs this messages with vacuum, Pg always crash with
the query :
"select count(*) as pages from pg_freespacemap_pages"
We can see in Munin ( graph attached ), the behavior :
The big increase, then, the first crash, and, a each time there is a
significat increase, a crash, with a reset of FSM.
I had disable the plugin, so there is no more queries with
pg_freespacemap, and no crash.
--
Sébastien Lardière