[imp] Blacklist corruption problem

Michael M Slusarz slusarz at bigworm.colorado.edu
Fri Feb 7 13:03:11 PST 2003


Quoting Son Truong <svt at st-andrews.ac.uk>:

| I am able to start a mysql session and pull that string out of the table,
| so
| this proves that storage is not the problem as the blacklist is not
| corrupt
| when
| retrieved. However, the string is so long, even vi complains when I tried
| to
| paste it. (If I paste the string directly into this email, my mail client
| will
| crash!)

This is perfectly normal operation, even if the string is too long for the 
data storage type.  The problem is that PHP/Horde stores the string in a 
serialized form - obviously, if it is missing data at the end of the 
string, it will not be unserialized correctly and strange stuff may happen.

| But I did try your suggestion; I increased the datatype of pref_value in
| the
| horde_prefs table of the horde database from TEXT to LONGTEXT.
| I then inserted the blacklist as a 'filters' pref_scope, and tried to log
| in.
| This time, I did not even get an 'expired session' autologout - it just
| logs me
| out without any message - dropping me back to the login screen. It is not
| corrupting the session data any more but still does not allow me to
| login!

I'm wondering if this has to do with the above problem.  Since your data is 
already corrupt, unserialize() does not know how to handle it and is 
dying.  I would remove any oversized fields from your DB and try again.

| I wonder what is going on here? And whether you have any other ideas.

You can always try upgrading Horde/IMP (always a good idea) and/or 
upgrading PHP to see if this fixes the problem.

michael

______________________________________________
Michael Slusarz [slusarz at bigworm.colorado.edu]
The University of Colorado at Boulder


More information about the imp mailing list