View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001168 | Xdebug | Uncategorized | public | 2015-06-23 08:21 | 2016-12-04 18:33 |
| Reporter | phil-lavin | Assigned To | |||
| Priority | normal | Severity | block | Reproducibility | random |
| Status | closed | Resolution | fixed | ||
| OS | Debian 8 | OS Version | 3.16.0-4-amd64 | ||
| Product Version | 2.2.6 | ||||
| Fixed in Version | 2.5.0 | ||||
| Summary | 0001168: Possible infinite loop when PHP's executor shuts down | ||||
| Description | I've had random PHP-FPM processes consuming 100% of CPU whilst being unable to interrogate them via most means (e.g. strace). I spent a lot of time pulling info on the process to little avail however, finally, the below GDB backtraces show the process stuck in a while loop within xdebug shutdown code. | ||||
| Steps To Reproduce | Hard to reproduce - will probably happen to a single php-fpm process once or twice a month. | ||||
| Additional Information |
Other debug info gathered is as follows: /proc/$PID/fd: 2 sockets, and a deleted /tmp file | ||||
| Tags | No tags attached. | ||||
| Operating System | |||||
| PHP Version | 5.6.5-5.6.9 | ||||
|
|
Hmm, this issue has been reported before, but I could never find why it happens, as it seems so difficult to reproduce. Is there a way how you can (reliably) reproduce this? Do you know with which request/code path this happens? Is it in a single or multi-threaded environment? |
|
|
Hi Derick, I can guarantee that it'll happen some time in the next month but I cannot easily reproduce on a whim. It's a single threaded php-fpm implementation. I'll be at phpwarks tonight if you want to discuss or poke around the affected server. |
|
|
I can see that it's stuck here: with tail == NULL llist_remove() immediately returns, but the l->size is still 1 (in my case), so this loop has no end. |
|
|
Good luck Antony! I never managed :-/ |
|
|
Changing this to "acknowledged", but I won't work on this unless somebody shows me a reproducible case. |
|
|
Is this something either of you have been able to conclusively reproduce yet? If not, I think I will close this issue. |
|
|
I have added the defensive check for 2.5.0RC2. |