On 2025-Mar-12, Amit Langote wrote: > I was able to construct a test case that crashes due to this bug: > > CREATE TYPE mood AS ENUM ('happy', 'sad', 'neutral'); > CREATE FUNCTION mood_to_json(mood) RETURNS json AS $$ > SELECT to_json($1::text); > $$ LANGUAGE sql IMMUTABLE; > CREATE CAST (mood AS json) WITH FUNCTION mood_to_json(mood) AS IMPLICIT; > > SELECT JSON_OBJECT('happy'::mood: '123'::jsonb); > server closed the connection unexpectedly
Good reaction time :-) I see that that line shows as not even uncovered in the report, but as non-existant (no background color as opposed to red): https://coverage.postgresql.org/src/backend/utils/adt/jsonb.c.gcov.html#660 Evidently the compiler must be optimizing it out as dead code. -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ "Update: super-fast reaction on the Postgres bugs mailing list. The report was acknowledged [...], and a fix is under discussion. The wonders of open-source !" https://twitter.com/gunnarmorling/status/1596080409259003906