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

Re: A problwm with the folder mode



At Tue, 28 Aug 2012 15:26:05 +0200,
Andreas Davour wrote:
>
> At Sun, 26 Aug 2012 10:04:00 +0200,
> David Maus wrote:
> >
> > [1  <text/plain; US-ASCII (7bit)>]
> > At Mon, 20 Aug 2012 10:51:52 +0200 (CEST),
> > Andreas Davour wrote:
> > >
> > > > At Thu, 16 Aug 2012 10:58:37 +0200,
> > > > Andreas Davour wrote:
> > > >>
> > > >>
> > > >> Hi
> > > >>
> > > >> I have tried to add new IMAP folders with the folder manager, using m a.
> > > >> But when I do, the only thing that happens is that emacs becomes
> > > >> unresposible until I hit C-g.
> > > >>
> > > >> Anyone know what can be wrong, or at least know if there's somewhere I
> > > >> can look for more info?
> > > >
> > > > At which stage does Emacs start to hang?
> > > >
> > > > You might get a better impression on where Emacs hangs by turning on
> > > > `debug-on-quit'.
> > > >
> > > > M-x toggle-debug-on-quit RET
> > > >
> > > > Pressing C-g should pop up debug buffer with a backtrace that shows
> > > > where Emacs was idling around.
> > >
> > > This is the output from emacs (sorry if this is posted multiple times. I
> > > get odd errors on send.)
>
> Thanks for your feedback David!
>
> > Hm. Looks like Emacs is waiting for the IMAP server to return
> > something. We might get a clearer picture if you run WL
> > uncompiled. E.g. issue
> >
> > make clean
> >
> > In the WL installation folder and re-run the backtrace.
>
> I did. The output can be seen at http://pastebin.com/59JYTzPQ
>
> Still looks messy to me.

My guess is that WL is hanging in this while:

,----
| (while (and (memq (process-status process) (quote (open run))) ;; t => process is running
| 	    (goto-char (point-max)) ;; t => always (returns non-nil)
| 	    (or
| 	     (/= (forward-line -1) 0) ;; t => process did NOT send something
| 	     (not (elmo-imap4-parse-greeting)) ;; t => current line is not a IMAP4 greeting
| 	     ))
|   (accept-process-output process 1))
`----

As far as I understand the loop this can happen if

(a) the process is running but not sending data back to the client.
 -or-
(b) the process is running, sending back data but no IMAP4 greeting

A quick'n'dirty hack to test if the server is sending something back
would be to add

(messsage (buffer-string))

to the while loop and check the *Messages* buffer.

Best,
  -- David

--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmjena@jabber.org
Email..... dmaus@ictsoc.de

Attachment: pgp05qZIlZ0JJ.pgp
Description: OpenPGP Digital Signature