Ver 5.7+ Timeout at Installing Block Types on IBM i w/Zend Server

Permalink
I'm trying to get Ver 5.7+ to install on an IBM i system. It's running Zend Server 8.5.6 (w PHP 5.6) and Mysql is 5.1.59. InnoDB is a valid storage engine.

The install goes through the prerequisites, and passes. Then starts the install. The databases are all created (confirmed they are InnoDB) with the exception of PageSearchIndex and PageStatistics that show MyISAM. It stalls at the point where it says Installing Block Types.

I am able to get 5.6.3.4 to work without any issues. I can't seem to narrow this down with any logs that show an error. Has anyone else been able to get Ver 5.7+ to instlal on an IBM i server?

 
drdobell replied on at Permalink Reply
When it timesouts, this is what displays:



concrete5









Install concrete5

Version 5.7.3.1
An exception occurred while executing 'INSERT INTO BlockTypes (btIgnorePageThemeGridFrameworkContainer, btHandle, btName, btDescription, btCopyWhenPropagate, btIncludeAll, btIsInternal, btSupportsInlineEdit, btSupportsInlineAdd, btInterfaceHeight, btInterfaceWidth, pkgID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)' with params [0, "core_area_layout", "Area Layout", "Proxy block for area layouts.", 0, 0, 1, 1, 1, "400", "400", 0]: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'core_area_layout' for key 'btHandle'.

Trace:
#0 /www/zendsvr6/htdocs/concrete57/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Statement.php(167): Doctrine\DBAL\DBALException::driverExceptionDuringQuery(Object(PDOException), 'INSERT INTO Blo...', Array) #1 /www/zendsvr6/htdocs/concrete57/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php(279): Doctrine\DBAL\Statement->execute() #2 /www/zendsvr6/htdocs/concrete57/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(966): Doctrine\ORM\Persisters\BasicEntityPersister->executeInserts() #3 /www/zendsvr6/htdocs/concrete57/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(335): Doctrine\ORM\UnitOfWork->executeInserts(Object(Doctrine\ORM\Mapping\ClassMetadata)) #4 /www/zendsvr6/htdocs/concrete57/concrete/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(389): Doctrine\ORM\UnitOfWork->commit(NULL) #5 /www/zendsvr6/htdocs/concrete57/concrete/src/Block/BlockType/BlockType.php(178): Doctrine\ORM\EntityManager->flush() #6 /www/zendsvr6/htdocs/concrete57/concrete/src/Backup/ContentImporter.php(406): Concrete\Core\Block\BlockType\BlockType::installBlockType('core_area_layou...') #7 /www/zendsvr6/htdocs/concrete57/concrete/src/Backup/ContentImporter.php(73): Concrete\Core\Backup\ContentImporter->importBlockTypes(Object(SimpleXMLElement)) #8 /www/zendsvr6/htdocs/concrete57/concrete/src/Backup/ContentImporter.php(60): Concrete\Core\Backup\ContentImporter->doImport(Object(SimpleXMLElement)) #9 /www/zendsvr6/htdocs/concrete57/concrete/src/Package/StartingPointPackage.php(127): Concrete\Core\Backup\ContentImporter->importContentFile('/www/zendsvr6/h...') #10 [internal function]: Concrete\Core\Package\StartingPointPackage->install_blocktypes() #11 /www/zendsvr6/htdocs/concrete57/concrete/controllers/Install.php(286): call_user_func(Array) #12 [internal function]: Concrete\Controller\Install->run_routine('elemental_full', 'install_blockty...') #13 /www/zendsvr6/htdocs/concrete57/concrete/src/Controller/AbstractController.php(156): call_user_func_array(Array, Array) #14 /www/zendsvr6/htdocs/concrete57/concrete/src/Routing/ControllerRouteCallback.php(25): Concrete\Core\Controller\AbstractController->runAction('run_routine', Array) #15 /www/zendsvr6/htdocs/concrete57/concrete/src/Routing/Router.php(59): Concrete\Core\Routing\ControllerRouteCallback->execute(Object(Concrete\Core\Http\Request), Object(Concrete\Core\Routing\Route), Array) #16 /www/zendsvr6/htdocs/concrete57/concrete/src/Support/Facade/Facade.php(116): Concrete\Core\Routing\Router->execute(Object(Concrete\Core\Routing\Route), Array) #17 /www/zendsvr6/htdocs/concrete57/concrete/src/Application/Application.php(342): Concrete\Core\Support\Facade\Facade::__callStatic('execute', Array) #18 /www/zendsvr6/htdocs/concrete57/concrete/src/Application/Application.php(342): Concrete\Core\Support\Facade\Route::execute(Object(Concrete\Core\Routing\Route), Array) #19 /www/zendsvr6/htdocs/concrete57/concrete/bootstrap/start.php(196): Concrete\Core\Application\Application->dispatch(Object(Concrete\Core\Http\Request)) #20 /www/zendsvr6/htdocs/concrete57/concrete/dispatcher.php(36): require('/www/zendsvr6/h...') #21 /www/zendsvr6/htdocs/concrete57/index.php(2): require('/www/zendsvr6/h...') #22 {main}
ConcreteOwl replied on at Permalink Reply
ConcreteOwl
Why are you trying to install an old version (5.7.3.1) instead of the latest 5.7.5.13 version?
ConcreteOwl replied on at Permalink Reply
ConcreteOwl
As a test I just tried to install 5.7.3.1 on my wamp server and that version failed to install with a similar message to the one you are seeing..
Whereas 5.7.5.13 installed flawlessly..
drdobell replied on at Permalink Reply
I originally tried 8.0.3 and received the same results. Then I started working backward to see if I could get 5.7.3 to work.

It would only install correctly when I used 5.6.3.4

I see there is a new 8.1.0 I can try that and see if it makes a difference. Or try 5.7.5.11
ConcreteOwl replied on at Permalink Reply
ConcreteOwl
5.6.3.4 uses MyISAM database tables which need far less resources than the InnoDB tables that 5.7.and 5.8 use.
Many members have had problems with 5.8 timing out on install and that is probably due to insufficient resources to get the install completed before it times out.
I had many time outs occurring until I increased the available RAM for WAMP server, the installs are still slow but they do complete with in the time allowed by the server settings.
drdobell replied on at Permalink Reply
I'll give 8.1 a try. Does the RAM setting refer to memory_limit parameter? Mine is currently set to 128M in php.ini. There are a few other timeout limits in there. I'm not sure which ones might make a difference.
ConcreteOwl replied on at Permalink Reply
ConcreteOwl
No the ram setting is in the MySql my.ini file.
Here are my settings copied from my wamp server
; You can set .._buffer_pool_size up to 50 - 80 %
; of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 2048M
; Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 512M
innodb_log_buffer_size = 32M
innodb_flush_log_at_trx_commit = 0
innodb_lock_wait_timeout = 60
innodb_flush_method=normal
drdobell replied on at Permalink Reply
That didn't seem to make a difference. With Ver 8.1.0 I still get the following error:

Request Time-Out
Server timeout waiting for the HTTP request from the client

At the same point - Adding Block Types.

My server log has an error that says:
Can not read response from /usr/local/zendsvr6/bin/php-cgi.bin
and
A remote host did not respond within the timeout period.

I've tried from Chrome and from Internet Explorer. To see if it makes any kind of difference.

After a little more research, changes to my.cnf on the IBM i don't take affect if there is public write authority to the file. However, when I change the authority, mysql won't start. So I must have some other issue as well. Guess I need to dig a little further.
drdobell replied on at Permalink Reply
I solved my problem. I was able to install 8.1 using the command line. It did take longer than I thought it would at the "Install block types" step, but it did eventually install everything. My issue after that was my authorities had to be changed as the user name I used for the command line wasn't the QTMHHTTP user required on the IBM i. After it was installed, I was able to use it just like 5.6. I'm sure there is a setting that I could change for the timeout but I couldn't find it. In the end, this worked.
drdobell replied on at Permalink Reply
For future reference, for anyone else that might be using IBM i/Zend Sever, it definitely works doing the manual install as I did above. I also tried installing SugarCRM and had a similar timeout issue for the install.

The solution, which I believe solves both is changing the RequestTimeout parameter in the file:

/www/zendsvr6/conf/fastcgi.conf

The parameter is on the first line after the comment, way to the right, and defaults to 60. I changed it to 600 for the install. Restarted the apache instance and the install worked for SugarCRM. It should work for Concrete5 also. I switched it back after the install.