GNU bug report logs - #31901
Incorrect make-network-process + nowait state handling for non-existing unix sockets in emacs-26.1

Previous Next

Package: emacs;

Reported by: Mike Kazantsev <mk.fraggod <at> gmail.com>

Date: Tue, 19 Jun 2018 13:40:02 UTC

Severity: normal

Tags: confirmed, fixed

Fixed in version 26.2

Done: Noam Postavsky <npostavs <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #13 received at 31901 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Noam Postavsky <npostavs <at> gmail.com>, larsi <at> gnus.org
Cc: mk.fraggod <at> gmail.com, 31901 <at> debbugs.gnu.org
Subject: Re: bug#31901: Incorrect make-network-process + nowait state handling
 for non-existing unix sockets in emacs-26.1
Date: Fri, 06 Jul 2018 11:59:35 +0300
Ping!

Lars, could you please look into this?

> From: Noam Postavsky <npostavs <at> gmail.com>
> Date: Sun, 01 Jul 2018 11:21:06 -0400
> Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 31901 <at> debbugs.gnu.org
> 
> tags 31901 + confirmed
> quit
> 
> Mike Kazantsev <mk.fraggod <at> gmail.com> writes:
> 
> > As far as I can tell, this is not documented behavior, definitely
> > unexpected, breaks all old code that used unix sockets, and probably
> > unintentional, i.e. a bug.
> 
> It seems to be due to this is_non_blocking_client check in
> connect_network_socket:
> 
>   if (s < 0)
>     {
>       /* If non-blocking got this far - and failed - assume non-blocking is
>          not supported after all.  This is probably a wrong assumption, but
>          the normal blocking calls to open-network-stream handles this error
>          better.  */
>       if (p->is_non_blocking_client)
>         return;
> 
>       report_file_errno ((p->is_server
>                           ? "make server process failed"
>                           : "make client process failed"),
>                          contact, xerrno);
>     }
> 
> In Emacs 25, this check was directly in Fmake_network_process before the
> process object creation code, so we would just return nil in that case.
> Seems to have changed, I assume accidentally, in [1: e09c0972c3].
> 
> [1: e09c0972c3]: 2016-01-28 23:50:47 +0100
>   Refactor make_network_process
>   https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=e09c0972c350e9411683b509414fc598cbf387d3
> 
> 
> 
> 




This bug report was last modified 6 years and 289 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.