Re: /usr/bin/kronolith-agenda Horde_Prefs_Scope::serialize() must return a string or NULL
Michael J Rubinsky <[email protected]>
| Newsgroups | gmane.comp.horde.kronolith |
|---|---|
| Message-ID | <20151102181646.Horde.O4PKKD50-DMcKyar6uPzC4T@h4.theupstairsroom.com> |
Quoting Samuel Wolf <[email protected]>: > Zitat von Michael J Rubinsky <[email protected]>: > >> Quoting Samuel Wolf <[email protected]>: >> >>> Zitat von Michael J Rubinsky <[email protected]>: >>> >>>> Quoting Samuel Wolf <[email protected]>: >>>> >>>>> Hi, >>>>> >>>>> does somebody has any idea whats wrong here? >>>>> >>>>> Samuel >>>>> >>>>> root@mailserver:~# php5 /usr/bin/kronolith-agenda >>>>> >>>>> ==================== >>>>> >>>>> Fatal Error: >>>>> Horde_Prefs_Scope::serialize() must return a string or NULL >>>>> In /usr/share/php/Horde/Prefs/Cache/HordeCache.php on line 62 >>>>> >>>>> 1. send_agendas() /usr/bin/kronolith-agenda:22 >>>>> 2. Horde_Prefs->getValue() /usr/bin/kronolith-agenda:100 >>>>> 3. Horde_Prefs->_getScope() /usr/share/php/Horde/Prefs.php:250 >>>>> 4. Horde_Prefs->_loadScope() /usr/share/php/Horde/Prefs.php:348 >>>>> 5. Horde_Prefs_Cache_HordeCache->store() >>>>> /usr/share/php/Horde/Prefs.php:418 >>>>> 6. serialize() /usr/share/php/Horde/Prefs/Cache/HordeCache.php:62 >>>> >>>> >>>> Looks like the serialization fails for some reason, and since >>>> json_encode() returns FALSE for this it throws a fatal error >>>> since the serialize interface must return a string or NULL. *WHY* >>>> it's failing, I'm not sure off hand - I'll have to look into it. >>>> At the very least, we need to catch the false value and change it >>>> to null. >>> >>> It is not a general problem, the script work on my home horde >>> server without a error. >>> Idea to debug this? >>> >>> I am sure this script work in the past without the error, but have >>> no idea which change/update broke it... >> >> Basically, the only thing I know for sure is that json_decode() is >> returning false in that method. I would need to see the data that >> it is attempting to serialize to know *why* it is failing. My guess >> is that it's some non UTF-8 data (which as of PHP 5.5 causes >> json_decode to fail whereas before this, it would only null out the >> offending string). >> >> If you want to spend time on this, you can insert something like: >> >> Horde::debug(array($this->scope, $this->_prefs)); >> >> into Horde_Prefs_Scope::serialize() and see what the values are >> when this fails. > > I add the debug code in /usr/share/php/Horde/Pres/Scope.php > > public function serialize() > { > Horde::debug(array($this->scope, $this->_prefs)); > return json_encode(array( > $this->scope, > $this->_prefs > )); > } > > This produce a long debug log file, but I can not see a problem > there. Something I can grep for? Was hoping there would be something obvious there in the data. So, you got the error, but the data looked normal-ish? Maybe try a Horde::debug(json_encode(array($this->scope, $this->_prefs))); just to be sure the json_encode is failing on the call that you are dumping... Kind of running out of ideas. -- mike The Horde Project http://www.horde.org https://www.facebook.com/hordeproject https://www.twitter.com/hordeproject -- kronolith mailing list Frequently Asked Questions: http://wiki.horde.org/FAQ To unsubscribe, mail: [email protected]
smime.p7s
(application/pkcs7-signature, 5.6 KB) - not displayed