Subject: bug#92: cannot start Gnus with idna.el

From: Reiner Steib <[email-masked]>
Date: Thu, 01 Jan 2009 18:03:15 +0100

On Sat, Mar 29 2008, NAKAJI Hiroyuki wrote:

> I noticed that recent CVS Emacs has a problem. For example, Gnus cannot
> start if idna.el is installed in the load-path directory.
>
> I found the problem under the combination of
>
> o FreeBSD/i386 8.0-CURRENT (Jan 29 2008)
> o Emacs 23.0.60 (CVS HEAD)
> o No Gnus 0.7 (CVS HEAD)
> o GNU Libidn 1.2
>
> I checked out the HEAD yesterday morning (JST), bootstrapped with gcc4
> and ran. And then, typed ( g n u s ) C-j in *scratch* buffer but nothing
> happened.
>
> Next, I evaled (setq debug-on-quit t) and saved the *Backtrace* which
> says the breakpoint is in idna.el:idna-to-ascii-response(). I attach the
> *Backtrace* file.
>
> The "while" in idna-to-ascii-response() seems infinite loop.
>
> (defun idna-to-ascii-response ()
>   (while (and (eq (process-status idna-to-ascii-process) 'run)
>               (null idna-to-ascii-response))
>     (accept-process-output idna-to-ascii-process 1))
>   idna-to-ascii-response)
>
> The idna-to-ascii-response is called from message.el and the failure
> itself occurs in
>
> (idna-to-ascii "räksmörgås")

I can't reproduce thin on GNU/Linux.  AFAICS, there's nothing wrong in
Gnus.  I guess you can reproduce the problem without Gnus:

  emacs -Q -l /path/to/idna.el

  In *scratch*, eval:

  (idna-to-ascii "räksmörgås")

If idna-to-ascii-response inf-loops, it's a bug in idna.el, the idn
program or Emacs' process handling on FreeBSD.
CC-ing Simon Josefsson, the author of idna.el and libidn.

> Of cource, after I removed idna.el from any directories of load-path,
> the error go away. (But there is another problem with Gnus which I'd
> like to report.)

Bye, Reiner.