Re: DSM robustness failure (was Re: Peripatus/failures)

Поиск
Список
Период
Сортировка
От Thomas Munro
Тема Re: DSM robustness failure (was Re: Peripatus/failures)
Дата
Msg-id CAEepm=0tnAEV8TvQxKVzs6sYpan7jU=V0_FK-Osz8E8tMJb5Jg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: DSM robustness failure (was Re: Peripatus/failures)  (Thomas Munro <thomas.munro@enterprisedb.com>)
Ответы Re: DSM robustness failure (was Re: Peripatus/failures)
Список pgsql-hackers
On Thu, Oct 18, 2018 at 11:08 AM Thomas Munro
<thomas.munro@enterprisedb.com> wrote:
> On Thu, Oct 18, 2018 at 9:43 AM Thomas Munro
> <thomas.munro@enterprisedb.com> wrote:
> > On Thu, Oct 18, 2018 at 9:00 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > > I would argue that both dsm_postmaster_shutdown and dsm_postmaster_startup
> > > are broken here; the former because it makes no attempt to unmap
> > > the old control segment (which it oughta be able to do no matter how badly
> > > broken the contents are), and the latter because it should not let
> > > garbage old state prevent it from establishing a valid new segment.
> >
> > Looking.
>
> (CCing Amit Kapila)
>
> To reproduce this, I attached lldb to a backend and did "mem write
> &dsm_control->magic 42", and then delivered SIGKILL to the backend.
> Here's one way to fix it.  I think we have no choice but to leak the
> referenced segments, but we can free the control segment.  See
> comments in the attached patch for rationale.

I realised that the nearly identical code in dsm_postmaster_shutdown()
might as well destroy a corrupted control segment too.  New version
attached.

-- 
Thomas Munro
http://www.enterprisedb.com

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: DSM robustness failure (was Re: Peripatus/failures)
Следующее
От: James Coleman
Дата:
Сообщение: Re: pageinspect: add tuple_data_record()