No request delivery notification has been received from LSAPI application, possible dead lock.

#1
Hi,
My website's server log is full of "No request delivery notification has been received from LSAPI application, possible dead lock." and "ExtConn timed out while processing." messages.

I'm using LSPHP 8.1, connection timeout is set to 600secs, PHP_LSAPI_CHILDREN=10

I tried to find the root cause for the issue by disabling all WordPress plugins, but even with a pure WordPress installation with zero enabled plugins and standard WordPress theme, the error is still appearing.

Any idea what could be causing this?
 

Cold-Egg

Administrator
#2
What's the output of the following command?
Code:
ps aux | grep php
If you did not hit the process limit, does any simple PHP e.g. phpinfo page loadable?
 
#3
Hi,
The website itself is working, phpinfo, too. it is just the logfiles which are flooded with the "No request delivery notification has been received from LSAPI application, possible dead lock." and "ExtConn timed out while processing." messages.

Attached the screenshot with the ps aux | grep php output. I increased the PHP_LSAPI_CHILDREN limit to 100 in the meantime as I got in the STD_ERR log also the message, that it was reaching the limit of 10. This error message is gone now, but the deadlock and ExtConn messages are still there.
 

Attachments

Cold-Egg

Administrator
#6
@LiteCache

I just tried a long-run script to verify it, and "RewriteRule .* - [E=noabort:1,E=noconntimeout:1]" seems to be working in my case. Just want to share it with you, maybe you can also give it a try. :)
 
#7
@Cold-Egg

That's very strange. No matter what attempts I read from numerous users, they all come to the conclusion that these directives do not work in OLS, so I can only conclude from your answer that it must be due to the type of script and process. Can you tell me how you tested this?
 

Cold-Egg

Administrator
#8
Sure, my test env is simple,

1. max_execution_time=120
2. RewriteRule and Rewrite log Level 9 are Enabled
3. Add the following script under the doc root with any name you want
Code:
<?php

set_time_limit(0);

$i = 0;

while($i < 1000) {

    echo $i.'<br />';

    if($i == 900){
        echo 'sleeping 900 secs<br />';
        sleep(900);
        echo 'waking up<br />';
    }

    $i++;
}

?>
Visit the script from the browser and got a timeout error after a while.

Then add "RewriteRule .* - [E=noabort:1,E=noconntimeout:1]" to the top of the .htaccess file and restart OLS.
Test it again, and the page loads after 15 minutes.

And following add ENV shown in the error log as well.
Code:
[REWRITE] add ENV: 'noabort:1'
[REWRITE] add ENV: 'noconntimeout:1'
 
#10
Sure, my test env is simple,

1. max_execution_time=120
2. RewriteRule and Rewrite log Level 9 are Enabled
3. Add the following script under the doc root with any name you want
Code:
<?php

set_time_limit(0);

$i = 0;

while($i < 1000) {

    echo $i.'<br />';

    if($i == 900){
        echo 'sleeping 900 secs<br />';
        sleep(900);
        echo 'waking up<br />';
    }

    $i++;
}

?>
Visit the script from the browser and got a timeout error after a while.

Then add "RewriteRule .* - [E=noabort:1,E=noconntimeout:1]" to the top of the .htaccess file and restart OLS.
Test it again, and the page loads after 15 minutes.

And following add ENV shown in the error log as well.
Code:
[REWRITE] add ENV: 'noabort:1'
[REWRITE] add ENV: 'noconntimeout:1'
Does this effect all subdirectories under the root directory if I update them in the root .htaccess file?
 
Top