You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Fiber stack variables do not participate in cycle collector #9735
It's not related to WeakReferences though: just writing $d2 = \Fiber::getCurrent(); exposes the same behaviour.
The problem is that assigning the current Fiber to a variable causes a cycle, but stack variables of fibers are not participating in the cycle collection (zend_fiber_object_gc is not adding these).
Reacted by Christoph M. Becker and Arnaud Le Blanc
Activity
bwoebi commentedon Oct 13, 2022
It's not related to WeakReferences though: just writing
$d2 = \Fiber::getCurrent();exposes the same behaviour.The problem is that assigning the current Fiber to a variable causes a cycle, but stack variables of fibers are not participating in the cycle collection (zend_fiber_object_gc is not adding these).
[-]Problem in WeakReference[/-][+]Fiber stack variables do not participate in cycle collector[/+]arnaud-lb commentedon Jan 13, 2023
Fixed in #9810
Thanks!
andypost commentedon Jan 21, 2023
Used to build PHP 8.2.2RC1 and got all added tests to fail on x86 32-bits https://gitlab.alpinelinux.org/alpine/aports/-/jobs/954955
arnaud-lb commentedon Jan 21, 2023
@andypost aports/community/php82 has a long list of ignored tests for x86 here: https://gitlab.alpinelinux.org/alpine/aports/-/blob/aee689a7757d8d3550b85a001d9c00543f71569e/community/php82/disabled-tests.x86.list. The list includes most Fibers tests, but not the new ones added by #9810.
There seems to be a more generate issue with fibers on alpine/x86/clang. I've created a separate issue: #10398