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 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]>: >>>> >>>>> 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... > > [...] > > Backtrace: > 1. send_agendas() /usr/bin/kronolith-agenda:22 > 2. Horde_Prefs->getValue() /usr/bin/kronolith-agenda:85 > 3. Horde_Prefs->_getScope() /usr/share/php/Horde/Prefs.php:250 > 4. Horde_Prefs->_loadScope() /usr/share/php/Horde/Prefs.php:343 > 5. Horde_Prefs_Cache_HordeCache->store() /usr/share/php/Horde/Prefs.php:418 > 6. serialize() /usr/share/php/Horde/Prefs/Cache/HordeCache.php:62 > 7. Horde_Prefs_Scope->serialize() > 8. Horde::debug() /usr/share/php/Horde/Prefs/Scope.php:311 > > 2015-11-02T19:32:15+01:00 DEBUG: Variable information: > bool(false) > > Backtrace: > 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 > 7. Horde_Prefs_Scope->serialize() > 8. Horde::debug() /usr/share/php/Horde/Prefs/Scope.php:311 > > ----------------------------------------------------------------------- > > It Should be "Standardidentität", is this the problem? > > [...] a:13:{s:2:"id";s:17:"Standardidentit<E4>t";s:8:"fullname"; [...] This was the problem, the profile was from an old user which never login the past few years. After delete his settings in horde_prefs, the problem gone. > >> >> 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] -- kronolith mailing list Frequently Asked Questions: http://wiki.horde.org/FAQ To unsubscribe, mail: [email protected]