Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Had fatal error on site with PHP 8.1 that may be down to this module #166

Open
yorkshire-pudding opened this issue Oct 9, 2023 · 28 comments
Labels
question Further information is requested

Comments

@yorkshire-pudding
Copy link

I've had a site on PHP 8.1 for a while with no problem. Yesterday on mobile, I updated a field on a node and saved. Wasn't showing in view to attempted to flush caches.

Site went 500 for logged in users whilst could still load front end, but eventually front end went as well (presumably when cache expired). When I got a minute, I went on and tried a few things to fix.

Tried clearing caches with bee and got this error:

TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in in_array() (line 280 of /home/user_name/website/production/docroot/modules/contrib/entity_plus/entity_plus.module

Put in maintenance mode with bee

Deleted the entity_plus directory and re-downloaded (so latest version) with bee (no disabling or uninstalling - too many dependencies). No change
I then tried PHP 8.0 - same.
Then tried PHP 7.4 and site worked.
This site had been a bit neglected (not any security updates) and there were a few updates. I did those updates in GUI (including core) and was fine.
I then tried putting it back to PHP 8.1 and everything was fine again.

I'm reluctant to call it a bug as I have no idea of steps to reproduce. It could be a combination of things and I don't want to try and reproduce. I just wanted to put this here in case this bit of code could be improved to prevent this happening again if conditions give this function the wrong type again?

@yorkshire-pudding yorkshire-pudding added the question Further information is requested label Oct 9, 2023
@argiepiano
Copy link
Collaborator

argiepiano commented Oct 9, 2023

Thanks for reporting, @yorkshire-pudding. This is a strange error that I've never seen before.

Entity Plus is like a mini-core for entities. Often the errors you get are produced in other places, but since a lot of the
"traffic" goes through Entity Plus, you only see the E+ error. The error you saw is produced when checking the entity controller definition of an entity - presumably a custom entity provided by a contrib module. So, this is probably some weird combination of factors that prevents the info to have an entity controller - perhaps an issue with cached information. The fact that things got "fixed" once you ran 7.4 may indicate an issue with a contrib module that's not compliant with 8.1 and fails to initialize their entity info... in specific situations.

If you want to troubleshoot this, we'll need all the errors (including anything that happened before the one you posted), as well as a list of contrib modules in your site.

@oadaeh
Copy link

oadaeh commented Oct 9, 2023

class_implements($info['controller class']) is returning FALSE, so that should be added as another condition in line 280 to avoid the fatal error, which might or might not mask the actual cause, but would certainly avoid unnecessarily taking down the site.

@yorkshire-pudding
Copy link
Author

I've had the issue again and switched to PHP 7.4 straight away and it fixed. Only happening on certain pages with 8.1 so time to test locally and see if I can get some useful Krumo backtraces

@yorkshire-pudding
Copy link
Author

yorkshire-pudding commented Oct 23, 2023

Stack trace
Fatal error: Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /app/docroot/modules/contrib/entity_plus/entity_plus.module:994 
Stack trace: 
#0 /app/docroot/modules/contrib/entity_plus/entity_plus.module(994): in_array('EntityPlusContr...', false) 
#1 /app/docroot/core/includes/theme.inc(558): entity_plus_theme(Array, 'module', 'entity_plus', 'modules/contrib...') 
#2 /app/docroot/core/includes/theme.inc(715): _theme_process_registry(Array, 'entity_plus', 'module', 'entity_plus', 'modules/contrib...') 
#3 /app/docroot/core/includes/theme.inc(355): _theme_build_registry(Object(stdClass), Array, 'phptemplate') 
#4 /app/docroot/core/includes/theme.inc(304): _theme_load_registry(Object(stdClass), Array, 'phptemplate') 
#5 /app/docroot/core/includes/theme.inc(440): theme_get_registry() 
#6 /app/docroot/core/includes/theme.inc(424): ThemeRegistry->initializeRegistry() 
#7 /app/docroot/core/includes/theme.inc(365): ThemeRegistry->__construct('theme_registry:...', 'cache') 
#8 /app/docroot/core/includes/theme.inc(304): _theme_load_registry(Object(stdClass), Array, 'phptemplate', false) 
#9 /app/docroot/core/includes/theme.inc(1024): theme_get_registry(false) 
#10 /app/docroot/core/includes/errors.inc(256): theme('maintenance_pag...', Array) 
#11 /app/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error(Array, true) 
#12 [internal function]: _backdrop_exception_handler(Object(TypeError)) 
#13 {main} thrown in /app/docroot/modules/contrib/entity_plus/entity_plus.module on line 994

Also got warning:

Warning: class_implements(): Class MatchRedirectEntityController does not exist and could not be loaded in entity_plus_theme() (line 994 of /app/docroot/modules/contrib/entity_plus/entity_plus.module).

@yorkshire-pudding
Copy link
Author

yorkshire-pudding commented Oct 23, 2023

Tracked it down. Match Redirect module is causing it. As this is not essential to the site (was using it to redirect bots looking for Wordpress pages to a custom page) I can disable without causing any issues until this is resolved. I have transferred log details to an issue there, but if you have any insights on what is going on there, then might be helpful; looking at the module it looks like the class MatchRedirectEntityController does exist and is referenced in `hook_autoload_info, but perhaps I'm missing something.
https://github.com/backdrop-contrib/match_redirect/blob/89836b662351c8eef4cf90922f64e216010cd0ed/match_redirect.module#L26-L35

@argiepiano
Copy link
Collaborator

argiepiano commented Oct 23, 2023

@yorkshire-pudding thanks for including the backtrace. I'm looking at it, and there are some clues of what's going on there.

First, this whole chain of events is happening because of an earlier "custom PHP error" (see line 12 in the backtrace), that triggers a "fallback" to maintenance mode. You can see that in number 10 in the backtrace (the lower you go in that backtrace, the further from "now" you are). When backdrop tries to theme the error, to do that it has to reinitialize the whole theme registry, which is not cached for some reason (see number 6). The problem is that, when you are in maintenance mode, that include file with MatchRedirectEntityController is not loaded, which triggers the fatal error. Apparently, the autoload hooks are not run when in maintenance mode - need to verify that's the case.

It would be helpful to check your log to see if there are any other errors logged in before the fatal one - that can offer clues to what was the initial error that unleashed the whole series of events.

Ultimately, perhaps a good stopgap measure would be for entity_plus_theme() to check if we are in maintenance mode before returning the theme information. My concern with that is that this info is cached, and while it may prevent the fatal, it may create issues down the road with that incomplete cached theme registry.

So, in the end, while disabling Match Redirect may help, ideally we need to find where the original uncaught PHP error. occurred.

I'll try to come up with a way for you to temporarily patch Entity Plus in php 8.1 so that you can try to reproduce the error. Once patched, we may be able to see what the original error was. More later

@argiepiano
Copy link
Collaborator

argiepiano commented Oct 23, 2023

Hmmm... some of my logic above may not be correct - not sure if we are in maintenance mode. _backdrop_log_error() themes the error as if it was in maintenance mode, but the site is not put in MM. However, the rest may all be true. Please check the dblog thoroughly for earlier errors. And you say this is happening when running database update?

@yorkshire-pudding
Copy link
Author

I'll try to see what other errors could be related. Just to clarify though:

And you say this is happening when running database update?

No - it happened first updating a node. That node has entity reference fields, data, embedded youtube but nothing particularly special. After it happened there it then happened on nearly every page load until I fixed it. Then after putting it back to PHP 8.1 it behaved mostly until I tried updating a node again.

@yorkshire-pudding
Copy link
Author

Got this when accessing status report:

Warning: class_implements(): Class MatchRedirectEntityController does not exist and could not be loaded in entity_plus_crud_get_info() (line 180 of /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module).

Also got this odd error:

Error: Cannot use object of type stdClass as array in system_page_delivery_callback_alter() (line 1136 of /home/username/website/production/docroot/core/modules/system/system.module).

but the calling URL is https://www.domain.tld/apple-touch-icon.png

The header very clearly says:

<link rel="apple-touch-icon" sizes="180x180" href="/files/favicons/apple-touch-icon.png"/>

( I use responsive favicons module to handle these)

PHP error log in docroot - from yesterday
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:35:32 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:35:34 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:36:32 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:36:39 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:36:50 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:36:53 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:36:56 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:38:39 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:38:42 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:38:44 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:40:59 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:41:03 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180
[22-Oct-2023 09:45:42 Europe/London] PHP Fatal error:  Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, bool given in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:180
Stack trace:
#0 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(180): in_array()
#1 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(126): entity_plus_crud_get_info()
#2 /home/username/website/production/docroot/core/includes/module.inc(975): entity_plus_entity_property_info()
#3 /home/username/website/production/docroot/modules/contrib/entity_plus/includes/entity_plus.property.inc(37): module_invoke_all()
#4 /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module(1130): entity_plus_get_property_info()
#5 /home/username/website/production/docroot/modules/contrib/entity_token/entity_token.tokens.inc(401): entity_plus_metadata_site_wrapper()
#6 /home/username/website/production/docroot/core/includes/module.inc(975): entity_token_tokens()
#7 /home/username/website/production/docroot/core/includes/token.inc(177): module_invoke_all()
#8 /home/username/website/production/docroot/core/includes/token.inc(86): token_generate()
#9 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(320): token_replace()
#10 /home/username/website/production/docroot/modules/contrib/metatag/metatag.inc(429): BackdropTextMetaTag->getValue()
#11 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1229): BackdropTitleMetaTag->getElement()
#12 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(1829): metatag_metatags_view()
#13 /home/username/website/production/docroot/modules/contrib/metatag/metatag.module(2157): metatag_prepare_tags()
#14 /home/username/website/production/docroot/core/includes/theme.inc(1131): metatag_preprocess_maintenance_page()
#15 /home/username/website/production/docroot/core/includes/errors.inc(256): theme()
#16 /home/username/website/production/docroot/core/includes/bootstrap.inc(2989): _backdrop_log_error()
#17 [internal function]: _backdrop_exception_handler()
#18 {main}
  thrown in /home/username/website/production/docroot/modules/contrib/entity_plus/entity_plus.module on line 180

@argiepiano
Copy link
Collaborator

argiepiano commented Oct 23, 2023

Thanks for the additional info. All of these logs point out at an initial error that triggers the whole chain reaction that ends with the E+ fatal. The first function in the chain is always _backdrop_exception_handler()

In order to find out what is producing this error, please try the following manual patches:

Line 180 of entity_plus.module

    if (isset($info['controller class']) && class_exists($info['controller class']) && in_array('EntityPlusControllerInterface',  class_implements($info['controller class']))) {

Line 994 of the same:

    if (isset($info['controller class']) && class_exists($info['controller class']) &&  in_array('EntityPlusControllerInterface', class_implements($info['controller class']))) {

Then, using PHP 8.1, edit that node once again to trigger the initial error. Supposedly, the patches above will prevent E+ from crashing (they may produce other problems, though). The crashing happens because those E+ functions are being called at a time when autoload hooks haven't yet run.

So, the above should hopefully reveal what the original error is that's triggering all of this.

@argiepiano
Copy link
Collaborator

(Fixed a typo in the above)

@argiepiano
Copy link
Collaborator

Shoot. More typos! Let me fix those before you patch.

@yorkshire-pudding
Copy link
Author

And presume I should re-enable match_redirect, right?

@argiepiano
Copy link
Collaborator

OK, done.

@argiepiano
Copy link
Collaborator

Yes, get the site to the state where it was when it crashed.

@yorkshire-pudding
Copy link
Author

Must have been something else as well as it will not recreate the error 😕

@argiepiano
Copy link
Collaborator

Can you check the dblog for the most recent messages after you've updated the node?

@argiepiano
Copy link
Collaborator

Also, clear caches, update node again, save, clear caches again? Then check dblog.

@yorkshire-pudding
Copy link
Author

Nothing there at all either before or after clearing caches. 😕

@argiepiano
Copy link
Collaborator

Hmm... the other odd error you included there:

Error: Cannot use object of type stdClass as array in system_page_delivery_callback_alter() (line 1136 of /home/username/website/production/docroot/core/modules/system/system.module).

This is strange, and may be the originating error that triggered the whole thing - but obviously hard to reproduce. Somehow, the variable $page_callback_result passed to the hook implementation system_page_delivery_callback_alter() is an object instead of a string. This may be produced by one of the contrib modules in the site. If you have the time - could you include the list of contrib modules you are using?

Otherwise, that manual patch should prevent the fatal error for now. Keep an eye on the dblog for other errors, esp, the one above.

@argiepiano
Copy link
Collaborator

One common thing in all the backtraces you posted: they ALL happen in relation to maintenance mode. Can you try putting your site in maintenance mode and editing that node once again?

@yorkshire-pudding
Copy link
Author

No difference with maintenance mode:

list of modules
NAME FILENAME STATUS TYPE SCHEMA VERSION
admin_bar core/modules/admin_bar/admin_bar.module Enabled module 0
block core/modules/block/block.module Enabled module 1,004
ckeditor core/modules/ckeditor/ckeditor.module Enabled module 0
comment core/modules/comment/comment.module Enabled module 1,008
config core/modules/config/config.module Enabled module 0
contextual core/modules/contextual/contextual.module Enabled module 1,000
dashboard core/modules/dashboard/dashboard.module Enabled module 1,000
date core/modules/date/date.module Enabled module 1,002
dblog core/modules/dblog/dblog.module Enabled module 1,003
email core/modules/email/email.module Enabled module 1,000
entity core/modules/entity/entity.module Enabled module 0
entityreference core/modules/entityreference/entityreference.module Enabled module 1,002
field core/modules/field/field.module Enabled module 1,004
field_sql_storage core/modules/field/modules/field_sql_storage/field_sql_storage.module Enabled module 0
list core/modules/field/modules/list/list.module Enabled module 0
number core/modules/field/modules/number/number.module Enabled module 0
options core/modules/field/modules/options/options.module Enabled module 0
text core/modules/field/modules/text/text.module Enabled module 1,000
field_ui core/modules/field_ui/field_ui.module Enabled module 0
file core/modules/file/file.module Enabled module 1,009
filter core/modules/filter/filter.module Enabled module 1,004
image core/modules/image/image.module Enabled module 1,008
installer core/modules/installer/installer.module Enabled module 1,000
layout core/modules/layout/layout.module Enabled module 0
link core/modules/link/link.module Enabled module 1,001
menu core/modules/menu/menu.module Enabled module 1,006
node core/modules/node/node.module Enabled module 1,022
path core/modules/path/path.module Enabled module 1,001
redirect core/modules/redirect/redirect.module Enabled module 1,003
search core/modules/search/search.module Enabled module 1,003
system core/modules/system/system.module Enabled module 1,092
taxonomy core/modules/taxonomy/taxonomy.module Enabled module 1,010
telemetry core/modules/telemetry/telemetry.module Enabled module 0
update core/modules/update/update.module Enabled module 1,005
user core/modules/user/user.module Enabled module 1,026
views core/modules/views/views.module Enabled module 1,007
views_ui core/modules/views_ui/views_ui.module Enabled module 1,001
standard core/profiles/standard/standard.profile Enabled module 0
basis core/themes/basis/basis.info Enabled theme -1
seven core/themes/seven/seven.info Enabled theme -1
admin_bar_views_grouping modules/contrib/admin_bar_views_grouping/admin_bar_views_grouping.module Enabled module 0
antibot modules/contrib/antibot/antibot.module Enabled module 1,000
auto_nodetitle modules/contrib/auto_nodetitle/auto_nodetitle.module Enabled module 1,001
better_exposed_filters modules/contrib/better_exposed_filters/better_exposed_filters.module Enabled module 0
bigmenu modules/contrib/bigmenu/bigmenu.module Enabled module 1,000
blockreference modules/contrib/blockreference/blockreference.module Enabled module 0
conditional_fields modules/contrib/conditional_fields/conditional_fields.module Enabled module 1,000
devel modules/contrib/devel/devel.module Enabled module 1,006
devel_generate modules/contrib/devel/devel_generate/devel_generate.module Enabled module 0
devel_node_access modules/contrib/devel/devel_node_access/devel_node_access.module Enabled module 0
disable_login_errors modules/contrib/disable_login_errors/disable_login_errors.module Enabled module 0
editableviews modules/contrib/editableviews/editableviews.module Enabled module 0
elements modules/contrib/elements/elements.module Enabled module 0
entity_plus modules/contrib/entity_plus/entity_plus.module Enabled module 0
entity_token modules/contrib/entity_token/entity_token.module Enabled module 0
entity_ui modules/contrib/entity_ui/entity_ui.module Enabled module 0
fast_token_browser modules/contrib/fast_token_browser/fast_token_browser.module Enabled module 0
feeds modules/contrib/feeds/feeds.module Enabled module 1,005
feeds_ui modules/contrib/feeds/feeds_ui/feeds_ui.module Enabled module 7,000
feeds_tamper modules/contrib/feeds_tamper/feeds_tamper.module Enabled module 1,001
feeds_tamper_ui modules/contrib/feeds_tamper/feeds_tamper_ui/feeds_tamper_ui.module Enabled module 0
field_group modules/contrib/field_group/field_group.module Enabled module 1,000
field_visibility_condition modules/contrib/field_visibility_condition/field_visibility_condition.module Enabled module 0
field_wrappers modules/contrib/field_wrappers/field_wrappers.module Enabled module 0
filter_perms modules/contrib/filter_perms/filter_perms.module Enabled module 0
flexible_layout modules/contrib/flexible_layout/flexible_layout.module Enabled module 0
fontyourface modules/contrib/fontyourface/fontyourface.module Enabled module 1,000
edge_fonts modules/contrib/fontyourface/modules/edge_fonts/edge_fonts.module Enabled module 1,000
fontyourface_ui modules/contrib/fontyourface/modules/fontyourface_ui/fontyourface_ui.module Enabled module 1,000
local_fonts modules/contrib/fontyourface/modules/local_fonts/local_fonts.module Enabled module 0
font_awesome modules/contrib/font_awesome/font_awesome.module Enabled module 1,102
font_awesome_field modules/contrib/font_awesome/font_awesome_field/font_awesome_field.module Enabled module 0
fullcalendar_lib modules/contrib/fullcalendar_lib/fullcalendar_lib.module Enabled module 0
fullcalendar_views modules/contrib/fullcalendar_views/fullcalendar_views.module Enabled module 0
image_effects_coloractions modules/contrib/image_effects/coloractions/image_effects_coloractions.module Enabled module 7,101
image_effects modules/contrib/image_effects/image_effects.module Enabled module 7,002
job_scheduler modules/contrib/job_scheduler/job_scheduler.module Enabled module 1,001
match_redirect modules/contrib/match_redirect/match_redirect.module Enabled module 1
matomo modules/contrib/matomo/matomo.module Enabled module 1,001
metatag modules/contrib/metatag/metatag.module Enabled module 1,006
metatag_opengraph modules/contrib/metatag/metatag_opengraph/metatag_opengraph.module Enabled module 7,106
clone modules/contrib/node_clone/clone.module Enabled module 1,000
override_node_options modules/contrib/override_node_options/override_node_options.module Enabled module 1,000
paragraphs_bundle_permissions modules/contrib/paragraphs/modules/paragraphs_bundle_permissions/paragraphs_bundle_permissions.module Enabled module 1,100
paragraphs modules/contrib/paragraphs/paragraphs.module Enabled module 1,003
paragraphs_jquery_ui_accordion modules/contrib/paragraphs_jquery_ui_accordion/paragraphs_jquery_ui_accordion.module Enabled module 0
paragraphs_jquery_ui_accordion2 modules/contrib/paragraphs_jquery_ui_accordion2/paragraphs_jquery_ui_accordion2.module Enabled module 0
pdfjs modules/contrib/pdfjs/pdfjs.module Enabled module 0
prepopulate modules/contrib/prepopulate/prepopulate.module Enabled module 1,000
publication_date modules/contrib/publication_date/publication_date.module Enabled module 1,000
r4032login modules/contrib/r4032login/r4032login.module Enabled module 7,000
realname modules/contrib/realname/realname.module Enabled module 0
reftagger modules/contrib/reftagger/reftagger.module Enabled module 1,001
repeating_dates modules/contrib/repeating_dates/repeating_dates.module Enabled module 0
responsive_favicons modules/contrib/responsive_favicons/responsive_favicons.module Enabled module 1,001
rules modules/contrib/rules/rules.module Enabled module 1,003
rules_admin modules/contrib/rules/rules_admin/rules_admin.module Enabled module 0
simple_gmap modules/contrib/simple_gmap/simple_gmap.module Enabled module 0
simplify modules/contrib/simplify/simplify.module Enabled module 1,100
svg_image modules/contrib/svg_image/svg_image.module Enabled module 0
tocbot modules/contrib/tocbot/tocbot.module Enabled module 1,000
token_filter modules/contrib/token_filter/token_filter.module Enabled module 0
token_help modules/contrib/token_help/token_help.module Enabled module 1,000
username_enumeration_prevention modules/contrib/username_enumeration_prevention/username_enumeration_prevention.module Enabled module 0
actions_permissions modules/contrib/views_bulk_operations/modules/actions_permissions.module Enabled module 0
views_bulk_operations modules/contrib/views_bulk_operations/views_bulk_operations.module Enabled module 1,000
views_conditional modules/contrib/views_conditional/views_conditional.module Enabled module 0
views_data_export modules/contrib/views_data_export/views_data_export.module Enabled module 1,000
views_menu_children_filter modules/contrib/views_menu_children_filter/views_menu_children_filter.module Enabled module 0
webform modules/contrib/webform/webform.module Enabled module 1,607
webform_share modules/contrib/webform_share/webform_share.module Enabled module 0
webform_telephone modules/contrib/webform_telephone/webform_telephone.module Enabled module 0
xmlsitemap modules/contrib/xmlsitemap/xmlsitemap.module Enabled module 1,003
xmlsitemap_custom modules/contrib/xmlsitemap/xmlsitemap_custom/xmlsitemap_custom.module Enabled module 0
xmlsitemap_node modules/contrib/xmlsitemap/xmlsitemap_node/xmlsitemap_node.module Enabled module 0
youtube modules/contrib/youtube/youtube.module Enabled module 1,000
field_wrappers_extra modules/custom/field_wrappers_extra/field_wrappers_extra.module Enabled module 0
service_schedule modules/custom/service_schedule/service_schedule.module Enabled module 0
seven_pm themes/seven_pm/seven_pm.info Enabled theme -1
tatsu themes/tatsu/tatsu.info Enabled theme -1
tatsu_sbc themes/tatsu_sbc/tatsu_sbc.info Enabled theme -1
block_test core/modules/block/tests/block_test/block_test.module Disabled module -1
book core/modules/book/book.module Disabled module -1
color core/modules/color/color.module Disabled module -1
config_test core/modules/config/tests/config_test/config_test.module Disabled module -1
config_test_hooks core/modules/config/tests/config_test_hooks/config_test_hooks.module Disabled module -1
contact core/modules/contact/contact.module Disabled module -1
entity_cache_test core/modules/entity/tests/entity_cache_test/entity_cache_test.module Disabled module -1
entity_cache_test_dependency core/modules/entity/tests/entity_cache_test_dependency/entity_cache_test_dependency.module Disabled module -1
entity_caching_test core/modules/entity/tests/entity_caching_test/entity_caching_test.module Disabled module -1
entity_crud_hook_test core/modules/entity/tests/entity_crud_hook_test/entity_crud_hook_test.module Disabled module -1
entity_query_access_test core/modules/entity/tests/entity_query_access_test/entity_query_access_test.module Disabled module -1
entity_test core/modules/entity/tests/entity_test/entity_test.module Disabled module -1
entityreference_views_test core/modules/entityreference/tests/entityreference_views_test/entityreference_views_test.module Disabled module -1
list_test core/modules/field/modules/list/tests/list_test.module Disabled module -1
field_test core/modules/field/tests/field_test/field_test.module Disabled module -1
view_mode_test core/modules/field_ui/tests/view_mode_test/view_mode_test.module Disabled module -1
file_module_test core/modules/file/tests/file_module_test/file_module_test.module Disabled module -1
filter_formtest core/modules/filter/tests/filter_formtest.module Disabled module -1
image_module_test core/modules/image/tests/image_module_test/image_module_test.module Disabled module -1
aaa_installer_test core/modules/installer/tests/aaa_installer_test/aaa_installer_test.module Disabled module -1
bbb_installer_test core/modules/installer/tests/bbb_installer_test/bbb_installer_test.module Disabled module -1
ccc_installer_test core/modules/installer/tests/ccc_installer_test/ccc_installer_test.module Disabled module -1
installer_test core/modules/installer/tests/installer_test/installer_test.module Disabled module -1
language core/modules/language/language.module Disabled module -1
layout_test core/modules/layout/tests/layout_test/layout_test.module Disabled module -1
locale core/modules/locale/locale.module Disabled module -1
locale_test core/modules/locale/tests/locale_test/locale_test.module Disabled module -1
node_access_test core/modules/node/tests/node_access_test/node_access_test.module Disabled module -1
node_layout_preview_revision_test core/modules/node/tests/node_layout_preview_revision_test/node_layout_preview_revision_test.module Disabled module -1
node_layout_preview_test core/modules/node/tests/node_layout_preview_test/node_layout_preview_test.module Disabled module -1
node_test core/modules/node/tests/node_test/node_test.module Disabled module -1
node_test_exception core/modules/node/tests/node_test_exception/node_test_exception.module Disabled module -1
search_embedded_form core/modules/search/tests/search_embedded_form/search_embedded_form.module Disabled module -1
search_extra_type core/modules/search/tests/search_extra_type/search_extra_type.module Disabled module -1
simpletest core/modules/simpletest/simpletest.module Disabled module -1
actions_loop_test core/modules/simpletest/tests/actions_loop_test.module Disabled module -1
ajax_forms_test core/modules/simpletest/tests/ajax_forms_test.module Disabled module -1
ajax_test core/modules/simpletest/tests/ajax_test.module Disabled module -1
backdrop_system_listing_compatible_test core/modules/simpletest/tests/backdrop_system_listing_compatible_test/backdrop_system_listing_compatible_test.module Disabled module -1
backdrop_system_listing_incompatible_test core/modules/simpletest/tests/backdrop_system_listing_incompatible_test/backdrop_system_listing_incompatible_test.module Disabled module -1
batch_test core/modules/simpletest/tests/batch_test.module Disabled module -1
boot_test_1 core/modules/simpletest/tests/boot_test_1.module Disabled module -1
boot_test_2 core/modules/simpletest/tests/boot_test_2.module Disabled module -1
common_test core/modules/simpletest/tests/common_test.module Disabled module -1
common_test_cron_helper core/modules/simpletest/tests/common_test_cron_helper.module Disabled module -1
config_obj_test core/modules/simpletest/tests/config_obj_test/config_obj_test.module Disabled module -1
database_test core/modules/simpletest/tests/database_test.module Disabled module -1
dependency_test1 core/modules/simpletest/tests/dependency_test1.module Disabled module -1
dependency_test2 core/modules/simpletest/tests/dependency_test2.module Disabled module -1
dependency_test3 core/modules/simpletest/tests/dependency_test3.module Disabled module -1
error_test core/modules/simpletest/tests/error_test.module Disabled module -1
file_test core/modules/simpletest/tests/file_test.module Disabled module -1
filter_test core/modules/simpletest/tests/filter_test.module Disabled module -1
form_test core/modules/simpletest/tests/form_test.module Disabled module -1
image_test core/modules/simpletest/tests/image_test.module Disabled module -1
menu_test core/modules/simpletest/tests/menu_test.module Disabled module -1
module_test core/modules/simpletest/tests/module_test.module Disabled module -1
path_test core/modules/simpletest/tests/path_test.module Disabled module -1
requirements1_test core/modules/simpletest/tests/requirements1_test.module Disabled module -1
requirements2_test core/modules/simpletest/tests/requirements2_test.module Disabled module -1
session_test core/modules/simpletest/tests/session_test.module Disabled module -1
system_dependencies_test core/modules/simpletest/tests/system_dependencies_test.module Disabled module -1
system_incompatible_core_version_dependencies_test core/modules/simpletest/tests/system_incompatible_core_version_dependencies_test.module Disabled module -1
system_incompatible_core_version_test core/modules/simpletest/tests/system_incompatible_core_version_test.module Disabled module -1
system_incompatible_module_version_dependencies_test core/modules/simpletest/tests/system_incompatible_module_version_dependencies_test.module Disabled module -1
system_incompatible_module_version_test core/modules/simpletest/tests/system_incompatible_module_version_test.module Disabled module -1
system_project_namespace_test core/modules/simpletest/tests/system_project_namespace_test.module Disabled module -1
system_test core/modules/simpletest/tests/system_test.module Disabled module -1
taxonomy_test core/modules/simpletest/tests/taxonomy_test.module Disabled module -1
theme_test core/modules/simpletest/tests/theme_test.module Disabled module -1
token_test core/modules/simpletest/tests/token_test.module Disabled module -1
update_d7_test_1 core/modules/simpletest/tests/update_d7_test_1.module Disabled module -1
update_d7_test_2 core/modules/simpletest/tests/update_d7_test_2.module Disabled module -1
update_script_test core/modules/simpletest/tests/update_script_test.module Disabled module -1
update_test_1 core/modules/simpletest/tests/update_test_1.module Disabled module -1
update_test_2 core/modules/simpletest/tests/update_test_2.module Disabled module -1
update_test_3 core/modules/simpletest/tests/update_test_3.module Disabled module -1
url_alter_test core/modules/simpletest/tests/url_alter_test.module Disabled module -1
syslog core/modules/syslog/syslog.module Disabled module -1
cron_queue_test core/modules/system/tests/cron_queue_test/cron_queue_test.module Disabled module -1
deprecated_redirect_test core/modules/system/tests/deprecated_redirect_test/deprecated_redirect_test.module Disabled module -1
system_cron_test core/modules/system/tests/system_cron_test/system_cron_test.module Disabled module -1
taxonomy_nodes_test core/modules/taxonomy/tests/taxonomy_nodes_test/taxonomy_nodes_test.module Disabled module -1
taxonomy_vocab_load_test core/modules/taxonomy/tests/taxonomy_vocab_load_test/taxonomy_vocab_load_test.module Disabled module -1
translation_test core/modules/translation/tests/translation_test/translation_test.module Disabled module -1
translation core/modules/translation/translation.module Disabled module -1
aaa_update_test core/modules/update/tests/aaa_update_test/aaa_update_test.module Disabled module -1
bbb_update_test core/modules/update/tests/bbb_update_test/bbb_update_test.module Disabled module -1
ccc_update_test core/modules/update/tests/ccc_update_test/ccc_update_test.module Disabled module -1
update_test core/modules/update/tests/update_test/update_test.module Disabled module -1
user_flood_test core/modules/user/tests/user_flood_test/user_flood_test.module Disabled module -1
user_form_test core/modules/user/tests/user_form_test/user_form_test.module Disabled module -1
user_session_test core/modules/user/tests/user_session_test/user_session_test.module Disabled module -1
views_test core/modules/views/tests/views_test/views_test.module Disabled module -1
views_test_entity core/modules/views/tests/views_test_entity/views_test_entity.module Disabled module -1
bartik core/themes/bartik/bartik.info Disabled theme -1
stark core/themes/stark/stark.info Disabled theme -1
bef_test_content modules/contrib/better_exposed_filters/tests/bef_test_content/bef_test_content.module Disabled module -1
conditional_fields_test modules/contrib/conditional_fields/tests/conditional_fields_test.module Disabled module -1
editableviews_test modules/contrib/editableviews/tests/editableviews_test/editableviews_test.module Disabled module -1
editableviews_test_feature modules/contrib/editableviews/tests/editableviews_test_feature/editableviews_test_feature.module Disabled module -1
entity_plus_i18n modules/contrib/entity_plus/modules/entity_plus_i18n/entity_plus_i18n.module Disabled module -1
feeds_import modules/contrib/feeds/feeds_import/feeds_import.module Disabled module -1
feeds_tests modules/contrib/feeds/tests/feeds_tests/feeds_tests.module Disabled module -1
feeds_test_field modules/contrib/feeds/tests/modules/feeds_test_field/feeds_test_field.module Disabled module -1
field_group_tests modules/contrib/field_group/tests/field_group_tests/field_group_tests.module Disabled module -1
fontsquirrel modules/contrib/fontyourface/modules/fontsquirrel/fontsquirrel.module Disabled module -1
fonts_com modules/contrib/fontyourface/modules/fonts_com/fonts_com.module Disabled module -1
font_reference modules/contrib/fontyourface/modules/font_reference/font_reference.module Disabled module -1
google_fonts_api modules/contrib/fontyourface/modules/google_fonts_api/google_fonts_api.module Disabled module -1
typekit_api modules/contrib/fontyourface/modules/typekit_api/typekit_api.module Disabled module -1
image_effects_autorotate modules/contrib/image_effects/autorotate/image_effects_autorotate.module Disabled module -1
image_effects_canvasactions modules/contrib/image_effects/canvasactions/image_effects_canvasactions.module Disabled module -1
imagecache_customactions modules/contrib/image_effects/customactions/imagecache_customactions.module Disabled module -1
image_effects_text modules/contrib/image_effects/image_effects_text/image_effects_text.module Disabled module -1
image_effects_text_test modules/contrib/image_effects/image_effects_text/image_effects_text_test/image_effects_text_test.module Disabled module -1
image_styles_admin modules/contrib/image_effects/image_styles_admin/image_styles_admin.module Disabled module -1
image_effects_testsuite modules/contrib/image_effects/tests/image_effects_testsuite.module Disabled module -1
matomo_testing modules/contrib/matomo/tests/matomo_testing.module Disabled module -1
metatag_app_links modules/contrib/metatag/metatag_app_links/metatag_app_links.module Disabled module -1
metatag_dc modules/contrib/metatag/metatag_dc/metatag_dc.module Disabled module -1
metatag_dc_advanced modules/contrib/metatag/metatag_dc_advanced/metatag_dc_advanced.module Disabled module -1
metatag_devel modules/contrib/metatag/metatag_devel/metatag_devel.module Disabled module -1
metatag_facebook modules/contrib/metatag/metatag_facebook/metatag_facebook.module Disabled module -1
metatag_favicons modules/contrib/metatag/metatag_favicons/metatag_favicons.module Disabled module -1
metatag_google_cse modules/contrib/metatag/metatag_google_cse/metatag_google_cse.module Disabled module -1
metatag_google_plus modules/contrib/metatag/metatag_google_plus/metatag_google_plus.module Disabled module -1
metatag_hreflang modules/contrib/metatag/metatag_hreflang/metatag_hreflang.module Disabled module -1
metatag_importer modules/contrib/metatag/metatag_importer/metatag_importer.module Disabled module -1
metatag_mobile modules/contrib/metatag/metatag_mobile/metatag_mobile.module Disabled module -1
metatag_opengraph_products modules/contrib/metatag/metatag_opengraph_products/metatag_opengraph_products.module Disabled module -1
metatag_twitter_cards modules/contrib/metatag/metatag_twitter_cards/metatag_twitter_cards.module Disabled module -1
metatag_verification modules/contrib/metatag/metatag_verification/metatag_verification.module Disabled module -1
metatag_views modules/contrib/metatag/metatag_views/metatag_views.module Disabled module 0
metatag_views_tests modules/contrib/metatag/metatag_views/tests/metatag_views_tests/metatag_views_tests.module Disabled module -1
metatag_search_test modules/contrib/metatag/tests/metatag_search_test.module Disabled module -1
metatag_test modules/contrib/metatag/tests/metatag_test/metatag_test.module Disabled module -1
node_clone modules/contrib/node_clone/node_clone.module Disabled module -1
paragraphs_i18n modules/contrib/paragraphs/modules/paragraphs_i18n/paragraphs_i18n.module Disabled module -1
role_help modules/contrib/role_help/role_help.module Disabled module -1
rules_i18n modules/contrib/rules/rules_i18n/rules_i18n.module Disabled module -1
rules_scheduler modules/contrib/rules/rules_scheduler/rules_scheduler.module Disabled module -1
rules_scheduler_test modules/contrib/rules/rules_scheduler/tests/rules_scheduler_test/rules_scheduler_test.module Disabled module -1
rules_export_test modules/contrib/rules/tests/rules_export_test/rules_export_test.module Disabled module -1
rules_test modules/contrib/rules/tests/rules_test/rules_test.module Disabled module -1
rules_test_invocation modules/contrib/rules/tests/rules_test_invocation/rules_test_invocation.module Disabled module -1
xmlsitemap_engines_test modules/contrib/xmlsitemap/xmlsitemap_engines/tests/xmlsitemap_engines_test.module Disabled module -1
xmlsitemap_engines modules/contrib/xmlsitemap/xmlsitemap_engines/xmlsitemap_engines.module Disabled module -1
xmlsitemap_i18n modules/contrib/xmlsitemap/xmlsitemap_i18n/xmlsitemap_i18n.module Disabled module -1
xmlsitemap_menu modules/contrib/xmlsitemap/xmlsitemap_menu/xmlsitemap_menu.module Disabled module -1
xmlsitemap_taxonomy modules/contrib/xmlsitemap/xmlsitemap_taxonomy/xmlsitemap_taxonomy.module Disabled module -1
xmlsitemap_user modules/contrib/xmlsitemap/xmlsitemap_user/xmlsitemap_user.module Disabled module -1
youtube_colorbox modules/contrib/youtube/modules/youtube_colorbox/youtube_colorbox.module Disabled module -1
feeds_source_update modules/custom/feeds_source_update/feeds_source_update.module Disabled module -1
devel_subthemer modules/devel_subthemer/devel_subthemer.module Disabled module 0
replicate modules/replicate/replicate.module Disabled module 0
replicate_paragraphs modules/replicate_paragraphs/replicate_paragraphs.module Disabled module 0

@yorkshire-pudding
Copy link
Author

Got more errors when running bee config-import even though there was no config update for match_redirect

class_implements(): Class MatchRedirectEntityController does not exist and could not be loaded
 /home/stocksfieldbapti/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:281

in_array() expects parameter 2 to be array, bool given
 /home/stocksfieldbapti/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:281

class_implements(): Class MatchRedirectEntityController does not exist and could not be loaded
 /home/stocksfieldbapti/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:281

in_array() expects parameter 2 to be array, bool given
 /home/stocksfieldbapti/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:281

class_implements(): Class MatchRedirectEntityController does not exist and could not be loaded
 /home/stocksfieldbapti/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:262

in_array() expects parameter 2 to be array, bool given
 /home/stocksfieldbapti/website/production/docroot/modules/contrib/entity_plus/entity_plus.module:262

I did raise this issue quite some time ago so probably all related

@argiepiano
Copy link
Collaborator

@yorkshire-pudding those spots can be temporarily fixed the same way I mentioned above - add class_exists($info['controller class']) as the second statement in those if.

It's the same issue: those functions are running before the autoload hooks have run - for an unknown reason.

@argiepiano
Copy link
Collaborator

@yorkshire-pudding - question: do you have the Drupal compatibility layer enabled? I see match_redirect still uses some drupal namespaced functions - in hook_init, which may not be caught.

@yorkshire-pudding
Copy link
Author

@yorkshire-pudding - question: do you have the Drupal compatibility layer enabled? I see match_redirect still uses some drupal namespaced functions - in hook_init, which may not be caught.

I do have drupal compatibility switched on for that site; checked both locally and on host.

@yorkshire-pudding those spots can be temporarily fixed the same way I mentioned above - add class_exists($info['controller class']) as the second statement in those if.

It's the same issue: those functions are running before the autoload hooks have run - for an unknown reason.

That was with the patch you suggested (it is the same site). The git pull happens before the config-import

@argiepiano
Copy link
Collaborator

That was with the patch you suggested (it is the same site). The git pull happens before the config-import

No, no. You fixed those other lines. I meant: you need to fix these NEW lines with the same patch.(281 and 262).

@yorkshire-pudding
Copy link
Author

That was with the patch you suggested (it is the same site). The git pull happens before the config-import

No, no. You fixed those other lines. I meant: you need to fix these NEW lines with the same patch.(281 and 262).

Thanks. patching those lines too enables config-import to work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants