Pretty strange, since the error in question literally checks "$wgBaseDirectory !== MW_INSTALL_PATH".  Maybe there's something weird going on because of the order in which the files are initialized.

What does it output if you add debugging checks for $wgBaseDirectory and MW_INSTALL_PATH after line 235 in Setup.php?

On Sun, Jul 3, 2022 at 6:19 PM Jeffrey T. Darlington <jeff.darlington@gmail.com> wrote:
Thanks for the suggestions, but no luck here.  I did indeed have the old "$IP = MW_INSTALL_PATH" block.  But if I comment that out, I still get the same "Unable to open file /Vector/skin.json" error.  Same goes for the "$wgBaseDirectory = MW_INSTALL_PATH" suggestion; that gives me the "$wgBaseDirectory must not be modified in settings files!" error.  Neither option seems to work for me.

Jeffrey T. Darlington
General Protection Fault
https://www.gpf-comics.com/

On Sun, Jul 3, 2022 at 2:57 PM Benjamin Lees <emufarmers@gmail.com> wrote:
Of course, you have reached the point where I didn't have a way forward. :-)

A bit of background information: I believe the change that release note refers to is this: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/757744

One possible culprit: Antique versions of MediaWiki set this snippet in LocalSettings.php at the top:

if( defined( 'MW_INSTALL_PATH' ) ) {
        $IP = MW_INSTALL_PATH;
} else {
        $IP = dirname( __FILE__ );
}

It hasn't been necessary in over a decade but will still probably be there if you installed in the olden days.  I'm not sure it would be causing problems here, but you might want to try removing it.

If that doesn't help, see if this brute-force approach fixes it temporarily:

$wgBaseDirectory = MW_INSTALL_PATH;

Let us know if any of that works.





On Sun, Jul 3, 2022 at 12:38 PM Jeffrey T. Darlington <jeff.darlington@gmail.com> wrote:
Ever since the release of 1.38, I have been trying unsuccessfully to upgrade from 1.37.x. I keep running into the same issues. If I start from my current 1.37.x base, I get the following errors when I run update.php:

============================
PHP Fatal error:  Uncaught Exception: Unable to open file /Vector/skin.json: filemtime(): stat failed for /Vector/skin.json in /var/www/gpf/mediawiki-1.38.2/includes/registration/ExtensionRegistry.php:182
Stack trace:
#0 /var/www/gpf/mediawiki-1.38.2/includes/GlobalFunctions.php(89): ExtensionRegistry->queue('/Vector/skin.js...')
#1 /var/www/gpf/mediawiki-1.38.2/LocalSettings.php(305): wfLoadSkin('Vector')
#2 /var/www/gpf/mediawiki-1.38.2/includes/Setup.php(204): require_once('/var/www/gpf/me...')
#3 /var/www/gpf/mediawiki-1.38.2/maintenance/doMaintenance.php(96): require_once('/var/www/gpf/me...')
#4 /var/www/gpf/mediawiki-1.38.2/maintenance/update.php(264): require_once('/var/www/gpf/me...')
#5 {main}
  thrown in /var/www/gpf/mediawiki-1.38.2/includes/registration/ExtensionRegistry.php on line 182
============================

It looks like it's trying to load the Vector skin from the root of my file system (/Vector.skin.json). If I try to force it to look in the skins directory with something like this in LocalSettings.php:

============================
$wgStyleDirectory = "$IP/skins";
============================

I get a totally different set of errors:

============================
PHP Fatal error:  Uncaught FatalError: $wgBaseDirectory must not be modified in settings files! Use the MW_INSTALL_PATH environment variable to override the installation root directory. in /var/www/gpf/mediawiki-1.38.2/includes/Setup.php:237
Stack trace:
#0 /var/www/gpf/mediawiki-1.38.2/maintenance/doMaintenance.php(96): require_once()
#1 /var/www/gpf/mediawiki-1.38.2/maintenance/update.php(264): require_once('/var/www/gpf/me...')
#2 {main}
  thrown in /var/www/gpf/mediawiki-1.38.2/includes/Setup.php on line 237
============================

Since I haven't modified $wgBaseDirectory anywhere, including my LocalSettings.php, I'm not sure how to interpret this. I can only assume this variable is derived somehow.  I am *NOT* trying to override my installation root directory; I'm just trying to get the upgrade script to see the skins directory.

The release notes for 1.38 state: " $wgStyleDirectory and $wgExtensionDirectory – These are now set later, so can no longer be used within LocalSettings.php unless explicitly set in that file." I have no idea how to interpret that; this sentence barely makes any sense. I can no longer set this variable in LocalSetings unless I set it in LocalSettings?  The documentation here is somewhat... lacking.

At this point, I was able to get my site up to 1.37.3, but I cannot move forward to 1.38. I remember someone else posting to this list about a similar issue a few weeks ago, but I don't think they received any resolution.  The only other possible thing I can think worth mentioning is that I've been running MediaWiki for years now, so I have no idea what ancient settings might still be lurking in my LocalSettings.php file that have been retired or changed meaning over the years. I've scanned through the file multiple times now and I can't find anything to looks out of place.

Any help would be appreciated.

Jeffrey T. Darlington
General Protection Fault

_______________________________________________
MediaWiki-l mailing list -- mediawiki-l@lists.wikimedia.org
To unsubscribe send an email to mediawiki-l-leave@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/
_______________________________________________
MediaWiki-l mailing list -- mediawiki-l@lists.wikimedia.org
To unsubscribe send an email to mediawiki-l-leave@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/
_______________________________________________
MediaWiki-l mailing list -- mediawiki-l@lists.wikimedia.org
To unsubscribe send an email to mediawiki-l-leave@lists.wikimedia.org
https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/