[imp] imp goes into an infinite loop for a couple of accounts (in Folder.php)

Jim Ward seker at uwyo.edu
Wed Nov 16 07:33:00 PST 2005


We have about 2 dozen people using  horde/imp regularly and 2 accounts
cause Folder.php to go into an infinite loop, generating tons of log 
messages from php to the error log (see below) and php never stops, the 
web server has be stopped and restarted.   This loop only happens in 
imp, they can use horde, other modules are load up just fine, although 
they use the addressbook or calendar to store anything.  All the rest 
of the people can use the system with problems.

Both the failing accounts, are for users who don't setup any options, 
they just use the defaults and were working correctly until I upgraded 
(previous upgrade was about late august) via CVS last friday 
(11/11/05).  They login correctly, the horde main page loads.  When 
they click on mail, then it goes into the infinite loop.  It will also 
happen, when the click on personal information in mail options, I 
haven't had them try any of the other options in mail.

I've created a new user account and loged it into horde/imp and it 
worked without problems.  I deleted all the entries (I think anyway) 
from the database on one of the failing accounts and had the user login 
again and it still did the same thing.

message, repeated until fills up the file space for the logs :
[client ip addr] PHP Warning:  implode(): Bad arguments. in
/var/www/html/horde/imp/lib/Folder.php on line 174, referer:
https://webmail/horde/services/portal/sidebar.php
[client ip addr] PHP Warning:  array_pop(): The argument should be an
array in /var/www/html/horde/imp/lib/Folder.php on line 186, referer:
https://webmail/horde/services/portal/sidebar.php
[client ip addr] PHP Notice:  Uninitialized string offset:  0 in
/var/www/html/horde/imp/lib/Folder.php on line 174, referer:
https://webmail/horde/services/portal/sidebar.php

The lines listed by the errors are:
173:  while ($i = count($parentparts)) {
174:  $parent = implode($mailbox['d']['delimiter'], $parentparts);
186:  array_pop($parentparts);
So my guess is that the $parentparts array doesn't have correct values 
and the while loop doesn't end when parentparts is empty, but it's not 
empty due to the error at 174 and/or 186.

As a stop gap, I changed to horde configs:  max_execution_time to 30 
and error_reporting to E_ERROR, so everyone else can use the system.

Any thoughts or help would be great.  Thanks.


configs info:
Redhat E4, php-4.3.9-3.9, mysql-4.1.12-3.RHEL4.1
cvs head (today 11/16/05), using mysql drivers, no mailbox caching
Horde: 3.2-cvs Imp: H3 (4.2-cvs) Ingo: H3 (1.2-cvs) Jeta: 0.1-cvs
Kronolith: H3 (2.2-cvs) Mnemo: H3 (2.2-cvs) Nag: H3 (2.2-cvs) Turba: H3 
(2.2-cvs)

-- 
Jim Ward                                                  seker at uwyo.edu
SA, COSC, UW

"Here's something to think about:  How come you never see a headline like
  `Psychic Wins Lottery.'"
-- Comedian Jay Leno






More information about the imp mailing list