Menu

#14 Missing Mails in IMAP account (broken pipe)

closed
nobody
None
5
2010-05-05
2009-12-10
No

Hello,
the ical multiple calendar works perfect now, but the imap mail does not show all mails. When I try to receive Mails, it takes for ever and I get an "Broken Pipe" error.
Any Help?

Discussion

  • gmorky gmork

    gmorky gmork - 2009-12-10

    screenshot

     
  • Mickael Guessant

    Is there a long delay between last log entry and broken pipe ?

     
  • gmorky gmork

    gmorky gmork - 2009-12-10

    It takes about 2 minutes, before the error pops up. During this time the log is writing all the time. No, the "broken pipe" shows up during the log entries are written. Not after a delay.

     
  • Mickael Guessant

    Does the happen always on the same message ?

     
  • gmorky gmork

    gmorky gmork - 2009-12-10

    I don't know, where can see it? I already sent you a logfile per Mail. Perhaps this will help you to find the problem?
    Thanks.

     
  • gmorky gmork

    gmorky gmork - 2009-12-10

    I cleaned up my deleted and sent files. More over I deleted a message in my inbox (2MB). Now it works, but the "broken pipe" error still pops up.

     
  • Mickael Guessant

    Ok, the broken pipe is probably some kind of timeout issue, maybe from iCal, maybe from Exchange. The fact that it seems to happen more often on bigger messages confirms this.

     
  • filippodei

    filippodei - 2010-03-02

    its the same problem for me using davmail and mail on snow leopard in connection with exchange 2003. for now i have tried only from internet position outside the lan of tre exchange 2003 server. now i will go to try to install davmail on a mac inside the lan mentioned above. the strange is that all still good for the mail and the folder of ther mail server account exchange 2003 but even every 1 or 3 minutes i receive the davmail BROKEN PIPE error popup and if i see in the davamail log i see that this is the cause:
    Date: Tue Mar 02 09:53:08 CET 2010 (1267519988193)
    Thread: ImapConnection-54963
    Message #: 28404
    Level: DEBUG
    NDC:
    Category: davmail
    Message: Client closed connection
    Location: davmail.ui.tray.DavGatewayTray.displayMessage(DavGatewayTray.java:96)
    Thrown:

     
  • hossi

    hossi - 2010-03-03

    I think I have stumbled to the same problem myself when using Exchange+DavMail+Thunderbird. Things seem to work better with Evolution, since it seems to send less complicated IMAP commands. For a while, I had a better usage experience when running Thunderbird without Junk Mail controls enabled. Current problem arises only when there's significant network traffic between DavMail and OWA.

    Here's a snippet from my log:

    2010-03-02 18:37:15,064 DEBUG [ImapConnection-52524] davmail - > * 356 EXISTS
    2010-03-02 18:37:15,065 DEBUG [ImapConnection-52524] davmail - > * 356 RECENT
    2010-03-02 18:37:15,065 DEBUG [ImapConnection-52524] davmail - > * OK [UIDVALIDITY 1]
    2010-03-02 18:37:15,065 DEBUG [ImapConnection-52524] davmail - > * OK [UIDNEXT 359]
    2010-03-02 18:37:15,065 DEBUG [ImapConnection-52524] davmail - > * FLAGS (\Answered \Deleted \Draft \Flagged \Seen $Forwarded Junk)
    2010-03-02 18:37:15,065 DEBUG [ImapConnection-52524] davmail - > * OK [PERMANENTFLAGS (\Answered \Deleted \Draft \Flagged \Seen $Forwarded Junk \*)]
    2010-03-02 18:37:15,065 DEBUG [ImapConnection-52524] davmail - > 3 OK [READ-WRITE] select completed
    2010-03-02 18:37:15,105 DEBUG [ImapConnection-52524] davmail - < 4 UID fetch 1:* (FLAGS)
    2010-03-02 18:37:15,251 DEBUG [ImapConnection-52524] davmail - > * 1 FETCH (UID 1 FLAGS (\Seen))
    2010-03-02 18:37:15,251 DEBUG [ImapConnection-52524] davmail - > * 2 FETCH (UID 2 FLAGS (\Seen))
    2010-03-02 18:37:15,251 DEBUG [ImapConnection-52524] davmail - > * 3 FETCH (UID 3 FLAGS (\Seen))
    [...]
    2010-03-02 18:37:15,303 DEBUG [ImapConnection-52524] davmail - > * 355 FETCH (UID 357 FLAGS (\Seen))
    2010-03-02 18:37:15,303 DEBUG [ImapConnection-52524] davmail - > * 356 FETCH (UID 358 FLAGS (\Seen))
    2010-03-02 18:37:15,303 DEBUG [ImapConnection-52524] davmail - > 4 OK UID FETCH completed
    2010-03-02 18:37:15,307 DEBUG [ImapConnection-52524] davmail - < 5 UID fetch 133:323,326:358 (UID RFC822.SIZE FLAGS BODY.PEEK[HEADER.FIELDS (From To Cc Subject Date Message-ID Priority X-Priority References Newsgroups In-Reply-To Content-Type)])
    2010-03-02 18:37:24,134 DEBUG [ImapConnection-35506] davmail - > * 133 FETCH (UID 133 FLAGS (\Seen) RFC822.SIZE 15949247 BODY[HEADER.FIELDS ()] {2271}
    2010-03-02 18:37:24,134 ERROR [ImapConnection-35506] davmail - Broken pipe
    java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
    at davmail.imap.ImapConnection.handleFetch(ImapConnection.java:571)
    at davmail.imap.ImapConnection.run(ImapConnection.java:267)
    2010-03-02 18:37:24,135 DEBUG [ImapConnection-35506] davmail - > 30 NO Unable to retrieve message: Broken pipe
    2010-03-02 18:37:24,135 DEBUG [ImapConnection-35506] davmail - Client closed connection
    2010-03-02 18:38:19,307 DEBUG [davmail.imap.ImapServer] davmail - Connection from /127.0.0.1 on port 2143

    I looked through the code but did not see any clear errors in it with first glance. It looks like the outputstream is simply
    closed before the operation completes.

    I start Thunderbird with IMAP debug enabled, as in:
    $ export NSPR_LOG_MODULES=imap:5
    $ export NSPR_LOG_FILE=/tmp/imap.log
    $ thunderbird

    The output is as follows:

    1221605696[170ab9e0]: 1746a380:localhost:S-Material:CreateNewLineFromSocket: 4 OK UID FETCH completed^M
    1221605696[170ab9e0]: 1746a380:localhost:S-Material:SendData: 5 UID fetch 133:323,326:358 (UID RFC822.SIZE FLAGS BODY.PEEK[H\ EADER.FIELDS (From To Cc Subject Date Message-ID Priority X-Priority References Newsgroups In-Reply-To Content-Type)])^M
    1221605696[170ab9e0]: ReadNextLine [stream=1756c060 nb=0 needmore=1]
    1221605696[170ab9e0]: ReadNextLine [stream=1756c060 nb=4294967295 needmore=0]
    1221605696[170ab9e0]: 1746a380:localhost:S-Material:CreateNewLineFromSocket: clearing IMAP_CONNECTION_IS_OPEN - rv = 8047000\ 2
    1221605696[170ab9e0]: 1746a380:localhost:S-Material:TellThreadToDie: close socket connection
    1221605696[170ab9e0]: 1746a380:localhost:S-Material:CreateNewLineFromSocket: (null)

    It might be that Thunderbird times out IMAP. Especially if 'nb' refers to 'nextbyte' in the above debug lines.

    I hope this helps.

     
  • zemsys

    zemsys - 2010-03-07

    I have the same problem with Exchange+DavMail+Thunderbird. Currently it makes DavMail pretty much unusable and I will reluctantly have to give up on it if there is no fix. Is it possible to extend the timeout, if indeed it is a timeout problem? Accessing my company's email without DavMail will be a total pain in the arse, so I would really like to continue with DavMail if at all possible. Thanks.

     
  • hossi

    hossi - 2010-03-08

    > Is it possible to extend the timeout, if indeed
    > it is a timeout problem?

    Just to be clear, I think this timeout resides in Thunderbird. I think the error code I'm getting matches NS_BASE_STREAM_CLOSED
    http://mxr.mozilla.org/comm-central/source/mailnews/imap/src/nsImapProtocol.cpp#4633

    I tried to hack around the DavMail source code to figure out why it is necessary to download all the messages from OWA first, and only then start sending them back to the MUA. I even tried sending a fake 'EXISTS' message back to the MUA before iterating through all the current folder's messages, with no luck so far.

     
  • Mark Podlipec

    Mark Podlipec - 2010-03-14

    I was encountering the same broken-pipe problem with exchange-davmail-thunderbird due to a slow
    connection and large emails. I changed the following thunderbird config settings:

    mail.server.server7.timeout was 29 changed to 600
    mailnews.tcptimeout was 100 change to 600

    I suspect it was the tcptimeout (since the timeout took roughly 100 seconds). I also suspect I'll
    have to increase quite a bit in the future(I only had two emails - largest was 200K).

    The DavMail log showed that it saw the messages, the timeout was when it was fetching header and size
    information:

    UID fetch 4:5 (UID RFC822.SIZE FLAGS BODY.PEEK[HEADER.FIELDS ( etc....

    Hope this helps.

    Mark

     
  • zemsys

    zemsys - 2010-03-22

    Thanks Mark, those properties have made a huge difference. As I am trying to make my Inbox available offline, I have also told Thunderbird not to automatically download messages over 100K as I was still getting Broken Pipe. All up it now seems to be working. It is running very slowly, half an hour to download a few hundred messages but I think that is just normal Exchange behaviour. It runs like a dog when I just use web-mail in my browser too.

    To save anyone else looking it up, to edit Thunderbird configuration properties: open the Options/Preferences dialog and, on the Advanced tab, click the Config Editor button.

    Thanks everyone for their help.

     
  • Mickael Guessant

    Could you please the latest changes on IMAP support in subversion ?

     
  • Mickael Guessant

    • status: open --> pending
     
  • SourceForge Robot

    • status: pending --> closed
     
  • SourceForge Robot

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.