modxcms / revolution

MODX Revolution - Content Management Framework
https://modx.com/
GNU General Public License v2.0
1.36k stars 529 forks source link

[3.x] When upgrading from 2.8.x to 3.0.0-alpha3 installed extras can prevent setup from completing. #15445

Open muzzwood opened 3 years ago

muzzwood commented 3 years ago

Bug report

Summary

When upgrading from 2.8.x to 3.0.0-alpha3 (latest nightly) I was able to get to this step:

Screenshot_2021-03-05 MODX Revolution 3 0 0-alpha3 » Install

Then, when clicking next, I was presented with the following error:

Fatal error: require_once(): Failed opening required '/var/www/html/core/model/modx/modcachemanager.class.php' (include_path='.:/usr/local/lib/php') in /var/www/html/core/components/admintools/services/admintools.class.php on line 633

So it appears to be the AdminTools extra which uses a require_once to a file that has been moved (modcachemanager.class.php) in 3.x

Step to reproduce

Upgrade to 3-alpha with AdminTools installed (or another extra that references a file in the same way)

Observed behavior

The install had effectively completed so I was able to remove the extra manually (in the db) and complete the setup.

Expected behavior

Extras should not be able to prevent the setup from completing.

Environment

MODX 2.8.1 --> 3.0.0-alpha3, nginx, PHP 7.4, Mysql 8.

Mark-H commented 3 years ago

Would love some input from @opengeek on this as well, but my impression is that the setup should probably not try to load extension packages or plugins in any way.

JoshuaLuckers commented 3 years ago

Would love some input from @opengeek on this as well, but my impression is that the setup should probably not try to load extension packages or plugins in any way.

Even if the extensions and plugins are not loading during setup, and setup is completed successfully, won't this break the manager afterwards?

Mark-H commented 3 years ago

Fair point. I'm also not immediately seeing what may be causing the extension to get fired so not sure how it could be addressed atm either.