Closed Bug 1077418 Opened 10 years ago Closed 3 years ago

compose window closed and nothing saved after NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED and "An error occurred while sending mail"

Categories

(Thunderbird :: Message Compose Window, defect)

31 Branch
x86
Windows 7
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: u519391, Unassigned)

References

Details

(Keywords: dataloss)

Attachments

(3 files, 1 obsolete file)

Attached image Thunderbird_Warning.PNG
User Agent: Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0
Build ID: 20140923175406

Steps to reproduce:

- Thunderbird starten (31.1.2)
- Verfassen einer email mit mindestens der email-Adresse
- Anhängen eines Files, welches das Größenlimit des Servers überschreitet
- Senden


Actual results:

- Es erscheint eine Warnung (siehe "Thunderbird_Warning.PNG")
- Danach ist die email verschwunden und nirgens im Baum abgelegt !!!


Expected results:

Ich fände es sinnvoll, wenn das email-Fenster offen bleibt oder aber die email unter "Entwürfe" abgelegt wird
This bugzilla is using English only.
I guess you mean the message compose window is closed after the NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED message
(The size of the message you are trying to send exceeds a temporary size limit of the server. The message was not sent; try to reduce the message size or wait some time and try again. The server responded:  %s)
Summary: email verschwindet beim Senden, wenn Größenlimit überschritten → compose window closed and nothing saved after NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED
Yes, that is what he meant.
Component: Untriaged → Message Compose Window
- Thunderbird V31.2
- my SMTP Tempsize is 20MByte
Send an email with the atachment email_attachment_22MB.txt GENERATES THE BUG: compose window closed and nothing saved after NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED

Jörg
- Thunderbird V31.2
- my SMTP Tempsize is 20MByte
Send an email with the atachment "email_attachment_41MB.txt" NOT GENERATE THE BUG.
Now the compose window closes. Then the error message appears and after pressing OK then the compose window appears again.

Jörg
I've just had a very similar thing happen. My mail server returned "Too many concurrent SMTP connections - try again later" and Thunderbird simply threw away my entire message, with no draft or outbox copy saved. This is a significant dataloss bug.

The exact error popup text was title "Alert", had a single "OK" button, and said:

"An error occurred while sending mail: The mail server sent an incorrect greeting: balrog.mythic-beasts.com: Too many concurrent SMTP connections; please try again later."

Gerv
Severity: normal → major
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: dataloss
(dataloss=critical)
Severity: major → critical
Summary: compose window closed and nothing saved after NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED → compose window closed and nothing saved after NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED and "An error occurred while sending mail"
This is a critical dataloss bug that I've just hit _again_ - entire emails just vanishing into the ether! That's pretty much the worst sort of data loss in a mail client (OK, perhaps silently deleting incoming email is worse). 

What can be done to get some attention on this?

Gerv
Without having looked at the problem, I don't think it would be too hard to leave the compose window open after that error. I'll take a look after Christmas.

If you want to recover the lost message, you could dig through the superseded messages in the Drafts folder, assuming that a draft was previously (auto-)saved.

You could also configure TB to send large attachments via the "cloud". The function works again in Earlybird 45.
I could recommend always clicking "Send later" so that the message lands in Outbox folder. Then you can send them out in a batch. If anything fails, you still have the copy of the message in the folder. Even if it is MARKED deleted, you can salvage the email by opening the file representing the folder and removing the deleted flag in X-Mozilla-Status(from 8 to 0).
(In reply to Jorg K (GMT+1) from comment #10)
> Without having looked at the problem, I don't think it would be too hard to
> leave the compose window open after that error. I'll take a look after
> Christmas.

That would be super :-)

> If you want to recover the lost message, you could dig through the
> superseded messages in the Drafts folder, assuming that a draft was
> previously (auto-)saved.

How do I view such messages? Are you saying you expect a normal draft to be left behind when this happens, or is this a special sort of hidden draft?

> You could also configure TB to send large attachments via the "cloud". The
> function works again in Earlybird 45.

The problem is not with attachments; the problem is all the text I typed.

Gerv
(In reply to :aceman from comment #11)
> I could recommend always clicking "Send later" so that the message lands in
> Outbox folder. 

Your recommendation is that the "Send" button in Thunderbird is too unsafe to use?

That seems like a pretty big problem for a mail client.

Gerv
(In reply to Gervase Markham [:gerv] from comment #13)
> (In reply to :aceman from comment #11)
> > I could recommend always clicking "Send later" so that the message lands in
> > Outbox folder. 
> 
> Your recommendation is that the "Send" button in Thunderbird is too unsafe
> to use?
> 
> That seems like a pretty big problem for a mail client.

I meant as a workaround for this bug. Which I think we agree is a big problem.
(In reply to Gervase Markham [:gerv] from comment #12)
> > If you want to recover the lost message, you could dig through the
> > superseded messages in the Drafts folder, assuming that a draft was
> > previously (auto-)saved.
> How do I view such messages? Are you saying you expect a normal draft to be
> left behind when this happens, or is this a special sort of hidden draft?
As Aceman said in comment #11, the message is in the folder but marked "expunged", status 0x8 (or some other status that has the 0x8 bit set, for example 0x18 or 0x19). I cannot recommend editing mailbox files. However, you can open the file representing the drafts folder with a text editor and salvage the text you typed and lost. Right-click/properties on the folder to see where it's stored. There are heaps of articles on the net on how to recover deleted messages, for example:
http://kb.mozillazine.org/Undelete_a_message

> > You could also configure TB to send large attachments via the "cloud". The
> > function works again in Earlybird 45.
> The problem is not with attachments; the problem is all the text I typed.
Understood, but the problem is triggered by a big attached attachment. If you send the attachment via the cloud, the problem won't happen in the first place.
(In reply to Jorg K (GMT+1) from comment #15)
> Understood, but the problem is triggered by a big attached attachment. If
> you send the attachment via the cloud, the problem won't happen in the first
> place.

Oversized attachments is not the only way to reproduce this problem; I get it with messages which have no attachment, when Gmail throws some sort of temporary error.

If this is a separate bug, I'll open another one... but it seems like the common fix is not to throw away the message if it hasn't sent successfully! If we just did that, everything would be OK.

Gerv
(In reply to Gervase Markham [:gerv] from comment #16)
> Oversized attachments is not the only way to reproduce this problem; I get
> it with messages which have no attachment, when Gmail throws some sort of
> temporary error.
I see.

> If this is a separate bug, I'll open another one... but it seems like the
> common fix is not to throw away the message if it hasn't sent successfully!
> If we just did that, everything would be OK.
Agreed, error handling needs to be improved.
Hmm, would be good to have a reproducible case. My SMTP server doesn't complain about large attachments. So I disconnected the network while sending and got the message that sending had timed out but I didn't lose the composition. Ah well, if worse comes to worst, we can simulate the error. Frankly, I can't remember having lost a message this way, but anyway, I'll look at it further in the next few days.
You can probably return that error code unconditionally (not only when the server rejects the msg) in the code to see how the composition behaves.

I can also confirm that usually on errors the composition is not lost.

So the case here must be some very special case, either depending on the exact error code returned, or some behaviour of a specific server (e.g. it indicates the oversize message but then confirms delivery so TB closes the composition).

There are only 2 users reporting the problem in this bug so it can be some very rare scenario. Or most servers just do not report this specific rejection case and report as some generic failure which is handled fine by TB.
According to Gerv (comment #16) it happens (quote) "when Gmail throws some sort of temporary error" which has nothing to do with attachments.
I just had this again; the error from my ISP was "too many concurrent SMTP connections". And the email disappeared without a trace. So perhaps it could be simulated by using a test server which is set to permit 0 concurrent connections before giving an error?

Gerv
Here's the exact text (I just reproduced):

"An error occurred while sending mail: The mail server sent an incorrect greeting:  balrog.mythic-beasts.com: Too many concurrent SMTP connections; please try again later."

So it seems like it's the "incorrect greeting" error inside the TB code which is causing mails to be thrown away.

Gerv
What's more, even if I explicitly save a draft, it throws that away too. Drafts should _never_ be deleted until the message is successfully sent.

Gerv
Gerv, can you produce a SMTP protocol log according to https://wiki.mozilla.org/MailNews:Logging ?
Also, is your scenario with an IMAP account?
Yes, IMAP. I'll try and remember to get a log if and when it happens next, but remember, I can't reproduce this at will. I have to wait for my ISP's mailserver to be overloaded, and for me to notice.

Gerv
You need to setup the logging beforehand. Then when the bug happens just lookup the file and upload.
OK, it just happened again. The configuration is:

export NSPR_LOG_MODULES=smtp:5
export NSPR_LOG_FILE=/tmp/thunderbird.log

The error was:

An error occurred while sending mail: The mail server sent an incorrect greeting:  balrog.mythic-beasts.com: Too many concurrent SMTP connections; please try again later.

The log says:

-715196544[7f0fd4182460]: SMTP Connecting to: mx.mythic-beasts.com
-715196544[7f0fd4182460]: SMTP entering state: 0
-715196544[7f0fd4182460]: SMTP Response: 421 balrog.mythic-beasts.com: Too many concurrent SMTP connections; please try again later
-715196544[7f0fd4182460]: SMTP entering state: 14
-715196544[7f0fd4182460]: SMTP Send: QUIT
-715196544[7f0fd4182460]: SMTP entering state: 0

This is currently pretty reproducible.

The message has appeared in my sent mail folder so it's not totally lost, but I'm pretty sure it hasn't sent.

Gerv
Oh, so TB didn't even get the chance to say anything to the server (login or send commands), the server immediatelly sent the 421 response and closed the connection? (well actually TB sent QUIT and closed upon that message). That may be a clue.
See Also: → 1263863
See Also: → 1294944

Is this still an issue in the modern SMTP implementation?

Flags: needinfo?(remotenonsense)

I guess not, I have tried in bug 780124 comment 181, which is similar to this one.

Status: NEW → RESOLVED
Closed: 3 years ago
Flags: needinfo?(remotenonsense)
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: