From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#15648: 24.2.50; gnutls SSL connection to IMAP server causes emacs to crash completely Date: Tue, 12 Nov 2013 05:56:06 +0200 Message-ID: <834n7i2rzd.fsf@gnu.org> References: <21089.32240.198931.971000@consult.pretender> <87fvrun1pw.fsf@flea.lifelogs.com> <21093.32992.278229.646703@consult.pretender> <877gd5mo5x.fsf@flea.lifelogs.com> <21094.39055.449629.706850@consult.pretender> <21094.40085.664080.69561@consult.pretender> <21094.52645.645440.977584@consult.pretender> <21094.64459.131668.849138@consult.pretender> <21095.19949.639350.970770@consult.pretender> <21096.24492.292723.589004@consult.pretender> <87eh7bj5no.fsf_-_@flea.lifelogs.com> <21097.10816.221279.461499@consult.pretender> <21097.27136.910137.181740@consult.pretender> <21098.31018.184128.497305@consult.pretender> <87y555socz.fsf@flea.lifelogs.com> <21110.26587.721061.28128@consult.pretender> <83fvrd9ysr.fsf@gnu.org> <877gcorv0r.fsf@flea.lifelogs.com> <83sivc85pe.fsf@gnu.org> <21121.11298.564313.363452@consult.pretender> <83bo1q3dqh.fsf@gnu.org> <21121.20955.967319.163790@consult.pretender> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1384228632 9540 80.91.229.3 (12 Nov 2013 03:57:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 12 Nov 2013 03:57:12 +0000 (UTC) Cc: tzz@lifelogs.com, emacs@kosowsky.org, 15648@debbugs.gnu.org To: emacs@kosowsky.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Nov 12 04:57:15 2013 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 1Vg56J-0006Bp-1y for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Nov 2013 04:57:15 +0100 Original-Received: from localhost ([::1]:40713 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vg56I-00039R-OI for geb-bug-gnu-emacs@m.gmane.org; Mon, 11 Nov 2013 22:57:14 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44684) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vg56B-000397-Dd for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 22:57:12 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vg566-0003zD-HD for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 22:57:07 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33705) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vg566-0003z9-DK for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 22:57:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Vg565-0004pq-U1 for bug-gnu-emacs@gnu.org; Mon, 11 Nov 2013 22:57:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Nov 2013 03:57:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 15648 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 15648-submit@debbugs.gnu.org id=B15648.138422858618540 (code B ref 15648); Tue, 12 Nov 2013 03:57:01 +0000 Original-Received: (at 15648) by debbugs.gnu.org; 12 Nov 2013 03:56:26 +0000 Original-Received: from localhost ([127.0.0.1]:47724 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vg55V-0004oy-AI for submit@debbugs.gnu.org; Mon, 11 Nov 2013 22:56:25 -0500 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:36771) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Vg55Q-0004oe-6S for 15648@debbugs.gnu.org; Mon, 11 Nov 2013 22:56:22 -0500 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0MW400A00TIMX000@a-mtaout22.012.net.il> for 15648@debbugs.gnu.org; Tue, 12 Nov 2013 05:56:10 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MW400AXNTLMN790@a-mtaout22.012.net.il>; Tue, 12 Nov 2013 05:56:10 +0200 (IST) In-reply-to: <21121.20955.967319.163790@consult.pretender> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.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:80295 Archived-At: > From: > Date: Mon, 11 Nov 2013 16:53:31 -0500 > Cc: emacs@kosowsky.org, tzz@lifelogs.com, 15648@debbugs.gnu.org > > > > The absence of cygwin-mount magic file handling when a file name is > > > passed directly to the gnutls c-code without going through any of the > > > standard magic-file-handling file access routines is the crux of the > > > problem. > > > No, the crux of the problem is that you are trying to use a natively > > built Emacs with file names that make sense only for Cygwin programs. > > No, the crux of the problem was and is a bug in the gnutls.el code, > due to the inconsistency in which magic files are handled. > 1. file-exists-p is enabled with magic file handling turned on Only because you use cygwin-mount. > 2. The pass to c-code ignores magic file handling Only because you use cygwin-mount. > 3. This causes gnutls.el to crash with a totally incomprehensible > error message and an equally incomprehensible return code of '-64' It no longer crashes. > Gnutls needs to treat magic files consistently... even if it simply > chooses to ignore magic file handling (in a consistent way), then > such behavior should ideally be documented in the code. Remove cygwin-mount, and that's what will happen. > > If you want Cygwin semantics of file names, use a Cygwin build of > > Emacs, and this problem will immediately go away. Alternatively, use > > file names for your certificates that native Windows programs can > > find, and the problem will also go away immediately. > > That is your opinion. Your suggestions that I limit myself to using a > cygwin-compiled version of emacs are just a workaround for poor > coding. I'm sorry. It's not an issue with code quality. It's simply a consequence of the fact that Cygwin file names _cannot_ be consistently supported in native Windows programs. You can solve perhaps 95% or 99% of that, but not 100%. If you are willing to live with those limitations, please be free. But it will never be supported all the way, it simply cannot be. > Others have written cygwin-mount specifically for the use case that I > have. Since when are the two choices you list, the only ones allowed? > This whole idea of doing it just your way (or any way) goes against > the entire emacs philosophy. You are entitled to your opinions. But I respectfully disagree, and as long as I'm hold responsible for the Windows port of Emacs, I'm sorry, but my opinions weigh slightly more. > Magic file handling is a core emacs feature. You have to take such > functionality into account whether you choose to leverage it or > not... or else you are contributing to making emacs buggy and > inconsistent (along with limiting its power) Except that Cygwin "magic" cannot be reliably handled that way. The difference is that for other magic file names, we have a handling agent that is outside of Emacs. By contrast, cygwin-mount pretends to do that entirely in Emacs Lisp, which cannot work reliably enough. As this example shows. > > 3. Don't mix Cygwin file names with native Windows programs. > > #3? Where did you come up with that restriction? Is it documented > somewhere in the Emacs/Elisp manuals and/or in the release notes? Or > did you invent that restriction out of thin air? It's not an invention. It's the result of many years using Emacs on Windows and hacking it. You are free to ignore that experience, of course, but I assure you it is valid. > I think you are missing the point that gnutls.el has an inherent > inconsistency independent of cygwin or anything else... It's not just gnutls.el, it's all of Emacs. And for a good reason: these file names cannot be supported by cygwin-mount or any similar solutions. You need an external agent that resolves all the Cygwin file names, any time Emacs needs to access a file, be it in Lisp or in C. > I have proposed a valid, workable, and very tiny patch. Moreover, my > patch is totally consistent with the usage of expand-file-name in > particular and magic file handlers in particular as used dozens of > times in file.el As long as the solution is plugging cygwin-mount into more places in Emacs, such a solution will not be acceptable, sorry. > You have failed to give a single use case where my patch would cause > any problems. My patch adds immeasurably trivial complexity and > processing time to the routine. In contrast, all you have done is > suggest one-off workarounds which do nothing to solve the problem for > the next unsuspecting user... I have enough use cases to fill a lecture, I just have no time to write them all. Sorry, please accept my judgment on this, even if you disagree.