Subject: bug#23808: closed (Re: bug#23808: Emacs 25 open-network-stream, make-network-process)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 11 Aug 2016 18:27:02 +0000

Your bug report

#23808: Emacs 25 open-network-stream, make-network-process

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
23808: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23808
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#23808: Emacs 25 open-network-stream, make-network-process
From: Paul Eggert <[email-masked]>
To: Lars Ingebrigtsen <[email-masked]>
Cc: [email-masked]
Date: Thu, 11 Aug 2016 11:26:44 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Lars Ingebrigtsen wrote:

> Seems like the right fix to me, I think?

Thanks for looking at it. I installed it and am closing this bug report.

Subject: Emacs 25 open-network-stream, make-network-process
From: Paul Eggert <[email-masked]>
To: [email-masked]
Date: Mon, 20 Jun 2016 12:08:35 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

[I'm passing this along from a correspondent who wishes to remain 
anonymous.]

Hello, the recent changes to make-network-process (between jan and the
end of april) may have introduced some problems, (I think they may
still be current, apologies otherwise)

I. misreporting the status of a failed network connection: when
open-network-stream is interrupted after `SYN_SENT': For example:

1. $ iptables -A OUTPUT -p tcp --dport 6697 -j DROP -d 127.0.0.1
2. $ nc -v localhost 6697 #;hangs
3. (open-network-stream "test-proc" "test-buffer" "127.0.0.1" 6697) ; ^G
4. (list-processes)
5. (process-status "test-proc") ; open
6. (process-send-string "test-proc" "foo") ; error fd closed
7. (delete-process "test-proc")

For testing on linux, step 1 makes connections to localhost:6697 hang,
step 2 verifies this using `netcat'. interrupt step 3 with a ^G, step
4 lists a spurious "test-proc" which should not exist, and step 5
reports its state as 'open, while step 6 confirms the fd is closed.

II. spurious "server-client-test" processes with
1. emacs --daemon -Q
2. emacsclient -t
3. list-processes

AFAICT from server.el these processes should not exist. Sometimes I've
seen half a dozen of these "server-client-test" processes when the
daemon was slow to start up with multiple clients connecting.