Package: imp4 Version: 4.0.3-1 Severity: important
Hello, using IMP 4.0.2 and 4.0.3 (same symptoms). If (and only if) I use the folder prefix during login ("INBOX", using Courier IMAP server) then the sidebar with the folders is not shown in the browser. In the apache logs, the apache process which provides this HTML frame is killed with SIGSEGV. Using the PHP debugger "apd", I see an endless loop in the functions imp_tree->_addlevel imp_tree->_makemailboxtreeelt imp_tree->_initsubscribed is_null imp_tree->_setsubscribed imp_tree->_setattribute imp_tree->ispolled imp_tree->getpolllist is_null imp_tree->_setpolled imp_tree->_setattribute imp_tree->isopen imp_tree->_getinitexpandedmode prefs->getvalue nls->getcharset intval nls->_cachedcharset is_null prefs->convertfromdriver imp_tree->_setopen imp_tree->_setattribute explode count string->convertcharset is_null string->lower (2x) is_array is_object is_string util->extensionexists mb_convert_encoding imp_tree->_insertelt strlen imp_tree->expand imp_tree->_convertname strcasecmp imp_tree->isdiscovered imp_tree->_childreninfo imp_tree->haschildren imp_tree->_getlist imp_tree->_getstream call_user_func imap_getmailboxes is_array imp_tree->_removeserverstring strpos substr imp_tree->_convertname strcasecmp imp_tree->_setchildren imp_tree->_setattribute (3x) > imp_tree->_addlevel ==== same again, recursively imp_tree->_makemailboxtreeelt imp_tree->_initsubscribed is_null imp_tree->_setsubscribed imp_tree->_setattribute imp_tree->ispolled imp_tree->getpolllist is_null imp_tree->_setpolled imp_tree->_setattribute imp_tree->isopen imp_tree->_getinitexpandedmode prefs->getvalue nls->getcharset intval This whole function call tree from APD is 53 MB as a text file. I can bzip2 it and send it if you want. :-) The segfault happens in libc-client2002edebian, called from php4's imap.so, which seems to provide the IMAP functions. (gdb output from apache core file) #0 0x276a5b04 in __strtoul_internal () from /lib/libc.so.6 #1 0x27e0ec7a in mail_valid_net_parse_work () from /usr/lib/libc-client.so.2002edebian #2 0x27e0ea50 in mail_valid_net_parse () from /usr/lib/libc-client.so.2002edebian #3 0x27e0e9b5 in mail_valid_net () from /usr/lib/libc-client.so.2002edebian #4 0x27e2f745 in imap_valid () from /usr/lib/libc-client.so.2002edebian #5 0x27e30010 in imap_list_work () from /usr/lib/libc-client.so.2002edebian #6 0x27e2fa5d in imap_list () from /usr/lib/libc-client.so.2002edebian #7 0x27e0f56b in mail_list () from /usr/lib/libc-client.so.2002edebian #8 0x27de2018 in zif_imap_list_full () from /usr/lib/php4/20020429/imap.so #9 0x27abfc3b in call_user_function_ex () from /usr/lib/apache/1.3/libphp4.so #10 0x27a2ed3b in zif_call_user_func () from /usr/lib/apache/1.3/libphp4.so #11 0x27ad7f60 in execute () from /usr/lib/apache/1.3/libphp4.so When I watch the IMAP communication, I see that if (and only if) I specify "INBOX" as a folder prefix I see IMP repeatedly listing INBOX: * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT Q UOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. S ee COPYING for distribution information.. * CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION. * LIST (\Noselect) "." "". * BYE Courier-IMAP server shutting down. * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT Q UOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. S ee COPYING for distribution information.. * CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION. * LIST (\Marked \HasChildren) "." "INBOX". * LSUB (\HasNoChildren) "." "INBOX.RB-Spamverdacht". * LSUB (\HasNoChildren) "." "INBOX.RB-Spam". * LSUB (\HasNoChildren) "." "INBOX.RB-Ham". * LSUB (\Marked \HasChildren) "." "INBOX". (more folders listed here) * LSUB (\HasNoChildren) "." "INBOX.Drafts". * LSUB (\HasNoChildren) "." "INBOX.Trash". * LSUB (\HasNoChildren) "." "INBOX.Sent". * LIST (\Marked \HasChildren) "." "INBOX". * LIST (\Marked \HasChildren) "." "INBOX". * LIST (\Marked \HasChildren) "." "INBOX". * LIST (\Marked \HasChildren) "." "INBOX". * LIST (\Marked \HasChildren) "." "INBOX". * LIST (\Marked \HasChildren) "." "INBOX". (repeated about 200 times) IMHO, php4 is right in killing this script because it loops endlessly. This might be connected to Horde Bug #1620 but I could not test this yet. Please investigate - if you need the full log files, just tell me. If you want me to insert debug commands in the IMP4 scripts, I'll happily help. Thanks! Jens -- System Information: Debian Release: 3.1 APT prefers unstable (however my "Default-Release" is set to "stable") APT policy: (500, 'unstable'), (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.4.29hf4-jb-050316 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages imp4 depends on: ii horde3 3.0.4-4 horde web application framework ii php4-imap 4:4.3.10-16 IMAP module for php4 -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]