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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.