php-fpm: fix Solaris port events.mechanism#6913
Conversation
sapi/fpm/fpm/events/port.c
Outdated
| ev = (struct fpm_event_s *)events[i].portev_user; | ||
|
|
||
| /* TODO: Escalate an error? */ | ||
| fpm_event_port_add(ev); |
There was a problem hiding this comment.
Is this part still needed? I remember that this might have not been port specific and possibly might be addressed by this commit 0ed6c37 from @nikic if I understand the description of the patch (comment from Rainer in the bug report). There has been some other changes to signal handling from @plmnikulin that could possibly resolve this.
@psumbera can you try it without this change and confirm if it's still needed?
|
I can confirm that it works fine even without the second part of the original patch. |
|
@psumbera Looks good. Please can you squash it to a single commit (push force it to this PR) and if you think it should go to PHP-7.4 (it means if you tested that in 7.4), then please change base branch of this PR to PHP-7.4. I will merge it then. |
Bug #65800 Fix by: [email protected]
98ec621 to
bc9e791
Compare
|
@psumbera something has gone wrong with the rebase |
|
Sorry, I don't really know how to change base branch to PHP-7.4 without making mess. Leaving it now at master branch. |
|
Merged as 04078a5 |
|
@krakjoe not sure how this happened. But there is missing ';' after 'int ret'. Can you please have look at it? |
|
@psumbera has this been actually tested against 7.4? That was the main reason why I didn't merge it before... |
|
Yes I have tested it on 7.4. |
|
Strangely, it seems that I do encounter the zombie behavior with PHP 7.4.26 on Solaris 11.4 SRU 44 running Nextcloud 22.2.7 as it is described in the third paragraph of Rainer Jung's message from [2015-09-20 08:33 UTC] posted here. The PHP binary I use comes from Oracle and has been built using GCC as described here. The behavior I see is as follows: After a few days, I get more and more zombie processes of PHP-FPM workers on my system. When doing a "truss", I see a behavior which seems to fit quite well to Rainer Jung's description:
While the server is running for a few days, I collect more and more zombies. I do see this on at least three non-global Solaris zones. Unfortunately, I cannot say, when the problem has started to occur. Due to a security problem in FPM a few months ago, I switched back from PHP-FPM to Apache module usage. In the former times (when I was using FPM), I never realized the problem. |
I was wrong. Call to fpm_event_port_add() is really needed. |
Bug #65800
Fix by: [email protected]