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 <20151102145332.Horde.suW8Y-kXZN_29g-DDMUDXw2@h4.theupstairsroom.com>
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.


-- 
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
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.