ID: 33349
Updated by: iliaa@php.net
Reported By: benjamin dot malynovytch at libertic dot fr
-Status: Open
+Status: Feedback
Bug Type: IMAP related
Operating System: Linux (Mandrake 9.2)
PHP Version: 5.0.4
New Comment:
If the problem persists, please provide a URL to the complete text of
the message that causes the hang.
Previous Comments:
------------------------------------------------------------------------
[2005-06-17 12:23:17] benjamin dot malynovytch at libertic dot fr
I had already tried the CVS version before submitting the bug. It
hasn't solved the problem.
I am going to try a different version of the c-client library, but the
University of Washington only gives the latest version on their ftp
(last update was made at the end of 2003 - Version 2004d).
I hope it will solve the problem, but why does the imap_fetchstructure
function doesn't send en error message if something goes wrong (lost
connection, invalid format ...) ?
Thanks for the support :)
------------------------------------------------------------------------
[2005-06-15 15:13:58] sniper@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
If you can reproduce it with the snapshot, try upgrading the c-client.
(it might be a bug in that, not PHP..)
------------------------------------------------------------------------
[2005-06-15 11:36:30] benjamin dot malynovytch at libertic dot fr
Description:
------------
Calling imap_fetchstructure() on certain multi-part messages causes an
indefinite hang (function never returns).
Versions:
Tried: PHP-5.0.3, PHP-5.0.4, PHP-5.0.5-dev
c-client: imap-2004d
Apache: httpd-2.0.53
I gave a look at other related bugs, and checkd that que imap link was
still up when the function was called. I also tried to place a timer
between two function calls.
Nothing worked, the link is still up when que function hangs.
Reproduce code:
---------------
<?php
$pop_user = "someuser";
$pop_pass = "somepassword";
$pop_host = "somehost.somewhere.com";
$mbox_path = "/path/to/failedmsg.1";
$pop_conn_string = "\{$pop_host:143/imap}$mbox_path";
$pop_conn = imap_open($pop_conn_string, $pop_user, $pop_pass);
// Assuming message-of-death is first one in the mbox
$mimeobj = imap_fetchstructure($pop_conn, 1);
// Never gets here...
imap_close($pop_conn);
?>
Expected result:
----------------
imap_fetchstructure() should quickly return the structure of the
message.
Actual result:
--------------
The function never returns on most mails, and page loading stops.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=33349&edit=1