Subject: fastcgi freezing caused by UNB
I'm running 20090606-dev on a Debian Lenny machine with PHP 5.2.11-0.dotdeb.1 and lighttpd 1.4.19-5. PHP is run via fastCGI.
I frequently experience lockups of fastCGI processes. After some research I believe it is caused by PHP Bug 45254.
The thing is, that the very same server runs quite a few different PHP applications and rarely triggers that bug. Only the forum fastCGI processes trigger it very frequently.
Additionally this was not happening with the UNB version I ran previously, which was 1.6.4.
Unfortunately the lockup is not easily reproducible. But from my experience it usually happens on posting. To be more exact, the post seems to be saved correctly, but the lockup happens somewhere after that.
My first idea was that this might be a problem with doing output or processing after sending a redirect header. So I patched unb_lib/common_out.lib.php around line 1813:
This seems to have lowered the number of lockups a bit but did not fix the issue completely.
I realize that this is probably a really hard to track down issue, since it only happens with a certain not too common setup and even then is not easily reproducible.
However I'd appreciate any hints on what was changed between 1.6.4 and 20090606-dev that would be run after saving a post and that would somehow might abort the browser connection but keeps the PHP script going (which is what seems to trigger the PHP bug).
PS: Now that I reread my post, I notice the comment about "Problems with duplicate Status header for PHP/FastCGI". Could that be related?
I frequently experience lockups of fastCGI processes. After some research I believe it is caused by PHP Bug 45254.
The thing is, that the very same server runs quite a few different PHP applications and rarely triggers that bug. Only the forum fastCGI processes trigger it very frequently.
Additionally this was not happening with the UNB version I ran previously, which was 1.6.4.
Unfortunately the lockup is not easily reproducible. But from my experience it usually happens on posting. To be more exact, the post seems to be saved correctly, but the lockup happens somewhere after that.
My first idea was that this might be a problem with doing output or processing after sending a redirect header. So I patched unb_lib/common_out.lib.php around line 1813:
- if (!rc('no_forward'))
- {
- // make absolute URL because this doesn't care about the <base href> attribute
- {
- $baseUrl = TrailingSlash(rc('home_url'));
- if ($_SERVER['HTTPS'] == 'on')
- $url = $baseUrl . $url;
- }
- // Problems with duplicate Status header for PHP/FastCGI
- #header('Status: 303'); // HTTP/303 "See other"
- }
This seems to have lowered the number of lockups a bit but did not fix the issue completely.
I realize that this is probably a really hard to track down issue, since it only happens with a certain not too common setup and even then is not easily reproducible.
However I'd appreciate any hints on what was changed between 1.6.4 and 20090606-dev that would be run after saving a post and that would somehow might abort the browser connection but keeps the PHP script going (which is what seems to trigger the PHP bug).
PS: Now that I reread my post, I notice the comment about "Problems with duplicate Status header for PHP/FastCGI". Could that be related?

splitbrain
Show profile
Link to this post