-
Notifications
You must be signed in to change notification settings - Fork 134
Mediator::process can return null, direct call throw fatal error #37
Comments
Good find. If you'd care to send a PR I'd be happy to merge, otherwise I'll patch this up this weekend. |
Hi ! |
Interesting. If you can provide any more context, debug output, or logging details I'd love to help interpret them. The core functionality of this library hasn't changed materially in over a year and bug reports have significantly slowed as it's become more stable, but there are certainly issues to correct! I see a possible issue (just looking at the code, not able to run it right this second)... In Core_Worker_Mediator::garbage_collect() we have a foreach() at the top that iterates by-reference into a $call variable, then we don't unset that reference, and then on 917 we assign to the $call variable. So that doesn't necessarily explain why there are null entries, but that would certainly corrupt the call objects in the calls property. And since you said you have dropped calls -- which is what this code concerns itself with -- the lights are flashing here for me that this might have something to do with it. Much of this code is a couple years old now, i feel pretty good about there being no big systemic issues, but small things like this can get you all the time. I'll get a fix for this issue up this weekend, but I'd love it if you could make the change and see if that improves things for you. Just add an unset($call) on line 896 in Mediator.php |
I tried to protect all calls and logged the mediator calls in some points. It seems that the problem occurs only in garbage_collector method as you said. |
Hi, there is still a problem... |
Mediator::process() can return null and direct call made at line 724
can raise a fatal error
The text was updated successfully, but these errors were encountered: