From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: John Wiegley Newsgroups: gmane.emacs.devel Subject: Re: Crash recovery strategies Date: Sun, 03 Jan 2016 14:59:01 -0800 Message-ID: References: <83mvu1x6t3.fsf@gnu.org> <56797CD9.8010706@cs.ucla.edu> <8337uuqsux.fsf@gnu.org> <5679DC83.70405@cs.ucla.edu> <83oadhp2mj.fsf@gnu.org> <567AD556.6020202@cs.ucla.edu> <567AD766.3060608@dancol.org> <567B5DAB.2000900@cs.ucla.edu> <83fuyromig.fsf@gnu.org> <567C25B1.3020101@dancol.org> <56892FD6.8040708@dancol.org> <568988EE.3010205@dancol.org> <56899278.9000007@dancol.org> <56899EAC.1030408@dancol.org> <5689A6DE.2080709@dancol.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1451861958 6332 80.91.229.3 (3 Jan 2016 22:59:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 3 Jan 2016 22:59:18 +0000 (UTC) Cc: Eli Zaretskii , Paul Eggert , Emacs-devel@gnu.org To: Daniel Colascione Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 03 23:59:17 2016 Return-path: Envelope-to: ged-emacs-devel@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 1aFrcI-0004pk-T7 for ged-emacs-devel@m.gmane.org; Sun, 03 Jan 2016 23:59:15 +0100 Original-Received: from localhost ([::1]:43150 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aFrcI-0001WQ-8s for ged-emacs-devel@m.gmane.org; Sun, 03 Jan 2016 17:59:14 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60655) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aFrcE-0001UD-CP for Emacs-devel@gnu.org; Sun, 03 Jan 2016 17:59:11 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aFrcC-0001Kv-QH for Emacs-devel@gnu.org; Sun, 03 Jan 2016 17:59:10 -0500 Original-Received: from mail-pa0-x22e.google.com ([2607:f8b0:400e:c03::22e]:33244) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aFrcC-0001Kq-Kw; Sun, 03 Jan 2016 17:59:08 -0500 Original-Received: by mail-pa0-x22e.google.com with SMTP id cy9so187369250pac.0; Sun, 03 Jan 2016 14:59:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:in-reply-to:date:message-id:references :user-agent:mail-followup-to:mime-version:content-type; bh=0ihSMxQtpthg8svM+kCcgatkEqdRF/zn4ASqHJV+NnE=; b=CdukrDy8w7/JzeQXhm9TDZ42QICTKkGPMLdL2yxKKwYTIaPvfNqq5FlGd9mM+HNWnY rr9mWd7xQlGK5c5hLZAiI+Yid8uN5W0vyqTuD6p87RKkNSZuTsPV74pTCJMO0otmm9qP v53+k8eUxBxx33AWwjXpG8CDXsXslz84Py9XEhXw2RhUAPWrU+EBipIJOkal8bucaxUU 9IY7fcRDDRwAN29nC7y4fKdjYLPP+MGBDp1Hp0dE16ZsrPmxdgp90aDTnKkcTQD9+Lru JrbiMojF0v5aqjMiW8W59DZGu0iPapxHYDt0636JDC1Pcs1veS7ujTlafPTkwg9xWp55 mu6g== X-Received: by 10.66.55.72 with SMTP id q8mr122388257pap.136.1451861948038; Sun, 03 Jan 2016 14:59:08 -0800 (PST) Original-Received: from Vulcan.local (76-234-68-79.lightspeed.frokca.sbcglobal.net. [76.234.68.79]) by smtp.gmail.com with ESMTPSA id s67sm90218912pfi.72.2016.01.03.14.59.06 (version=TLS1 cipher=AES128-SHA bits=128/128); Sun, 03 Jan 2016 14:59:07 -0800 (PST) X-Google-Original-From: "John Wiegley" Original-Received: by Vulcan.local (Postfix, from userid 501) id 668991200E606; Sun, 3 Jan 2016 14:59:06 -0800 (PST) In-Reply-To: <5689A6DE.2080709@dancol.org> (Daniel Colascione's message of "Sun, 3 Jan 2016 14:55:26 -0800") User-Agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/24.5 (darwin) Mail-Followup-To: Daniel Colascione , Eli Zaretskii , Paul Eggert , Emacs-devel@gnu.org X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:400e:c03::22e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:197516 Archived-At: >>>>> Daniel Colascione writes: > But that the emacs -Q process won't be doing any sending. The next regular > Emacs process will do that. The process we spawn from the sigsegv handler is > just for asking the user what to do about the crash. If we can't launch the > process, we can do the default thing, the right choice for which is probably > to write the crash file. Hmm... something about this approach just doesn't feel right, but I'm not sure what it is that I don't like. I'll have to sleep on it. >> I'm OK if sometimes it just doesn't work. The new async Emacs idea sounds like >> it has a host of unforeseen complications waiting behind it. > The problem is that we can't *tell* whether it doesn't work. If we try to do > that, we can just silently not execute. This isn't going to be a 100% solution to any problem, so I'm OK if this is a scatter-gun approach. >>> On next startup, for each crash file we find that isn't owned by a running >>> Emacs, we'll >> >>> 1) read and parse the crash file, >>> 2) prompt the user to send a bug report, and >>> 3) restore the contents of persisted buffers. >> >>> To avoid crash loops arising from certain arrangements of buffer contents, >>> we can restore each buffer in fundamental-mode, and with a name indicating >>> that it's recovered data. > If implementing a scheme like this is what it takes to kill the stack > overflow code, I think I can implement it. Wouldn't the stack overflow code still exist, to catch the error? Maybe I haven't understood something... Can you explain how this approach removes that code? -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2