[Bug: 21.4.18] startls gets stuck
Simon Josefsson
jas at extundo.com
Tue Aug 15 12:20:27 EDT 2006
"Stephen J. Turnbull" <stephen at xemacs.org> writes:
>>>>>> "Uwe" == Uwe Brauer <oub at mat.ucm.es> writes:
>
> Uwe> The odd thing is that everything seems to work, I am asked
> Uwe> for the password, then the gmail smtp mail server sends the
> Uwe> mail, *but* then gnus (and xemacs) gets stuck: the last
> Uwe> message which appears is something like:
>
> Uwe> 250 2.0.0 OK 1154349802 o45sm7514984nfa
>
> Sounds like an smtpmail bug to me. :-P Seriously, Gmail gave the
> protocol reply to say it's done, XEmacs posts it to the buffer, so the
> first guess is that smtpmail is waiting for something that never comes
> (eg, due to an overly strict regexp in the comint filter). If Simon
> says not, I guess he's in the best position to diagnose since he knows
> the internals of smtpmail best.
Did you see the backtrace? smtpmail.el blocked XEmacs, and C-g
generated a backtrace:
Debugger entered--Lisp error: (quit)
accept-process-output(#<process "SMTP" pid 13724 state:exit>)
smtpmail-read-response(#<process "SMTP" pid 13724 state:exit>)
...
I think XEmacs should return from accept-process-output if the server
has closed the connection (I believe that is what happened), instead
of waiting for more input that will never arrive. If this happened, I
think smtpmail.el would handle the situation correctly.
The code looks like:
(while (not (search-forward "\r\n" nil t))
(unless (memq (process-status process) '(open run))
(throw 'done nil))
(accept-process-output process)
(goto-char smtpmail-read-point))
So it will check the process status and return, if a-p-o would return
control to smtpmail.el.
Alternatively, smtpmail.el is inflooping here, but then I think it
would be a bug in process-status that says the connection is open/run
when it is in fact closed.
> Uwe> Any help is appreciated, sending works but archiving not and
> Uwe> I am not sure whether this is a bug or a wrong setting.
>
> You still have the mail in the buffer (and for Gnus, in the draft
> folder), right? If not, that's a bug. However, whether the archiving
> to the FCC folder happens or not is a design decision; as far as the
> MUA knows, the mail was not successfully posted, so the transaction is
> still active. The MUA should preserve the message *somewhere*, but
> it's up to the MUA to decide how and where to do that. Some users
> might get annoyed if their archives got cluttered up with duplicates
> in cases where the mail *did* fail and they had to resent.
Right.
> Uwe> According to Simon Josefsson the author of smtpmail.el this
> Uwe> seems to be an (X)Emacs bug.
>
> So, Simon, what do you think is going wrong? Or are you just in a
> hurry to go skydiving? ;-)
Right, I don't have much time to debug this... but from the
backtrace, it seems XEmacs is blocking, not smtpmail.el.
/Simon
More information about the XEmacs-Beta
mailing list