Open Bug 716461 Opened 14 years ago Updated 3 years ago

If connection is lost while uploading mails to IMAP server, progress bar never stops at Tb Window where copy(move too) of mails is requested

Categories

(MailNews Core :: Networking: IMAP, defect)

x86
Windows XP
defect

Tracking

(Not tracked)

People

(Reporter: World, Unassigned)

References

Details

This is spin-off of bug 538375 comment #18 and #19. If connection is lost while uploading mails to IMAP server, progress bar never stops at Tb Window where copy(move too) of mails is requested. "Connection loss" is forced by pull off of LAN cable from Win-XP PC in my test. By some tests, following were observed. (A) bug 538375 comment #18 Connection loss just after sending of "End of message data"(null after upload of mail data). Tb waits for OK response to append command. (B) bug 538375 comment #19 Connection loss just after "noop" request(Tb requests "noop" after "OK" response like "OK [APPENDUID 602313603 193]"). IMAP log : attachment 586765 [details] (initially attached to bug 538375 comment #19) > Pull off LAN cable while bulk move of mails from local folder to Gmail IMAP folder In this case, access to the IMAP folder where error ocurred was impossible. I needed to restart Tb to recover from it. "Go Work Offline, then go back to Work Only" may be effective, but I didn't check it. If Tb sucsessfully detects error while sending mail data, following error is shown at Activity manager, and spinning of progress bar didn't occur. > ! Could not connect to mail server <imap-server-name>l the connection was refused. In any test, Tb detected "offline status" and went Work Offline mode automatically when LAN cable was pulled off, and Tb detected "online status" and went Work Online mode automatically when LAN cable was plugged in again. IMAP log for "append of a mail" is as follows. IDLE is not always requested ater successful append/noop combination. > 00000268 93.48148346 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:ProcessCurrentURL: entering > 00000269 93.48152924 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:ProcessCurrentURL:imap://yatter%2Eone%40gmail%2Ecom@imap.gmail.com:993/appendmsgfromfile%3E/INBOX/Inbox3: = currentUrl > 00000270 93.49267578 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:SendData: 20 append "INBOX/Inbox3" (\Seen tag-1) {938} ==> (i) > 00000271 93.66553497 [5380] 3372[512cc40]: ReadNextLine [stream=94d1340 nb=12 needmore=0] > 00000272 93.66557312 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:CreateNewLineFromSocket: + go ahead > 00000273 93.66574860 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:SendData: X-Mozilla-Keys: tag-1 > (sending of mail data lines continues) > (sends null after whole mail data is sent) > 00000301 93.67479706 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:SendData: ==> (ii) > 00000302 93.99060822 [5380] 3372[512cc40]: ReadNextLine [stream=94d1340 nb=12 needmore=0] > 00000303 93.99069214 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:CreateNewLineFromSocket: * 9 EXISTS > 00000304 94.00440216 [5380] 3372[512cc40]: ReadNextLine [stream=94d1340 nb=43 needmore=0] > 00000305 94.04425812 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:CreateNewLineFromSocket: 20 OK [APPENDUID 602313603 166] (Success) > 00000306 94.05028534 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:SendData: 21 noop ==> (iii) > 00000307 94.22415924 [5380] 3372[512cc40]: ReadNextLine [stream=94d1340 nb=15 needmore=0] > 00000308 94.22437286 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:CreateNewLineFromSocket: 21 OK Success > 00000309 94.25115967 [5380] 0[100f140]: CopyNextStreamMessage: Copying 4 of 10000 > 00000310 94.25373840 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:SendData: 22 IDLE ==> (iv) > 00000311 94.42655945 [5380] 3372[512cc40]: ReadNextLine [stream=94d1340 nb=10 needmore=0] > 00000312 94.42668915 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:CreateNewLineFromSocket: + idling > 00000313 94.42680359 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:SendData: DONE ==> (v) > 00000314 94.59889221 [5380] 3372[512cc40]: ReadNextLine [stream=94d1340 nb=33 needmore=0] > 00000315 94.59897614 [5380] 3372[512cc40]: 5dcd000:imap.gmail.com:S-INBOX/Inbox3:CreateNewLineFromSocket: 22 OK IDLE terminated (Success) Problem of (A) and (B) corresponds to connection loss at (ii) and (iii) respectively. When problem of (A) occurred(just after send of null), I did some additional checks such as open new Tb's Window, try to access some IMAP folders, and I observed phenomenon of "Tb never terminates with CPU 0%" after termination request of Tb via "X" button of Tb Window. (When I tried to restart Tb for next test, "Tb is already runnning" was shown, so I killed Tb via Task Manager.) I suspect "connection loss while Tb is waiting for IMAP command response" causes "detection failure of connection loss" in many steps. And, if Tb detects "offline status" at same time, "mechanism of timeout" won't work as expected any more, even after Tb detects "online status". "Go Work Offline, then go back to Work Online" is perhaps needed to recover from such situation(force connection close by going to Work Offline mode.)
Blocks: 720158
See Also: → 1047984
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.