Re: Categorising engine bugs caused by nonsensical/malicious callback handlers as Undefined Behaviour and to not fix them
| From: | Ilia | Date: | Tue, 08 Sep 2026 12:17:28 +0000 |
| Subject: | Re: Categorising engine bugs caused by nonsensical/malicious callback handlers as Undefined Behaviour and to not fix them | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-132456@lists.php.net to get a copy of this message | ||
>
> While having C memory bugs is *far* from ideal, the fact that a majority
> of them will disappear with PHP 9 when deprecation are removed and warnings
> are promoted to Error makes this whackamole bug chase a waste of time.
> Especially as these issues have been present for *decades* and nobody
> except fuzzers and LLMs have run into these issues.
>
> As such I'd like to hear the opinions of Internals on if we can come to a
> consensus (ideally without an RFC...) that registering callbacks that mess
> around with state in non-intended ways is Undefined Behaviour (UB).
>
> While UB is far from desirable, it is not unprecedented in PHP.
>
My perspective is that memory issues in PHP that cause crashes are
generally not good and should be resolved wherever possible. While PHP 9
may address many of these issues, it is still far off and production code
migration will take even longer. Therefore, fixes now are still relevant.
That being said, I agree that fixes addressing odd/unlikely corner-cases
with a measurable performance impact are probably not-desired. My
suggestion is that this is handles on a case-by-case basis, balancing
performance impact to crash likelyhood.
--
Ilia Alshanetsky
Technologist, CTO, Entrepreneur
E: ilia@ilia.ws
T: @iliaa
B: http://ilia.ws