From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Noam Postavsky Newsgroups: gmane.emacs.bugs Subject: bug#31312: Segmentation fault with doom-emacs, NeoTree and Zoom Date: Wed, 02 May 2018 20:04:28 -0400 Message-ID: <87d0ydob8z.fsf@gmail.com> References: <87r2mvo6c8.fsf@gmail.com> <5AE87AA3.6050602@gmx.at> <87o9hznfam.fsf@gmail.com> <5AE957BA.6000809@gmx.at> <87fu3ant8k.fsf@gmail.com> <0DFE6C67-38C5-45EE-B658-8BEF80B595FF@gnu.org> <5AE9C062.9010203@gmx.at> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1525305787 14958 195.159.176.226 (3 May 2018 00:03:07 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 3 May 2018 00:03:07 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) Cc: 31312@debbugs.gnu.org, cyrus.and@gmail.com To: martin rudalics Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu May 03 02:03:03 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fE1iA-0003kb-2D for geb-bug-gnu-emacs@m.gmane.org; Thu, 03 May 2018 02:03:02 +0200 Original-Received: from localhost ([::1]:53113 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fE1kG-0002GL-PS for geb-bug-gnu-emacs@m.gmane.org; Wed, 02 May 2018 20:05:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50121) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fE1kA-0002GA-OB for bug-gnu-emacs@gnu.org; Wed, 02 May 2018 20:05:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fE1k7-0006o9-Hi for bug-gnu-emacs@gnu.org; Wed, 02 May 2018 20:05:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:39559) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fE1k7-0006nz-Dy for bug-gnu-emacs@gnu.org; Wed, 02 May 2018 20:05:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fE1k6-0007Pu-92 for bug-gnu-emacs@gnu.org; Wed, 02 May 2018 20:05:03 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Noam Postavsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 03 May 2018 00:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 31312 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed Original-Received: via spool by 31312-submit@debbugs.gnu.org id=B31312.152530587828469 (code B ref 31312); Thu, 03 May 2018 00:05:02 +0000 Original-Received: (at 31312) by debbugs.gnu.org; 3 May 2018 00:04:38 +0000 Original-Received: from localhost ([127.0.0.1]:47456 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fE1ji-0007P6-0n for submit@debbugs.gnu.org; Wed, 02 May 2018 20:04:38 -0400 Original-Received: from mail-io0-f177.google.com ([209.85.223.177]:42592) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fE1jg-0007Ot-6f for 31312@debbugs.gnu.org; Wed, 02 May 2018 20:04:36 -0400 Original-Received: by mail-io0-f177.google.com with SMTP id a10-v6so19596667ioc.9 for <31312@debbugs.gnu.org>; Wed, 02 May 2018 17:04:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=GhI8BSgOj6rxjdRGPgcCbRGIUWokq3r+AQOTBDbTZPk=; b=Yr0gQh2R3Aa1A5fXJiL2hD0XdkxeleoovJl2+YDukK5S/lB89J5KzG1U5Vmgn8qMYb cG5p4zdqVWq94O2cxMGOdpvMj2rDF1GEN4LcMiUUE4+g2ZpCOSAxqgOqbmHv7QIdA8wx u/GHn4tUDdkjWYQ9PXB0XYHeYPciy1YzdGLiSZdU8P9Wtw1tvunsvUXXv2H7qy7LbQk+ LzthoguJEJ3L4adFzZzXyThRFQfQtYW9WLvMi4b9gAFvbtwyUENEu4Kh5wwexdUNduHH d0rsc8B9aKOveLeGdnQv1lEnMF/FsQMn8Y1MblARd3300gIi9BMX9gvAI5IT8Skc1Ztf xxhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=GhI8BSgOj6rxjdRGPgcCbRGIUWokq3r+AQOTBDbTZPk=; b=gdeZfM6/sbqSlj9KnrPwWjIMmzgkdVa0NjVrXE/RNXFfuSZJ6GLZvqHhb67N1+r+8o D/xNJXv+GFZNIJtM3N2+93UK+9boXfccjIjTfDdnAx0qzEkpryWtUL2eltICqABx1pAQ c7u1GgaSGgk7YTJoWs/5//DV/JdmP7MU6Eg1Mt+G4LbxTHmT2mJWJb/jpXxUbAVJTtCm BbfzvHfk8lkpqT4y0vGGnT5M/+QJI5d82Mwf94+sKzBKlFB/bLjQwIhAhYALC3/81h8a B87dUln+C0ZaLUK+gb1EMNQ9d+WE6TR88gMmrkW8wCFxeBfnxWCNjLw5pxph3ADDaUOz 54oA== X-Gm-Message-State: ALQs6tBIPg17wmBmNhMtb1BFA17pGGTO6AsOtHk10KhHxHrk3AzTlAOb ZZ3oteTtmMgiLx8W8WuVLuc= X-Google-Smtp-Source: AB8JxZougjWjdFKvtr+qu/PXSVEfvyrMIfrmJ9BEeUFki7+MWjKa4SHOC8PkIjvqqte353Q32eHLOg== X-Received: by 2002:a6b:86a7:: with SMTP id q39-v6mr23010066ioi.140.1525305870544; Wed, 02 May 2018 17:04:30 -0700 (PDT) Original-Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id w133-v6sm296031itc.1.2018.05.02.17.04.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 02 May 2018 17:04:29 -0700 (PDT) In-Reply-To: <5AE9C062.9010203@gmx.at> (martin rudalics's message of "Wed, 02 May 2018 15:42:58 +0200") 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" Xref: news.gmane.org gmane.emacs.bugs:145948 Archived-At: martin rudalics writes: >> So we need the same defense after prepare_menu_bars as we >> have after do_pending_changes, I think. > > If you mean something like > > if (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw) > sw = w; > > I'm afraid that this would fail since selected_window has no buffer > any more (or may have even been recycled already). Or am I missing > something? It seems to work (I don't know enough about the code to explain why). I applied this patch: --- i/src/xdisp.c +++ w/src/xdisp.c @@ -13936,6 +13936,11 @@ redisplay_internal (void) if (NILP (Vmemory_full)) prepare_menu_bars (); + /* prepare_menu_bars may call lisp hooks and hence change the + selected_window. */ + if (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw) + sw = w; + reconsider_clip_changes (w); /* In most cases selected window displays current buffer. */ And then following the original recipe does not segfault. There is a Lisp error, but I think that's already a bug in zoom and/or doom. Debugger entered--Lisp error: (wrong-type-argument window-live-p #) set-window-dedicated-p(# t) neo-window--init(# #) neo-global--create-window() neo-global--get-window(t) neo-global--open-dir("/home/npostavs/src/doom/") neo-global--open() neotree-show() funcall-interactively(neotree-show) call-interactively(neotree-show record nil) command-execute(neotree-show record) #f(compiled-function (cmd) #)("neotree-show") ivy-call() ivy-read("M-x " ("toggle-debug-on-error" "zoom-mode" [...] counsel-M-x() funcall-interactively(counsel-M-x) call-interactively(counsel-M-x nil nil) command-execute(counsel-M-x)