Re: pg15.3: dereference null *plan in CachedPlanIsSimplyValid/plpgsql
В списке pgsql-hackers по дате отправления:
| От | Tom Lane |
|---|---|
| Тема | Re: pg15.3: dereference null *plan in CachedPlanIsSimplyValid/plpgsql |
| Дата | |
| Msg-id | 584104.1689868532@sss.pgh.pa.us обсуждение |
| Ответ на | pg15.3: dereference null *plan in CachedPlanIsSimplyValid/plpgsql (Justin Pryzby <pryzby@telsasoft.com>) |
| Список | pgsql-hackers |
Justin Pryzby <pryzby@telsasoft.com> writes:
> A production instance crashed like so.
Oh, interesting. Apparently we got past the "Has cache invalidation fired
on this plan?" check:
if (!plansource->is_valid || plan != plansource->gplan || !plan->is_valid)
return false;
because "plan" and "plansource->gplan" were *both* null, which is
a case the code wasn't expecting. plansource.c seems to be paranoid
about gplan possibly being null everywhere else but here :-(
> Note that the prior query seems to have timed out in the same / similar plpgsql
> statement:
Hm. Perhaps that helps explain how we got into this state. It must
be some weird race condition, given the lack of prior reports.
Anyway, adding a check for plan not being null seems like the
obvious fix.
regards, tom lane
В списке pgsql-hackers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера