[php-src] Issue #24265: Unwind/GracefulExit discarded in zend_fiber_execute()

From: Date: Sun, 11 Oct 2026 16:30:39 +0000
Subject: [php-src] Issue #24265: Unwind/GracefulExit discarded in zend_fiber_execute()
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-252976@lists.php.net to get a copy of this message
Issue: https://github.com/php/php-src/issues/24265 Author: iluuu1994 ### Description zend_fiber_execute() calls zend_clear_exception() but doesn't transfer Unwind-/GracefulExits back to the calling context when the fiber has been destroyed. This happens when the fiber is resumed for finally. ```php <?php $fiber = new Fiber(function () { try { Fiber::suspend(); } finally { exit(1); } }); $fiber->start(); echo "Before destroy\n"; unset($fiber); echo "Not reached\n"; ``` Resulted in this output: ``` Before destroy Not reached ``` But I expected this output instead: ``` Before destroy ``` ### PHP Version ```plain 8.2+ ``` ### Operating System _No response_

« previous php.bugs (#252976) next »