[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Squrrelmail



On Fri, Aug 02, 2002 at 11:51:22PM +0100, Patrick Kirk wrote:

| I had Squirrelmail working but now I keep getting page not found
| errors when I try to login.

| If I try and login as that account, and watch with 'top' apache grabs
| 99% CPU and tries to lead huge amounts of data into RAM before bombing
| out at about 50 MB.

Are you using uw-imapd as the IMAP server (and maildir as the format
for the mail store)?  If so the problem lies both with uw-imapd and
with squirrelmail.  The first problem is uw crashes (SEGV) when a
client requests the status of the inbox while the inbox isn't the
selected folder.  The second problem is squirrelmail/php doesn't do
much (any?) error handling, so it sits there spinning its wheels and
sucking up memory as it "reads" data from the dead socket.

| I don't know how to narrow this down.  Has anyone else similiar
| problems?  

I mentioned the uw problem on-list a while back, and Jaldhar asked me
to file a bug report on it.  I remember doing that, but I can't find
the bug number (or any trace of the report) anywhere.  (which could
explain why I haven't heard anything back from him about it!)  When I
get a bit more spare time to sit at my computer I'll get back to it
and see if we can't work this out.  In the meantime, here's a quick
band-aid for squirrelmail :

--- functions/imap_general.php.bak-orig 2002-07-06 13:16:27.000000000 -0400
+++ functions/imap_general.php  2002-08-02 22:30:35.000000000 -0400
@@ -409,6 +409,13 @@
  * Returns the number of unseen messages in this folder
  */
 function sqimap_unseen_messages ($imap_stream, $mailbox) {
+
+    // XXX DSH
+    if ( "$mailbox" == "INBOX" )
+        {
+        return 0 ;
+        }
+
     $read_ary = sqimap_run_command ($imap_stream, "STATUS \"$mailbox\" (UNSEEN)", true, $result, $message);
     $i = 0;
     while (isset($read_ary[$i])) {


(it's simple -- don't request the status of the inbox since that makes
the server crash)

-D

-- 
"Wipe Info uses hexadecimal values to wipe files. This provides more
security than wiping with decimal values." -- Norton SystemWorks 2002 Manual
 
http://dman.ddts.net/~dman/

Attachment: pgpb8fVz4UP7v.pgp
Description: PGP signature


Reply to: