So this is what happened with upgrading from 5.2.6 to 5.2.7.
On step 13 running post rebuilt processes - fatal error at
PHP Code:
[19-Oct-2015 22:38:48 America/Los_Angeles] PHP Fatal error: Call to a member function getShippingMarkups() on a non-object in /var/www/xc5/xcart52x/classes/XLite/Module/XC/FreeShipping/upgrade/5.2/6/post_rebuild.php on line 37
[19-Oct-2015 22:38:48] Error (code: 1): Call to a member function getShippingMarkups() on a non-object
Server API: apache2handler;
Request method: GET;
URI: /xc5/xcart52x/admin.php?target=upgrade;
Backtrace:
#0 Includes\ErrorHandler::logInfo() called at [/var/www/xc5/xcart52x/Includes/ErrorHandler.php:334]
#1 Includes\ErrorHandler::handleError() called at [/var/www/xc5/xcart52x/Includes/ErrorHandler.php:319]
#2 Includes\ErrorHandler::shutdown()
The file mentioned tries to run foreach loop without checking if the variable is not empty causing the error. Putting an if statement in there fixes the error and the upgrade continues.
After all is done going to site front renders "The requested page could not be found." on any page request from the top horizontal menu. The reason being all links there are missing the "cart.php" portion. I am not sure if these links were like this before the upgrade but I know they worked. Keep in mind this is stock XC and stock XC modules. Only few of my modules are installed there but they have nothing to do with menus or links.
Forcing cache rebuilt does not fix the menu problem. So basically "www.domain.com" does not work - it has to be "www.domain.com/cart.php". This must be a bug.
Ok this turned out to be related to AllowOverride directive so now it is fixed.
So this server side directive must be set to all no matter if clean urls are in use or not.