Closed (works as designed)
Project:
Memcache API and Integration
Version:
7.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
17 Sep 2018 at 16:10 UTC
Updated:
16 Oct 2018 at 18:28 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #2
gmercer commentedI've created the following patch file to resolve this issue.
Comment #3
gmercer commentedI've run across one more line that was giving us a lot of watchdog warnings on our system, once we switch to PHP 7.1
Comment #4
webchickThere's a patch, so marking needs review.
Comment #5
gmercer commentedFound another place that putting out a lot of watchdog warnings on our system, once we switch to PHP 7.1
Comment #6
solution33r commentedWe figured out the solution, with 100% certainty.
This issue you were experiencing was related to changes in PHP 7.1, but it was not a problem with the memcache module.
We noted line 101 in the error - which was from MemCacheDrupal::garbageCollection():
We suspected, based on this evidence, that one or both of the variable_get()'s could be returning a bad value. We were right - cache_lifetime returns the string s:1:"0":
...and the source of that was a $conf set in settings.php:
Comparing this to a "healthy" site (another customer running the same versions of PHP, Drupal, and the memcache module), we found:
To verify, we used https://3v4l.org/ to see if and when this (passing s:1:"0") would break (issue a Warning), and discovered a difference introduced in PHP7.1 but not 5.6 - that's why it wasn't appearing before. It's also important to note that this is not causing more damage other than filling up the logs - it's still passing the value, and issuing a new Warning. Note the arithmetic operation still works:
View screengrab on Imgur
We can close this issue.
Comment #7
solution33r commentedSee comment #6 - issue has been resolved by Acquia Support.