I've upgraded two sites to 8.3.0 from 8.2.7. This log is from the last one:
[05-Apr-2017 19:06:56 America/Los_Angeles] PHP Fatal error: Call to a member function get() on array in /home/radixcod/public_html/sensarium.com/core/lib/Drupal/Core/Cache/CacheCollector.php on line 327
[05-Apr-2017 19:07:01 America/Los_Angeles] PHP Fatal error: Call to a member function get() on array in /home/radixcod/public_html/sensarium.com/core/lib/Drupal/Core/Cache/CacheCollector.php on line 327
[05-Apr-2017 19:07:07 America/Los_Angeles] PHP Fatal error: Call to a member function get() on array in /home/radixcod/public_html/sensarium.com/core/lib/Drupal/Core/Cache/CacheCollector.php on line 327
[06-Apr-2017 02:07:36 UTC] PHP Fatal error: Call to a member function get() on array in /home/radixcod/public_html/sensarium.com/core/lib/Drupal/Core/Cache/CacheCollector.php on line 327
[05-Apr-2017 19:07:37 America/Los_Angeles] PHP Fatal error: Call to a member function get() on array in /home/radixcod/public_html/sensarium.com/core/lib/Drupal/Core/Cache/CacheCollector.php on line 327
| Comment | File | Size | Author |
|---|---|---|---|
| #14 | Screen Shot 2017-04-06 at 19.21.05.png | 77.06 KB | wim leers |
Comments
Comment #2
John Graffio commentedComment #3
mattltDo you have advagg installed?
https://www.drupal.org/node/2850263
Thanks,
•• matt
Comment #4
pick_d commentedComment #5
pick_d commentedI can confirm that.
8.2.7 -> upgrade to 8.3.0 breaks the site.
I was trying to upgrade it manually (Drupal 7 style), then "by the book", then via drush. Every time I get broken site.
It's either blank page or error 500 or something else.
In the same time 8.3.0-rc -> upgrade to 8.3.0 was smooth
Comment #6
catchMarking 'needs more info', if you don't have advagg installed, please move this back to 'active'.
Comment #7
catchComment #8
John Graffio commentedNo advagg running. I just did a fresh install of 8.2.7, backed it up, then I upgraded it with Drush to 8.3.0 with no problem. The only option I see is to save my backup, then gradually add modules back to the fresh 8.2.7 install until it fails.
The live site I'm worried about did have advagg, but I took it out because it was causing weird rendering problems, which went away when I uninstalled it. I wonder if advagg leaves something behind?
Comment #9
alexpottIf people are getting this is would be really great to have the list of modules installed on the site. A export of core.extension would be great. If you have drush installed you can get this by doing
drush config-get core.extensionor if the have the config module installed you can go tohttp://drupal8alt.dev/admin/config/development/configuration/single/exportand selectingcore.extensionComment #10
catchJust making the title a bit more obvious for people getting the same error.
Comment #11
pick_d commentedI didn't have AdvAgg installed as far as I know. Here's the list of extensions:
drush config-get core.extension
Comment #12
alexpott@pick_d thanks for the info! It'd be great if someone could install 8.2.7 and all the contrib modules from #11 and then clcik around the site a bit and the update core to 8.3.0 and run updatedb.
Comment #13
John Graffio commentedHere's the dump of my core.extension from an 8.2.7 site that gave me problems:
Comment #14
wim leersI intersected #11 and #13. The intersection consists of only core modules. So there must be >=2 contrib modules besides
advaggthat have a cache collector.Also: note that the
advaggmodule author was made aware on Feb 6 already, almost 2 months ago. They simply didn't release an update despite ample warning.Finally: note that any module that extends any one of these classes (the highlighted one is the

advaggone that is being fixed in #2850263: PHP Fatal error on CacheCollector.php, reported on Feb 6) will have this problem:… and this is why contrib modules should not extend concrete classes that aren't explicitly APIs… or if they do, they should track changes to those classes in core closely. An excellent example for http://wimleers.com/talk/bc-burden-benefit…
Comment #15
wim leers#13: you have advagg installed, that's the root cause for you.
Now going through the modules listed in #11 to find the culprit.
Comment #16
redeight commentedAdvagg was my issue! thanks =]
Comment #17
wim leers#8: you said:
But your post in #13 contradicts that.
Comment #18
wim leersTo analyze #11, I diffed it with my own
core.extensionconfiguration, and looked at modules in #11, but not on my site.Those are:
I
git cloned all of the contrib ones I didn't have locally. None of them have anyCacheCollectorInterfaceimplementations.But the core
localemodule does!Currently checking whether
\Drupal\locale\LocaleLookupis the culprit. But that seems the most likely root cause.Comment #19
wim leersThe issue where
CacheCollector's implementation was changed is … well, apparently it was not changed since October 11, 2015, before Drupal 8.0.0!The only thing that's been changed, is
\Drupal\Core\State\State. It was updated to implementCacheCollectorInterface, in #2834580: Move locale.translation_status state key to a separate key/value collection. So my comment in #14 was okay in narrowing it down. But it was far too imprecise. OnlyStatesubclasses are affected. And I already explained in #14 why that's a bad practice.So… I'm wondering if #11 provided the right
core.extensionconfig dump? Is it up-to-date and from the correct site?Without more information, there's nothing else we can do here. Tempted to move this down to Major, since so far all we know for sure is that
advagghas not been updated for 8.3.0 compatibility.Comment #20
John Graffio commented#17: Wim Leers: the core.extensions dump is from a different test site, sorry for the confusion. The fresh install I did had no contrib modules installed. Here is the core.extensions from the fresh install:
module:
automated_cron: 0
block: 0
block_content: 0
breakpoint: 0
ckeditor: 0
color: 0
comment: 0
config: 0
contact: 0
contextual: 0
datetime: 0
dblog: 0
dynamic_page_cache: 0
editor: 0
field: 0
field_ui: 0
file: 0
filter: 0
help: 0
history: 0
image: 0
link: 0
menu_ui: 0
node: 0
options: 0
page_cache: 0
path: 0
quickedit: 0
rdf: 0
search: 0
shortcut: 0
system: 0
taxonomy: 0
text: 0
toolbar: 0
tour: 0
update: 0
user: 0
views_ui: 0
menu_link_content: 1
views: 10
standard: 1000
theme:
stable: 0
classy: 0
bartik: 0
seven: 0
_core:
default_config_hash: m2GVq11UAOVuNgj8x0t5fMOPujpvQQ_zxLoaly1BMEU
Comment #21
wim leersAnd you could reproduce it with this fresh install too?
Comment #22
pick_d commentedI will try to recheck information.
Below is info from correct site for sure, I restored the backup of 8.2.7 site and tried to upgrade multiple times with different ways (removing broken files and mysql and restoring from backup), but no luck.
Those are installed modules inside appropriate directory:
ls modules/
amp bootstrap_library ctools pathauto redirect respondjs token xmlsitemap(removed readme.txt of course from this list)
And here's the list of contrib modules I got with command
drush pm-list --type=Module --no-core --status=enabled
I've also tried it with nginx and apache, with drush 7 and drush 8 - that doesn't change much.
Comment #23
pick_d commentedOkay, I uninstalled Pathauto and Token from existing config and tried to upgrade.
Got "unexpected error", when tried to proceed with "update.php"
Here's the log:
I replaced actual domain name with mydomainname to avoid being marked as spam.
Not sure I understand those logs correctly, but I will try to disable AMP and AMP theme and upgrade without it.
Comment #24
John Graffio commentedClarification on #20: The fresh install of 8.2.7 with no contrib modules DID upgrade to 8.3.0 with no issues.
Comment #25
pick_d commentedSo restored my backup, removed module AMP only, then tried to upgrade when received:
"Unexpected error. Pls try again later" after proceeding update via /update.php
Comment #26
pick_d commentedI even updated drush locally with composer require drush/drush and composer update to get drush 8.1.10 locally (not sure how that could help).
System drush is 8.0.2 though and I cannot update it.
But still - no luck.
Here's the related log.
Comment #27
cilefen commentedComment #28
xjm@pick_d, so the issue with older versions of Drush is that it had a bug with update ordering, which could cause exactly these sorts of errors. But other users are also reporting that they get some of the above fatals until they run database updates multiple times, including one user who was not using drush. So you could just run it a few more times and see if you get different fatals or if they go away... we're still trying to determine the source of these issues.
Are you sure your issue was originally the above specific fatal in
CacheCollector.php? Just trying to determine whether these several issues might all be connected or whether yours is actually a different issue and the original reports here are a duplicate of the advagg issue.Comment #29
xjmOh ah, I missed this:
Try running
update.phpthrough the UI, also.Comment #30
pick_d commentedAbsolutely not.
I posted here first time when the issue name was like "update to 8.3.0 breaks site" or something.
that might be good idea, but how?
update.php breaks in the middle of process OR after first update and then I get empty web-pages (so I can't do anything with update.php) and drush is like:
I've tried both commands many times and it doesn't look like they update databases at all.
I tried like 5-7 times with update.php and countless times with drush. Same result.
I've contacted hosting-provider and asked them about this issue and system-wide drush update, awaiting response now.
Comment #31
xjm@pick_d, thanks -- let's try to continue debugging your issue in #2861863: InvalidArgumentException "Field is unknown" in ContentEntityBase since it looks like you are getting that error. I think all the other reports on this issue are actually caused by advagg which just needs to commit the RTBC patch for that module to make it compatible with 8.3.0.
Comment #32
xjm@JohnGraffio, so the fresh install upgraded fine, which we expect, and the one that had advagg on the test site did not.
So for encountering this problem (the specific fatal about CacheCollector with advagg installed or previously installed), try applying the patch from #2850263: PHP Fatal error on CacheCollector.php to the local copy of advagg in the codebase and try running
update.phpagain. If you are not getting the specific fatal about the CacheCollector as in the title, look at the other issues.Since the other problems reported here should now be covered by #2861863: InvalidArgumentException "Field is unknown" in ContentEntityBase, setting back to "needs more info". This is otherwise very likely a duplicate of #2850263: PHP Fatal error on CacheCollector.php. Thanks!
Edit: Had pasted the wrong issue link; fixed now.
Comment #33
xjmAlright, closing as a duplicate of #2850263: PHP Fatal error on CacheCollector.php. Those who are encountering this error should apply that patch and/or contact the maintainer to help get it committed.
Thanks!
Comment #34
beautifulmindSame issue, I tried with disabling advagg module as suggested in this thread: https://www.drupal.org/node/2850263