500 Error in GUI after update to 7.13.46

To hopefully head off potential questions, for the next 24 hours or so:

An issue has been reported where, after updating to 7.13.46, the GUI shows either a 500 error or just a blank page, with something similar to the following in ~iworx/var/log/error.log:

[Tue Aug 20 16:19:48.433299 2024] [:error] [pid 8145] [client 108.39.223.160:50608] FastCGI: server "/home/interworx/var/run/iworx-web.fcgi" stderr: PHP message: PHP Warning:  require(/usr/local/interworx/vendor/phpmyadmin/motranslator/src/functions.php): failed to open stream: Permission denied in /usr/local/interworx/vendor/composer/autoload_real.php on line 73
[Tue Aug 20 16:19:48.433374 2024] [:error] [pid 8145] [client 108.39.223.160:50608] FastCGI: server "/home/interworx/var/run/iworx-web.fcgi" stderr: PHP message: PHP Warning:  require(/usr/local/interworx/vendor/phpmyadmin/motranslator/src/functions.php): failed to open stream: Permission denied in /usr/local/interworx/vendor/composer/autoload_real.php on line 73
[Tue Aug 20 16:19:48.433381 2024] [:error] [pid 8145] [client 108.39.223.160:50608] FastCGI: server "/home/interworx/var/run/iworx-web.fcgi" stderr: PHP message: PHP Fatal error:  require(): Failed opening required '/usr/local/interworx/vendor/composer/../phpmyadmin/motranslator/src/functions.php' (include_path='/usr/local/interworx/vendor/pear/archive_tar:/usr/local/interworx/vendor/pear/console_getargs:/usr/local/interworx/vendor/pear/console_getopt:/usr/local/interworx/vendor/pear/pear:/usr/local/interworx/vendor/pear/pear_exception:/usr/local/interworx/vendor/pear/structures_graph:/usr/local/interworx/vendor/pear/xml_parser:/usr/local/interworx/vendor/pear/xml_serializer:/usr/local/interworx/vendor/pear/xml_util:/usr/local/interworx/vendor/phpunit/phpunit-selenium:/usr/local/interworx/vendor/zendframework/zendframework1/library:/home/interworx/include:/home/interworx/lib/pear:/home/interworx/vendor/zendframework/zendframework1/library:/home/interworx/lib/smarty/libs:/home/interworx/lib/phpmailer:/home/interworx/lib/php-xmlrpc:/home/interworx/lib/sysinfo/includes') in /usr/local/interworx/vendor/composer/autoload_real.php on line 73

It looks like an odd issue where the quad_daily is checking for hotfixes, as it is expected to do, and it is seeing that a hotfix is available for 7.13.46. As a result, it pulls in the new iworx version.

But the quad daily does not update the other packages such as roundcube, phpmyadmin, etc. It only updates interworx and interworx-hotfix. The the daily cron is what updates the extra packages.

7.13.46 expects phpmyadmin version 5.2.1. Since phpmyadmin was not updated, it still shows as 4.9.9:

[root@quadylupdatecheck ~]# rpm -q interworx
interworx-7.13.46-2845.iworx.noarch
[root@quadylupdatecheck ~]# rpm -q interworx-phpmyadmin
interworx-phpmyadmin-4.9.9-2820.iworx.noarch
[root@quadylupdatecheck ~]#

So we’re running into a timing mismatch. I’m working with the devs, currently, to see if there is a way to mitigate this, but there may not be.

In the meantime, though, this is a super easy fix, and should only affect servers until the next time the daily cron runs. Since the daily cron runs in the early-morning hours on most servers, any servers that may be affected by this will fix themselves in the next 12 hours or so.

But to fix it quickly, manually:

If you run into this on a server, today or tomorrow, check the iworx version:

[root@quadylupdatecheck ~]# rpm -q interworx
interworx-7.13.46-2845.iworx.noarch
[root@quadylupdatecheck ~]

If it shows as 7.13.46, check the phpmyadmin version:

[root@quadylupdatecheck ~]# rpm -q interworx-phpmyadmin
interworx-phpmyadmin-4.9.9-2820.iworx.noarch
[root@quadylupdatecheck ~]#

If the iworx verison is 7.13.46 and the phpmyadmin version is 4.9.9, run the following

yum update '*.iworx.*'

That will pull in the new phpmyadmin package, which will fix the GUI error:

root@quadylupdatecheck ~]# yum update '*.iworx.*'
InterWorx Build 2820 Test - Generic                                                                                                          1.0 kB/s | 257  B     00:00
InterWorx Build 2820 Test                                                                                                                    607 kB/s | 235 kB     00:00
MariaDB 10.6
[CUT]

Upgraded:
  interworx-horde-5.2.23-2845.iworx.noarch                                           interworx-phpmyadmin-5.2.1-2845.iworx.noarch
  interworx-roundcube-1.5.8-2858.iworx.noarch                                        interworx-tests-7.13.46-2845.iworx.noarch
  iworxphp72-php-7.2.34-95.el8.iworx.x86_64                                          iworxphp72-php-bcmath-7.2.34-95.el8.iworx.x86_64
  iworxphp72-php-cli-7.2.34-95.el8.iworx.x86_64                                      iworxphp72-php-common-7.2.34-95.el8.iworx.x86_64
  iworxphp72-php-fpm-7.2.34-95.el8.iworx.x86_64                                      iworxphp72-php-gd-7.2.34-95.el8.iworx.x86_64
  iworxphp72-php-gmp-7.2.34-95.el8.iworx.x86_64                                      iworxphp72-php-imap-7.2.34-95.el8.iworx.x86_64
  iworxphp72-php-intl-7.2.34-95.el8.iworx.x86_64                                     iworxphp72-php-json-7.2.34-95.el8.iworx.x86_64
  iworxphp72-php-mbstring-7.2.34-95.el8.iworx.x86_64                                 iworxphp72-php-mysqlnd-7.2.34-95.el8.iworx.x86_64
  iworxphp72-php-pdo-7.2.34-95.el8.iworx.x86_64                                      iworxphp72-php-process-7.2.34-95.el8.iworx.x86_64
  iworxphp72-php-soap-7.2.34-95.el8.iworx.x86_64                                     iworxphp72-php-xml-7.2.34-95.el8.iworx.x86_64
  iworxphp72-php-xmlrpc-7.2.34-95.el8.iworx.x86_64                                   iworxphp72-php-zip-7.2.34-95.el8.iworx.x86_64
  qmail-5:1.03-591.rhe8x.iworx.jms.chkuser.esmtpa.ipv6.isoc.x86_64                   qmail-pop3d-5:1.03-591.rhe8x.iworx.jms.chkuser.esmtpa.ipv6.isoc.x86_64

Complete!
[root@quadylupdatecheck ~]# rpm -q interworx-phpmyadmin
interworx-phpmyadmin-5.2.1-2845.iworx.noarch
[root@quadylupdatecheck ~]#

Or, again, the issue will resolve itself the next time the daily cron runs.

If, for some reason, the issue persists after updating phpmyadmin, please submit a ticket so https://support.interworx.com, so we can take a look. Please make sure that remote assistance has been enabled via the CLI: How to Enable Remote Assistance — InterWorx documentation

Thanks,
-Jenna
Friendly Neighborhood InterWorx Support Manager

Those of you on CentOS 7 without working repos may need to disable other repos in the above command. Like:

yum --disablerepo="*" --enablerepo interworx-7-base --enablerepo interworx-7-ga --enablerepo interworx-hotfix update *.iworx.*