-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Assertion failure in Zend/zend_builtin_functions.c:1893 #16230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
That assertion was added in #15952, but the assert just seems to ignore the existance of fibers afaict |
Test can be simplified to:
I cannot trigger this with |
It seems Lines 91 to 95 in 6c5749f
Apparently, this is ok for the top function, as it exists the loop: php-src/Zend/zend_builtin_functions.c Lines 1898 to 1902 in 6c5749f
I don't know if there are any extensions that do this, but it seems like they would have already reported the issue if so. So maybe let's just set it to a dummy function? diff --git a/ext/zend_test/fiber.c b/ext/zend_test/fiber.c
index 30dbfa06e5..4518c26c6f 100644
--- a/ext/zend_test/fiber.c
+++ b/ext/zend_test/fiber.c
@@ -91,6 +91,7 @@ static ZEND_STACK_ALIGNED void zend_test_fiber_execute(zend_fiber_transfer *tran
execute_data = (zend_execute_data *) stack->top;
memset(execute_data, 0, sizeof(zend_execute_data));
+ execute_data->func = (zend_function *) &zend_pass_function;
EG(current_execute_data) = execute_data;
EG(jit_trace_num) = 0; We can also remove the assert, if you think that's preferable. |
@iluuu1994 Your patch suggestion makes sense to me. |
Description
The following code:
Resulted in this output:
Not sure if it can be triggered in other ways without testclass.
PHP Version
PHP 8.4.0-dev
Operating System
ubuntu 22.04
The text was updated successfully, but these errors were encountered: