Summary | IMAP Cache Problem |
Queue | IMP |
Queue Version | 6.1.2 |
Type | Bug |
State | No Feedback |
Priority | 1. Low |
Owners | |
Requester | busywater (at) gmail (dot) com |
Created | 07/15/2013 (4324 days ago) |
Due | |
Updated | 07/24/2013 (4315 days ago) |
Assigned | |
Resolved | 07/24/2013 (4315 days ago) |
Milestone | |
Patch | No |
working. This has provided no detail as to *why* your setup isn't
working. In other words - *why* doesn't the cache object exist when
you are trying to access it. That's what is important, not what your
cache settings are.
You need to debug at the PHP level why this is happening (e.g. tracing
the code with breakpoints) most likely. If you are unable/unwilling
to do this, there is nothing more we can do from this end.
Either two of the following settings of horde can trigger the problem:
Set A:
$conf['cache']['driver'] = 'Hashtable';
$conf['cache']['use_memorycache'] = 'Hashtable';
$conf['hashtable']['params']['hostspec'] = array('localhost');
$conf['hashtable']['params']['port'] = array('6379');
$conf['hashtable']['driver'] = 'Predis';
Set B:
$conf['cache']['driver'] = 'File';
$conf['cache']['use_memorycache'] = 'Hashtable';
$conf['hashtable']['params']['hostspec'] = array('localhost');
$conf['hashtable']['params']['port'] = array('6379');
$conf['hashtable']['driver'] = 'Predis';
I resort to turn off the caching to avoid the imp error by the
following settings:
$conf['cache']['default_lifetime'] = 86400;
$conf['cache']['driver'] = 'Null';
$conf['cache']['use_memorycache'] = 'Hashtable';
$conf['hashtable']['params']['hostspec'] = array('localhost');
$conf['hashtable']['params']['port'] = array('6379');
$conf['hashtable']['driver'] = 'Predis';
Did I mis-configure anything? Or this is Horde_Cache problem?
Priority ⇒ 1. Low
driver isn't initialized for you.
Steps to reproduce the error.
Step 1. Login horde with accounta and logout
Step 2. Login horde with accountb and the error occurs.
------------------------------
XIMAPPROXY] Dovecot ready.
1 [LOGIN Command - username: accountb@domain.com]
S: * OK [XPROXYREUSE] IMAP connection reused by imapproxy
S: 1 OK User logged in
C: 2 LOGOUT
S: * BYE LOGOUT received
S: 2 OK Completed
------------------------------
XIMAPPROXY] Dovecot ready.
1 [LOGIN Command - username: accountb@domain.com]
S: * OK [XPROXYREUSE] IMAP connection reused by imapproxy
S: 1 OK User logged in
S: * BYE LOGOUT received
S: 3 OK Completed
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ IMAP Cache Problem
Queue ⇒ IMP
Milestone ⇒
Patch ⇒ No
State ⇒ Unconfirmed
dovecot 2.2.4
Imapproxy 1.2.7
horde 5.1.1
imp 6.1.2
Redis (2.6.14) as caching driver
When I turn on cache = 'cache' in imp backend.local.php, I got the 'Error
when communicating with the server' in viewing the email box. The
apache logs show:
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP Fatal error: Call
to a member function get() on a non-object in
/usr/share/php/Horde/Cache/Storage/Hashtable.php on line 68, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP Stack trace:,
referer: https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 1. {main}()
/var/www/html/webmail/services/ajax.php:0, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 2.
Horde_Core_Ajax_Application->doAction()
/var/www/html/webmail/services/ajax.php:58, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 3.
call_user_func() /usr/share/php/Horde/Core/Ajax/Application.php:162,
referer: https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 4.
IMP_Ajax_Application_Handler_Dynamic->dynamicInit()
/usr/share/php/Horde/Core/Ajax/Application.php:162, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 5.
Horde_Core_Ajax_Application->callAction()
/var/www/html/webmail/imp/lib/Ajax/Application/Handler/Dynamic.php:373,
referer: https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 6.
call_user_func() /usr/share/php/Horde/Core/Ajax/Application.php:232,
referer: https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 7.
IMP_Ajax_Application_Handler_Common->viewPort()
/usr/share/php/Horde/Core/Ajax/Application.php:232, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 8.
IMP_Ajax_Application->viewPortData()
/var/www/html/webmail/imp/lib/Ajax/Application/Handler/Common.php:99,
referer: https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 9.
IMP_Ajax_Application_ListMessages->listMessages()
/var/www/html/webmail/imp/lib/Ajax/Application.php:246, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 10.
IMP_Imap->openMailbox()
/var/www/html/webmail/imp/lib/Ajax/Application/ListMessages.php:133,
referer: https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 11.
IMP_Imap->__call()
/var/www/html/webmail/imp/lib/Ajax/Application/ListMessages.php:133,
referer: https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 12.
call_user_func_array() /var/www/html/webmail/imp/lib/Imap.php:569, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 13.
Horde_Imap_Client_Base->openMailbox()
/var/www/html/webmail/imp/lib/Imap.php:569, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 14.
Horde_Imap_Client_Socket->_openMailbox()
/usr/share/php/Horde/Imap/Client/Base.php:978, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 15.
Horde_Imap_Client_Cache->getMetaData()
/usr/share/php/Horde/Imap/Client/Socket.php:923, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 16.
Horde_Imap_Client_Cache_Backend_Cache->getMetaData()
/usr/share/php/Horde/Imap/Client/Cache.php:173, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 17.
Horde_Imap_Client_Cache_Backend_Cache->_loadSliceMap()
/usr/share/php/Horde/Imap/Client/Cache/Backend/Cache.php:255, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 18.
Horde_Cache->get()
/usr/share/php/Horde/Imap/Client/Cache/Backend/Cache.php:435, referer:
https://mail.domain.org/imp/dynamic.php?page=mailbox
[Wed Jul 10 00:32:47 2013] [error] [client 1.2.3.4] PHP 19.
Horde_Cache_Storage_Hashtable->get() /usr/share/php/Horde/Cache.php:97,
referer: https://mail.domain.org/imp/dynamic.php?page=mailbox
However, when logout and login horde, the error does not appear and
IMP become functional again. So, it is not good to ask the users to
try login agin to make viewing emails possible. There is no choice
but to turn off caching of imap backend by
setting 'cache' => false.
Please offer help. Thanks.