6.0.0-beta1
8/11/25

[#7681] changes to lib/IMAP/Tree.php cause folder list to fail
Summary changes to lib/IMAP/Tree.php cause folder list to fail
Queue IMP
Queue Version 4.3
Type Bug
State No Feedback
Priority 1. Low
Owners
Requester guy+horde.org (at) mombe (dot) org
Created 11/13/2008 (6115 days ago)
Due
Updated 12/16/2008 (6082 days ago)
Assigned 11/14/2008 (6114 days ago)
Resolved 12/16/2008 (6082 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
12/16/2008 06:15:54 PM Michael Slusarz State ⇒ No Feedback
 
12/05/2008 05:11:15 PM Michael Slusarz Comment #6 Reply to this comment

[Show Quoted Text - 12 lines]
If that is indeed what is stored in your 
$_SESSION['imp']['cache']['imp_tree'], I have no idea what is wrong 
with your installation.  $_SESSION['imp']['cache']['imp_tree'] is set 
in one location in the code, and in that location it is serialized.   
Your data is not serialized.



Maybe this patch will help:

http://cvs.horde.org/diff.php/imp/lib/IMAP/Tree.php?r1=1.25.2.60&r2=1.25.2.61
12/04/2008 05:39:52 AM guy+horde (dot) org (at) mombe (dot) org Comment #5 Reply to this comment
Please add a print_r($instance) statement directly above line 220 and
report the results.
The result is simply the string "5".
OK - add print_r($_SESSION['imp']['cache']['imp_tree']) directly
above line 220.
IMP_Tree Object

(

     [_tree] => Array

         (

             [%] => Array

                 (

                     [a] => 64

                     [v] => %

                 )



             [INBOX] => Array

                 (

                     [a] => 40

                     [c] => 0

                     [p] => %

                     [v] => INBOX

                     [l] => Inbox

                 )



             [INBOX.Drafts] => Array

                 (

                     [a] => 8

                     [c] => 0

                     [p] => %

                     [v] => INBOX.Drafts

                     [l] => Drafts

                 )



             [INBOX.sent-mail] => Array

                 (

                     [a] => 8

                     [c] => 0

                     [p] => %

                     [v] => INBOX.sent-mail

                     [l] => sent-mail

                 )



             [INBOX.SPAM] => Array

                 (

                     [a] => 8

                     [c] => 0

                     [p] => %

                     [v] => INBOX.SPAM

                     [l] => SPAM

                 )



             [INBOX.Trash] => Array

                 (

                     [a] => 8

                     [c] => 0

                     [p] => %

                     [v] => INBOX.Trash

                     [l] => Trash

                 )



             [user] => Array

                 (

                     [a] => 67

                     [c] => 0

                     [p] => %

                     [v] => user

                     [l] => user

                 )



             [user.helpdesk] => Array

                 (

                     [a] => 8

                     [c] => 1

                     [p] => user

                     [v] => user.helpdesk

                     [l] => helpdesk

                 )



             [user.mailarpwatch] => Array

                 (

                     [a] => 8

                     [c] => 1

                     [p] => user

                     [v] => user.mailarpwatch

                     [l] => mailarpwatch

                 )



             [user.mailroot] => Array

                 (

                     [a] => 72

                     [c] => 1

                     [p] => user

                     [v] => user.mailroot

                     [l] => mailroot

                 )



             [user.mailroot.novell] => Array

                 (

                     [a] => 8

                     [c] => 2

                     [p] => user.mailroot

                     [v] => user.mailroot.novell

                     [l] => novell

                 )



             [user.mailroot.TEST] => Array

                 (

                     [a] => 8

                     [c] => 2

                     [p] => user.mailroot

                     [v] => user.mailroot.TEST

                     [l] => TEST

                 )



             [user.mailsystems] => Array

                 (

                     [a] => 72

                     [c] => 1

                     [p] => user

                     [v] => user.mailsystems

                     [l] => mailsystems

                 )



             [user.mailsystems.DSL] => Array

                 (

                     [a] => 8

                     [c] => 2

                     [p] => user.mailsystems

                     [v] => user.mailsystems.DSL

                     [l] => DSL

                 )



             [user.mailsystems.Meal Booking] => Array

                 (

                     [a] => 8

                     [c] => 2

                     [p] => user.mailsystems

                     [v] => user.mailsystems.Meal Booking

                     [l] => Meal Booking

                 )



             [user.mailsystems.ResNet] => Array

                 (

                     [a] => 8

                     [c] => 2

                     [p] => user.mailsystems

                     [v] => user.mailsystems.ResNet

                     [l] => ResNet

                 )



             [user.mailsystems.SEALS] => Array

                 (

                     [a] => 8

                     [c] => 2

                     [p] => user.mailsystems

                     [v] => user.mailsystems.SEALS

                     [l] => SEALS

                 )



             [user.mailsystems.TENET] => Array

                 (

                     [a] => 8

                     [c] => 2

                     [p] => user.mailsystems

                     [v] => user.mailsystems.TENET

                     [l] => TENET

                 )



             [user.mailsystems.Thawte] => Array

                 (

                     [a] => 8

                     [c] => 2

                     [p] => user.mailsystems

                     [v] => user.mailsystems.Thawte

                     [l] => Thawte

                 )



             [user.mailsystems.TO DO] => Array

                 (

                     [a] => 8

                     [c] => 2

                     [p] => user.mailsystems

                     [v] => user.mailsystems.TO DO

                     [l] => TO DO

                 )



             [user.mailsystems.Wireless] => Array

                 (

                     [a] => 8

                     [c] => 2

                     [p] => user.mailsystems

                     [v] => user.mailsystems.Wireless

                     [l] => Wireless

                 )



         )



     [_currparent] =>

     [_currkey] =>

     [_currstack] => Array

         (

         )



     [_showunsub] => 1

     [_parent] => Array

         (

             [%] => Array

                 (

                     [0] => INBOX

                     [1] => INBOX.Drafts

                     [2] => INBOX.sent-mail

                     [3] => INBOX.SPAM

                     [4] => INBOX.Trash

                     [5] => user

                 )



             [user] => Array

                 (

                     [0] => user.helpdesk

                     [1] => user.mailarpwatch

                     [2] => user.mailroot

                     [3] => user.mailsystems

                 )



             [user.mailroot] => Array

                 (

                     [0] => user.mailroot.novell

                     [1] => user.mailroot.TEST

                 )



             [user.mailsystems] => Array

                 (

                     [0] => user.mailsystems.DSL

                     [1] => user.mailsystems.Meal Booking

                     [2] => user.mailsystems.ResNet

                     [3] => user.mailsystems.SEALS

                     [4] => user.mailsystems.TENET

                     [5] => user.mailsystems.Thawte

                     [6] => user.mailsystems.TO DO

                     [7] => user.mailsystems.Wireless

                 )



         )



     [_poll] => Array

         (

             [INBOX] => 1

         )



     [_expanded] => Array

         (

             [Virtual Folders] => 1

         )



     [_subscribed] =>

     [_changed] => 1

     [_unsubview] => 1

     [_imap_sort] => IMAP_Sort Object

         (

             [_delimiter] => .

             [_sortinbox] => 1

         )



     [_server] => {localhost:143/imap/notls}

     [_delimiter] => .

     [_namespaces] => Array

         (

             [INBOX.] => Array

                 (

                     [name] => INBOX.

                     [delimiter] => .

                     [type] => personal

                     [hidden] =>

                 )



             [user.] => Array

                 (

                     [name] => user.

                     [delimiter] => .

                     [type] => other

                     [hidden] =>

                 )



             [] => Array

                 (

                     [name] =>

                     [delimiter] => .

                     [type] => shared

                     [hidden] =>

                 )



         )



     [_eltdiff] =>

     [_forceopen] =>

)




12/03/2008 11:52:35 PM Michael Slusarz Comment #4 Reply to this comment
Please add a print_r($instance) statement directly above line 220 and
report the results.
The result is simply the string "5".
OK - add print_r($_SESSION['imp']['cache']['imp_tree']) directly above 
line 220.
11/15/2008 04:17:57 AM guy+horde (dot) org (at) mombe (dot) org Comment #3 Reply to this comment
Please add a print_r($instance) statement directly above line 220 and
report the results.
The result is simply the string "5".
11/14/2008 08:30:55 PM Michael Slusarz Comment #2
Priority ⇒ 1. Low
State ⇒ Feedback
Reply to this comment
[11-Nov-2008 23:13:21] PHP Warning:  register_shutdown_function() [<a
href='function.register-shutdown-function'>function.register-shutdown-function</a>]: Invalid shutdown callback 'b::_store' passed in /usr/local/www/horde/imp/lib/IMAP/Tree.php on 
line
220
Please add a print_r($instance) statement directly above line 220 and 
report the results.

[Show Quoted Text - 10 lines]
This unfortunately tells us nothing, because that was the commit 
(1,000+ changed lines) that implemented the new IMAP_Tree internals.   
So everything changed with that commit.
11/13/2008 08:37:48 PM guy+horde (dot) org (at) mombe (dot) org Comment #1
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ changes to lib/IMAP/Tree.php cause folder list to fail
Queue ⇒ IMP
Milestone ⇒
Patch ⇒ No
State ⇒ Unconfirmed
Reply to this comment
I'm running Horde 3.3/IMP 4.3 out of the FreeBSD ports system 
(www/horde-base & mail/horde-imp) under PHP 5.2.6/Apache 2.0.63.  IMP 
is configured to connect to a remote IMAP server running Cyrus 2.2.13.



The version of lib/IMAP/Tree.php included in the 4.3 tarball causes 
the IMAP "Folders" button page to crash.  No folder list is displayed 
to the user, and the error message in my logs is:



[11-Nov-2008 23:13:21] PHP Warning:  register_shutdown_function() [<a 
href='function.register-shutdown-function'>function.register-shutdown-function</a>]: Invalid shutdown callback 'b::_store' passed in /usr/local/www/horde/imp/lib/IMAP/Tree.php on line 
220

[11-Nov-2008 23:13:21] PHP Fatal error:  Call to a member function 
build() on a non-object in /usr/local/www/horde/imp/folders.php on 
line 345



I've established that it is a particular commit that introduces the 
error that I'm experiencing.  If I change lib/IMAP/Tree.php to version:



   $Horde: imp/lib/IMAP/Tree.php,v 1.25.2.50 2008/06/06 18:00:17 slusarz Exp $



out of the CVS repository, things appear to work as I expect.  If, 
however, I use version:



   $Horde: imp/lib/IMAP/Tree.php,v 1.25.2.51 2008/06/15 07:06:39 slusarz Exp $



or later, the problem appears.  I'm guessing its one of the changes in 
1.25.2.51 that introduces the problem, but I have been unable to 
isolate it further than that.



The problem also affects DIMP 1.1, since it makes use of IMP's library 
functions.  In DIMP's case, the mailbox pane simply doesn't load.   
Similar errors are produced in the logs:



[11-Nov-2008 21:57:02] PHP Warning:  register_shutdown_function() [<a 
href='func

tion.register-shutdown-function'>function.register-shutdown-function</a>]: 
Inval

id shutdown callback 'b::_store' passed in 
/usr/local/www/horde/imp/lib/IMAP/Tre

e.php on line 220

[11-Nov-2008 21:57:02] PHP Fatal error:  Call to a member function 
folderList()

on a non-object in /usr/local/www/horde/dimp/imp.php on line 283

Saved Queries