Upgrade 2.8.7 to 3.0.5: Uncaught Error: Interface "modMediaSourceInterface" not found

Hi!

I’m trying to upgrade a 12 year old modx-site to 3.0.5. It was always updated to the latest MODX-version and all the packages were kept recent, too.

So I purged all packages that are known to be troublesome and removed everything unneccessary but after an upgrade attempt (on the copy) I get an error 500 (on the frontend as well as on the manager) and the php-log shows me this error and trace:

[17-Jun-2024 02:53:08 Europe/Berlin] PHP Fatal error:  Uncaught Error: Interface "modMediaSourceInterface" not found in /www/htdocs/XXXXX/modx-2012/core/components/gallery/model/gallery/galleryalbumsmediasource.class.php:5
Stack trace:
#0 /www/htdocs/XXXXX/modx-2012/core/components/gallery/model/gallery/mysql/galleryalbumsmediasource.class.php(5): require_once()
#1 /www/htdocs/XXXXX/modx-2024/core/vendor/xpdo/xpdo/src/xPDO/xPDO.php(679): include_once('/www/htdocs/w00...')
#2 /www/htdocs/XXXXX/modx-2024/core/vendor/xpdo/xpdo/src/xPDO/xPDO.php(657): xPDO\xPDO->_loadClass('GalleryAlbumsMe...', 'gallery.mysql.g...', false, '/www/htdocs/w00...', false)
#3 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modX.php(2549): xPDO\xPDO->loadClass('mysql.galleryal...', '', false, false)
#4 /www/htdocs/XXXXX/modx-2024/core/vendor/xpdo/xpdo/src/xPDO/xPDO.php(808): MODX\Revolution\modX->loadClass('GalleryAlbumsMe...')
#5 /www/htdocs/XXXXX/modx-2024/core/vendor/xpdo/xpdo/src/xPDO/Om/xPDOObject.php(307): xPDO\xPDO->newObject('GalleryAlbumsMe...')
#6 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modAccessibleObject.php(38): xPDO\Om\xPDOObject::_loadInstance(Object(MODX\Revolution\modX), 'MODX\\Revolution...', Object(xPDO\Om\mysql\xPDOQuery), Array)
#7 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modAccessibleObject.php(70): MODX\Revolution\modAccessibleObject::_loadInstance(Object(MODX\Revolution\modX), 'MODX\\Revolution...', Object(xPDO\Om\mysql\xPDOQuery), Array)
#8 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modAccessibleObject.php(188): MODX\Revolution\modAccessibleObject::_loadCollectionInstance(Object(MODX\Revolution\modX), Array, 'MODX\\Revolution...', Object(xPDO\Om\mysql\xPDOQuery), Array, false, true)
#9 /www/htdocs/XXXXX/modx-2024/core/vendor/xpdo/xpdo/src/xPDO/xPDO.php(782): MODX\Revolution\modAccessibleObject::loadCollection(Object(MODX\Revolution\modX), 'MODX\\Revolution...', Object(xPDO\Om\mysql\xPDOQuery), true)
#10 /www/htdocs/XXXXX/modx-2024/core/vendor/xpdo/xpdo/src/xPDO/xPDO.php(863): xPDO\xPDO->call('sources.modMedi...', 'loadCollection', Array)
#11 /www/htdocs/XXXXX/modx-2024/core/components/imageplus/src/ImagePlus.php(168): xPDO\xPDO->getCollection('sources.modMedi...')
#12 /www/htdocs/XXXXX/modx-2024/core/components/imageplus/src/ImagePlus.php(103): TreehillStudio\ImagePlus\ImagePlus->loadSourceMap()
#13 /www/htdocs/XXXXX/modx-2024/core/vendor/xpdo/xpdo/src/xPDO/xPDO.php(1260): TreehillStudio\ImagePlus\ImagePlus->__construct(Object(MODX\Revolution\modX), Array)
#14 /www/htdocs/XXXXX/modx-2024/core/cache/includes/elements/modx/revolution/modplugin/35.include.cache.php(16): xPDO\xPDO->getService('imageplus', 'ImagePlus', '/www/htdocs/w00...', Array)
#15 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modScript.php(88): include('/www/htdocs/w00...')
#16 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modX.php(1706): MODX\Revolution\modScript->process(NULL)
#17 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modTemplateVar.php(563): MODX\Revolution\modX->invokeEvent('OnTVOutputRende...', Array)
#18 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modTemplateVar.php(308): MODX\Revolution\modTemplateVar->getRenderDirectories('OnTVOutputRende...', 'output')
#19 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modTemplateVar.php(159): MODX\Revolution\modTemplateVar->renderOutput('12')
#20 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modParser.php(499): MODX\Revolution\modTemplateVar->process(NULL)
#21 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modParser.php(221): MODX\Revolution\modParser->processTag(Array, false)
#22 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modParser.php(402): MODX\Revolution\modParser->processElementTags('[[!Gallery? &al...', '!Gallery? &albu...', false)
#23 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modParser.php(221): MODX\Revolution\modParser->processTag(Array, false)
#24 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modTemplate.php(147): MODX\Revolution\modParser->processElementTags('[[47fcf79af5c60...', '[[$header]]\n\n<d...', false, false, '[[', ']]', Array, 9)
#25 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modResource.php(485): MODX\Revolution\modTemplate->process()
#26 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modResource.php(465): MODX\Revolution\modResource->process()
#27 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modResponse.php(72): MODX\Revolution\modResource->prepare()
#28 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modRequest.php(154): MODX\Revolution\modResponse->outputContent(Array)
#29 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modRequest.php(138): MODX\Revolution\modRequest->prepareResponse()
#30 /www/htdocs/XXXXX/modx-2024/core/src/Revolution/modX.php(1499): MODX\Revolution\modRequest->handleRequest()
#31 /www/htdocs/XXXXX/modx-2024/index.php(63): MODX\Revolution\modX->handleRequest()
#32 {main}
  thrown in /www/htdocs/XXXXX/modx-2012/core/components/gallery/model/gallery/galleryalbumsmediasource.class.php on line 5

Any idea how to salvage this?

PS: PHP8.3

The problem is caused by the extra “Gallery”.
Check your media sources. Maybe remove the ‘Gallery Media Source’ (if you don’t need it) or try to update it.

Deleting the gallery-mediasource fixed it!

Thank you!