Subject: | Endless loop during select() |
Hello Mark,
I'm having trouble using the new code (3.02), it goes into an endless
loop
while selecting a shared folder. Here's a dump of the folder list:
Output of: print join(", ",$imap->folders),".\n";
INBOX, INBOX/0, INBOX/Aufgaben, INBOX/Journal, INBOX/Kalender,
INBOX/Kontakte, INBOX/Notizen, "user/admin/Kalender",
user/admin/Kalender4, user/admin/Notes
Note the quote signs around "user/admin/Kalender". The select()
function
then goes into an endless loop and perl is printing this:
Deep recursion on subroutine "Mail::IMAPClient::Massage"
at /usr/lib/perl5/vendor_perl/5.8.8/Mail/IMAPClient.pm line 1818.
Deep recursion on subroutine "Mail::IMAPClient::status"
at /usr/lib/perl5/vendor_perl/5.8.8/Mail/IMAPClient.pm line 2742.
Here's a dump of the folder list transfered via IMAP:
2 LIST "" *
* LIST (\HasChildren) "/" "INBOX"
* LIST (\HasNoChildren) "/" "INBOX/0"
* LIST (\HasNoChildren) "/" "INBOX/Aufgaben"
* LIST (\HasNoChildren) "/" "INBOX/Journal"
* LIST (\HasNoChildren) "/" "INBOX/Kalender"
* LIST (\HasNoChildren) "/" "INBOX/Kontakte"
* LIST (\HasNoChildren) "/" "INBOX/Notizen"
* LIST (\HasNoChildren) "/" "user/admin/Kalender"
* LIST (\HasNoChildren) "/" "user/admin/Kalender4"
* LIST (\HasNoChildren) "/" "user/admin/Notes"
2 OK Completed (0.000 secs 11 calls)
I think I found the source of the issue: The server returned
"Permission denied" for the "STATUS" command of "user/admin/Kalender"
and it kept the quote signs around the folder name (seems like I played
around with the ACLs).
Just call $imap->select("\"foldername\"") and it will run into the
endless loop.
Cheers,
Thomas