modmore / ClientConfig

ClientConfig is a MODX Revolution Extra to allow clients to maintain settings in a user friendly way.
https://docs.modmore.com/en/Open_Source/ClientConfig/index.html
MIT License
28 stars 27 forks source link

Fatal error: Uncaught TypeError: array_merge() #211

Open lottaar opened 5 months ago

lottaar commented 5 months ago

Summary

Suddenly got fatal error in both front-end and Manager when working on the site. Solved by manually emptying core/cache.

Step to reproduce

Occurred when editing a chunk or a Fred element

Observed behavior

Fatal error: Uncaught TypeError: array_merge(): Argument #2 must be of type array, int given in /Users/lotta/Sites/wib3-master/core/src/Revolution/modLexicon.php:242 Stack trace: #0 /Users/lotta/Sites/wib3-master/core/src/Revolution/modLexicon.php(242): array_merge(Array, 1) #1 /Users/lotta/Sites/wib3-master/core/components/clientconfig/model/clientconfig/clientconfig.class.php(66): MODX\Revolution\modLexicon->load('clientconfig:de...') #2 /Users/lotta/Sites/wib3-master/core/vendor/xpdo/xpdo/src/xPDO/xPDO.php(1260): ClientConfig->__construct(Object(MODX\Revolution\modX), Array) #3 /Users/lotta/Sites/wib3-master/core/cache/includes/elements/modx/revolution/modplugin/9.include.cache.php(51): xPDO\xPDO->getService('clientconfig', 'ClientConfig', '/Users/lotta/Si...') #4 /Users/lotta/Sites/wib3-master/core/src/Revolution/modScript.php(88): include('/Users/lotta/Si...') #5 /Users/lotta/Sites/wib3-master/core/src/Revolution/modX.php(1706): MODX\Revolution\modScript->process(NULL) #6 /Users/lotta/Sites/wib3-master/core/src/Revolution/modX.php(581): MODX\Revolution\modX->invokeEvent('OnMODXInit', Array) #7 /Users/lotta/Sites/wib3-master/manager/index.php(54): MODX\Revolution\modX->initialize('mgr') #8 {main} thrown in /Users/lotta/Sites/wib3-master/core/src/Revolution/modLexicon.php on line 242

Environment

ClientConfig 2.4.0 Fred 2.1.6 Collections 4.1.0 MODX 3.0.4 MAMP PHP 8.2

Mark-H commented 5 months ago

That looks like the lexicon cache file may have gotten corrupted. Unless that's a common/reproducible error, I don't think that's something in our control.