Re: /usr/bin/kronolith-agenda Horde_Prefs_Scope::serialize() must return a string or NULL
Samuel Wolf <[email protected]>
| Newsgroups | gmane.comp.horde.kronolith |
|---|---|
| Message-ID | <[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? > > > -- > 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]