8.5.4: Call to a member function setBlockCollectionObject() on boolean after server gateway timeout
Permalink
I've changed my mod_php for php-fpm and started having issues with installing packages which used to be installed without any problems.
First I had a
error. I've uninstalled the package, installing it again and it throws an exception:
which leads to /srv/www/htdocs/c584/concrete/src/Entity/Block/BlockType/BlockType.php at line 658:
I've never ever had this error before. I haven't touched the code.
Could it be a database corruption which happened during the timeout? I can't think it may be the package error because I used the same code in many packages and that never happened until now.
The timeout happened a few times until I increased the php default_socket_timeout from 60 to 600 (as I read on the internet that may cause the timeout). Is there anything else I have to set in php for better use of php-fpm?
First I had a
Gateway Timeout
The gateway did not receive a timely response from the upstream server or application.
error. I've uninstalled the package, installing it again and it throws an exception:
Call to a member function setBlockCollectionObject() on boolean
which leads to /srv/www/htdocs/c584/concrete/src/Entity/Block/BlockType/BlockType.php at line 658:
$nb->setBlockCollectionObject($c);
I've never ever had this error before. I haven't touched the code.
Could it be a database corruption which happened during the timeout? I can't think it may be the package error because I used the same code in many packages and that never happened until now.
The timeout happened a few times until I increased the php default_socket_timeout from 60 to 600 (as I read on the internet that may cause the timeout). Is there anything else I have to set in php for better use of php-fpm?
Wow... I've disabled SSL and mod_rewrite and everything's working perfectly again.
As I explained in my other post on server timeout, this exception is related to the server time out I had. After repeating the server setup and reinstalling the package, I got the same timeout once and from then on every single package installation fails with that error.
It looks to me as the database has been corrupted. Deducing the cryptic message, looks like it tried to do something with a block, it might have then timed out, it recorded something in the DB but because of the failed installation it can't get through that step anymore.
Where can I find that block think it's trying to locate in /srv/www/htdocs/c584/concrete/src/Entity/Block/BlockType/BlockType.php at line 658:
It looks to me as the database has been corrupted. Deducing the cryptic message, looks like it tried to do something with a block, it might have then timed out, it recorded something in the DB but because of the failed installation it can't get through that step anymore.
Where can I find that block think it's trying to locate in /srv/www/htdocs/c584/concrete/src/Entity/Block/BlockType/BlockType.php at line 658:
$nb->setBlockCollectionObject($c);
Looks like I've fixed it.
I've deleted all block types in the DB related to my package and now all is good, installs/uninstalls fine.
So it was definitely a corrupted install after the timeout.
I've deleted all block types in the DB related to my package and now all is good, installs/uninstalls fine.
So it was definitely a corrupted install after the timeout.