From: | "Hiroshi Inoue" <Inoue(at)tpf(dot)co(dot)jp> |
---|---|
To: | <pgsql-hackers(at)postgresql(dot)org> |
Cc: | "Tatsuo Ishii" <t-ishii(at)sra(dot)co(dot)jp> |
Subject: | RE: vacuum crash on 6.5.3 |
Date: | 2000-12-31 04:12:35 |
Message-ID: | EKEJJICOHDIEMGPNIFIJAEECDDAA.Inoue@tpf.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Just a supplement.
Essentially this isn't a crash bug.
This had been a disastrous bug that causes data loss silently.
(This is known as 'HEAP_MOVED_IN was not expected' bug
but the result could be more serious than I've recognized.)
Please apply the patch if you still have pre-7.0 pg db-s and
you don't love data loss.
Regards.
Hiroshi Inoue
> -----Original Message-----
> From: Tatsuo Ishii
>
> > Althoug this happens on old 6.5.3, I would like to know if this has
> > been already fixed...
> >
> > Here is the scenario:
> >
> > 1) before vacuum, table A has 8850 tuples.
> >
> > 2) vacuum on table A makes postgres crashed.
> >
> > 3) it crashes at line 1758:
> >
> > Assert(num_moved == checked_moved);
> >
> > I examined variables using gdb. num_moved == 8849, check_moved ==
> > 8813, num_tuples == 18.
> >
> > 4) if PostgreSQL is not compiled with assertion, vacuum does not
> > crash. However, after vacuum, the number of tuples descreases from
> > 8850 to 8814!! (I am not sure which number is correct, though)
> >
> > I think this is an important problem since a data loss might
> > happen. Any idea?
>
> It turns out that this was caused by vacuum's bug. Thanks to Hiroshi,
> he has identified the problem. I have checked other version of
> PostgreSQL, and found that at we have had the bug at least since
> 6.3.2, and it has been fixed in 7.0. Included are patches for 6.5.3 and
> a test sript to reproduce the bug. Both of them are made by Hiroshi.
> --
> Tatsuo Ishii
>
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2000-12-31 12:06:40 | Re: GNU readline and BSD license |
Previous Message | Horst Herb | 2000-12-31 04:04:57 | heap_modifytuple() - help needed |