From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alain Schneble Newsgroups: gmane.emacs.bugs Subject: bug#22789: 25.1.50; In last master build https connections stop working Date: Mon, 7 Mar 2016 18:20:20 +0100 Message-ID: <86oaaqyzl7.fsf@realize.ch> References: <864mcyo14y.fsf@Lenovo-PC.i-did-not-set--mail-host-address--so-tickle-me> <868u25p3m2.fsf@realize.ch> <83io18ahya.fsf@gnu.org> <86y4a3on6f.fsf@realize.ch> <87oaazg7fv.fsf@gnus.org> <86twkro0vr.fsf@realize.ch> <83d1rf8ifj.fsf@gnu.org> <86povfnm9r.fsf@realize.ch> <8337sa9865.fsf@gnu.org> <86bn6ynrbw.fsf@realize.ch> <83vb566v5b.fsf@gnu.org> <83d1razkmq.fsf@gnu.org> <86egbqkwsb.fsf@realize.ch> <86a8mekjrb.fsf@realize.ch> <83k2lhxria.fsf@gnu.org> <86egbo232a.fsf@realize.ch> <83si04wx18.fsf@gnu.org> <8660wz1azm.fsf@realize.ch> <861t7n1970.fsf@realize.ch> <86wppezn9f.fsf@realize.ch> <83lh5uuv6w.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1457371347 8723 80.91.229.3 (7 Mar 2016 17:22:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 7 Mar 2016 17:22:27 +0000 (UTC) Cc: larsi@gnus.org, j_l_domenech@yahoo.com, 22789@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Mar 07 18:22:18 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1acyrH-000833-BV for geb-bug-gnu-emacs@m.gmane.org; Mon, 07 Mar 2016 18:22:15 +0100 Original-Received: from localhost ([::1]:57313 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1acyrG-0007vG-Q9 for geb-bug-gnu-emacs@m.gmane.org; Mon, 07 Mar 2016 12:22:14 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43764) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1acyr9-0007oA-97 for bug-gnu-emacs@gnu.org; Mon, 07 Mar 2016 12:22:10 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1acyr4-0007hH-Ak for bug-gnu-emacs@gnu.org; Mon, 07 Mar 2016 12:22:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:41192) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1acyr4-0007hD-7y for bug-gnu-emacs@gnu.org; Mon, 07 Mar 2016 12:22:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1acyr4-0006yn-4X for bug-gnu-emacs@gnu.org; Mon, 07 Mar 2016 12:22:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Alain Schneble Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 07 Mar 2016 17:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22789 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 22789-submit@debbugs.gnu.org id=B22789.145737130026801 (code B ref 22789); Mon, 07 Mar 2016 17:22:02 +0000 Original-Received: (at 22789) by debbugs.gnu.org; 7 Mar 2016 17:21:40 +0000 Original-Received: from localhost ([127.0.0.1]:38319 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1acyqe-0006yA-Ie for submit@debbugs.gnu.org; Mon, 07 Mar 2016 12:21:40 -0500 Original-Received: from clientmail.realize.ch ([46.140.89.53]:4836) by debbugs.gnu.org with smtp (Exim 4.84) (envelope-from ) id 1acyqY-0006xs-Oe for 22789@debbugs.gnu.org; Mon, 07 Mar 2016 12:21:34 -0500 Original-Received: from rintintin.hq.realize.ch.lan.rit ([192.168.0.105]) by clientmail.realize.ch ; Mon, 7 Mar 2016 18:21:06 +0100 Original-Received: from MYNGB (192.168.66.64) by rintintin.hq.realize.ch.lan.rit (192.168.0.105) with Microsoft SMTP Server (TLS) id 15.0.516.32; Mon, 7 Mar 2016 18:20:47 +0100 In-Reply-To: <83lh5uuv6w.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 07 Mar 2016 18:08:55 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (windows-nt) X-ClientProxiedBy: rintintin.hq.realize.ch.lan.rit (192.168.0.105) To rintintin.hq.realize.ch.lan.rit (192.168.0.105) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:114547 Archived-At: Eli Zaretskii writes: >> From: Alain Schneble >> CC: , , <22789@debbugs.gnu.org> >> Date: Mon, 7 Mar 2016 09:49:00 +0100 >> >> - So there /is/ a dependency between these calls. Unfortunately, I >> couldn't see that ioctlsocket returns with WSAEINVAL in the scenarios >> I tried. > > Yes, I know about this gotcha. It's just that it never produced any > problems, and I never was able to see the ioctlsocket call fail with > WSAEINVAL. As said, I didn't see WSAEINVAL as well with the current implementation. >> Could it be a multi-threading issue then? Multiple threads >> accessing the same socket... > > Not sure I follow -- are you trying to explain why ioctlsocket doesn't > fail as expected, or are you trying to explain some other phenomenon? Both. 1) I expected it to (sometime) fail but didn't see it. 2) The arbitrary gnutls_handshake failures I observed seem like the socket's state is getting corrupted. Do you agree that WSAEventSelect is called from the reader thread and the ioctlsocket is called from the main thread? And AFAIK, these functions are not thread safe... So I suspect that we ran into a multi-threading issue here, which corrupted the socket. And may have lead to the above mentioned issues. >> I don't see how both threads are synchronized. > > The synchronization is between reader_thread and sys_select. The > latter runs in the main (a.k.a. "Lisp") thread, the same thread where > sys_write is called. This is how I understood it as well... >> The patch I sent would synchronize them through the FILE_CONNECT >> flag, I think. Did I miss something? > > Well, that's not really "thread synchronization", but see my comments > and questions there. Yes, you are right. I just meant that both threads no longer will call WSAEventSelect and ioctlsocket at the same time with the proposed patch. And this is a kind of "synchronization".