Re: BUG #17098: Assert failed on composing an error message when adding a type to an extension being dropped

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #17098: Assert failed on composing an error message when adding a type to an extension being dropped
Дата
Msg-id 2468663.1626017338@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #17098: Assert failed on composing an error message when adding a type to an extension being dropped  (PG Bug reporting form <noreply@postgresql.org>)
Список pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> When trying to add to an extension a type that is already exists in the
> extension while the extension is being dropped I get a failed assertion with
> the following stack:

I think that the root issue here is that ExecAlterExtensionContentsStmt
fails to acquire any sort of lock on the extension.  Considering that
it *does* lock the object to be added/dropped, that's a rather glaring
oversight.  Fortunately it seems easily fixable ... though I wonder
how many other similar oversights we have.

However, that root issue is converted from a relatively minor bug into
a server crash because snprintf.c treats a NULL pointer passed to %s
as a crash-worthy error.  I have advocated for that behavior in the
past, but I'm starting to wonder if it wouldn't be wiser to change
over to the glibc-ish behavior of printing "(null)" or the like.
It seems like we've long since found all the interesting bugs that
the assert-or-crash behavior could reveal, and now we're down to
weird corner cases where its main effect is to weaken our robustness.

Thoughts?

            regards, tom lane



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

Предыдущее
От: Евгений Илюшин
Дата:
Сообщение: Re: BUG #17099: Problem with EXECUTE and JSON
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: BUG #16792: silent corruption of GIN index resulting in SELECTs returning non-matching rows