Re: [BUG v13] Crash with event trigger in extension
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Jehan-Guillaume de Rorthais <jgdr@dalibo.com>
Cc: Michael Paquier <michael@paquier.xyz>, pgsql-bugs@lists.postgresql.org
Date: 2020-09-08T14:33:24Z
Lists: pgsql-bugs
On 2020-Sep-08, Jehan-Guillaume de Rorthais wrote: > It appears that when keeping the event trigger enabled, > currentEventTriggerState might be initiated multiple times: one for the top > level "alter extension ... update", then once per DDL query triggering en event > in the extension update script. I suppose there's no crash because the very > first currentEventTriggerState initialized at top level is overrode by next > ones, each being destroyed in their own context. So at the end of the > extension script, currentEventTriggerState is just destroyed and empty. Hmm. I spent a lot of time making sure the event trigger thing worked correctly in reentrant cases, but I don't think the case of execution of extension scripts was ever considered. So you're right that it might be broken, since it appears not to be thoroughly tested (if at all). -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Fix use-after-free bug with event triggers and ALTER TABLE.
- cc623ed2f4ac 9.6.20 landed
- 93f726c04fb1 12.5 landed
- 7978ad025478 9.5.24 landed
- 66c036b4f143 11.10 landed
- 41c742a43242 10.15 landed
-
Fix use-after-free bug with event triggers in an extension script
- ced138e8cbac 14.0 landed
- 873cb8fca9b1 13.0 landed