unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#42903: 28.0.50; Emacs doesn't start if the current directory is inaccessible
@ 2020-08-17 12:52 Philipp Stephani
  2020-08-17 13:16 ` Philipp Stephani
  2020-08-17 23:25 ` Paul Eggert
  0 siblings, 2 replies; 4+ messages in thread
From: Philipp Stephani @ 2020-08-17 12:52 UTC (permalink / raw)
  To: 42903


1. Create a FUSE mount where the FS driver runs in the foreground,
   e.g. using

   bindfs -f /bin /tmp/foo

2. In another shell, cd into the new mount point:

   cd /tmp/foo

3. Kill the bindfs process started in step (1) (e.g. using C-c).

4. In the shell (2), start Emacs:

   $ emacs -Q
   Error getting directory: Transport endpoint is not connected
   Symbol’s value as variable is void: auto-save-list-file-prefix

The "void variable" error is clearly a bug.  In general, Emacs should
fall back to / or ~ if the current directory is inaccessible.

The Lisp backtrace is

"default-toplevel-value" (0xffffb650)
"custom-initialize-reset" (0xffffbc00)
"custom-declare-variable" (0xffffc270)
"byte-code" (0xffffc740)
"display-warning" (0xffffcf30)
"normal-top-level" (0xffffd600)

i.e. it looks like `display-warning' is called too early.


In GNU Emacs 28.0.50 (build 84, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0)
 of 2020-08-17
Repository revision: e5d4fae6797330d91e901c7ecb1412551db12f6a
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Debian GNU/Linux rodete

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Configured using:
 'configure --enable-gcc-warnings=warn-only
 --enable-gtk-deprecation-warnings --without-pop --with-mailutils
 --enable-checking=all --enable-check-lisp-object-type --with-modules
 'CFLAGS=-O1 -ggdb3 -fno-omit-frame-pointer -fsanitize=address
 -fsanitize=undefined -fsanitize=pointer-compare
 -fsanitize=pointer-subtract''

Configured features:
XPM JPEG TIFF GIF PNG CAIRO SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY
LIBSELINUX GNUTLS FREETYPE HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS GTK3 X11
XDBE XIM MODULES THREADS LIBSYSTEMD JSON PDUMPER

Important settings:
  value of $LANG: en_US.utf8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc dired dired-loaddefs rfc822
mml easymenu mml-sec epa epg epg-config gnus-util rmail rmail-loaddefs
text-property-search time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils phst skeleton derived edmacro
kmacro pcase ffap thingatpt url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json map url-vars mailcap subr-x rx gnutls puny seq
byte-opt gv bytecomp byte-compile cconv dbus xml compile comint
ansi-color ring cl-loaddefs cl-lib tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 68537 7755)
 (symbols 48 8604 1)
 (strings 32 23753 1822)
 (string-bytes 1 766201)
 (vectors 16 13662)
 (vector-slots 8 187551 5719)
 (floats 8 26 29)
 (intervals 56 221 0)
 (buffers 992 11))

-- 
Google Germany GmbH
Erika-Mann-Straße 33
80636 München

Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg

Diese E-Mail ist vertraulich.  Falls Sie diese fälschlicherweise erhalten haben
sollten, leiten Sie diese bitte nicht an jemand anderes weiter, löschen Sie
alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, dass die E-Mail
an die falsche Person gesendet wurde.

This e-mail is confidential.  If you received this communication by mistake,
please don’t forward it to anyone else, please erase all copies and
attachments, and please let me know that it has gone to the wrong person.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#42903: 28.0.50; Emacs doesn't start if the current directory is inaccessible
  2020-08-17 12:52 bug#42903: 28.0.50; Emacs doesn't start if the current directory is inaccessible Philipp Stephani
@ 2020-08-17 13:16 ` Philipp Stephani
  2020-08-17 23:25 ` Paul Eggert
  1 sibling, 0 replies; 4+ messages in thread
From: Philipp Stephani @ 2020-08-17 13:16 UTC (permalink / raw)
  To: 42903

Am Mo., 17. Aug. 2020 um 14:53 Uhr schrieb Philipp Stephani
<p.stephani2@gmail.com>:
>
>
> 1. Create a FUSE mount where the FS driver runs in the foreground,
>    e.g. using
>
>    bindfs -f /bin /tmp/foo
>
> 2. In another shell, cd into the new mount point:
>
>    cd /tmp/foo
>
> 3. Kill the bindfs process started in step (1) (e.g. using C-c).
>
> 4. In the shell (2), start Emacs:
>
>    $ emacs -Q
>    Error getting directory: Transport endpoint is not connected
>    Symbol’s value as variable is void: auto-save-list-file-prefix
>
> The "void variable" error is clearly a bug.  In general, Emacs should
> fall back to / or ~ if the current directory is inaccessible.
>
> The Lisp backtrace is
>
> "default-toplevel-value" (0xffffb650)
> "custom-initialize-reset" (0xffffbc00)
> "custom-declare-variable" (0xffffc270)
> "byte-code" (0xffffc740)
> "display-warning" (0xffffcf30)
> "normal-top-level" (0xffffd600)
>
> i.e. it looks like `display-warning' is called too early.

The culprit might be commit 636856faa4de78912bf41eeaf0e639664a323424
(but I haven't checked in detail). In any case, this also happens in
Emacs 27 and appears to be a regression w.r.t. Emacs 26.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#42903: 28.0.50; Emacs doesn't start if the current directory is inaccessible
  2020-08-17 12:52 bug#42903: 28.0.50; Emacs doesn't start if the current directory is inaccessible Philipp Stephani
  2020-08-17 13:16 ` Philipp Stephani
@ 2020-08-17 23:25 ` Paul Eggert
       [not found]   ` <CAArVCkTD4Fy86KAvO5KAgUwR7CozOzw9d9379_B9oCSexJzdVA@mail.gmail.com>
  1 sibling, 1 reply; 4+ messages in thread
From: Paul Eggert @ 2020-08-17 23:25 UTC (permalink / raw)
  To: Philipp Stephani; +Cc: 42903-done

[-- Attachment #1: Type: text/plain, Size: 128 bytes --]

Thanks for reporting that. Since this is a regression from Emacs 26 to 27, I 
installed the attached into the emacs-27 branch.


[-- Attachment #2: 0001-Let-Emacs-start-even-if-curdir-is-inaccessible.patch --]
[-- Type: text/x-patch, Size: 1390 bytes --]

From 362ca83a3b9d74c51ac325a6490551272aa25f9a Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 17 Aug 2020 16:21:36 -0700
Subject: [PATCH] Let Emacs start even if curdir is inaccessible

* lisp/startup.el (normal-top-level): Also delete PWD if
file-attributes fails for either $PWD or default-directory,
instead of failing out of the top level.
This fixes a regression from Emacs 26 (Bug#42903).
---
 lisp/startup.el | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/lisp/startup.el b/lisp/startup.el
index bff10003f8..364689ccdb 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -649,11 +649,12 @@ It is the default value of the variable `top-level'."
 	   ;; Use FOO/., so that if FOO is a symlink, file-attributes
 	   ;; describes the directory linked to, not FOO itself.
 	   (or (and default-directory
-		    (equal (file-attributes
-		       (concat (file-name-as-directory pwd) "."))
-		      (file-attributes
-		       (concat (file-name-as-directory default-directory)
-			       "."))))
+		    (ignore-errors
+		      (equal (file-attributes
+			      (concat (file-name-as-directory pwd) "."))
+			     (file-attributes
+			      (concat (file-name-as-directory default-directory)
+				      ".")))))
 	       (setq process-environment
 		     (delete (concat "PWD=" pwd)
 			     process-environment)))))
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* bug#42903: 28.0.50; Emacs doesn't start if the current directory is inaccessible
       [not found]   ` <CAArVCkTD4Fy86KAvO5KAgUwR7CozOzw9d9379_B9oCSexJzdVA@mail.gmail.com>
@ 2022-09-22  3:06     ` Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 4+ messages in thread
From: Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-09-22  3:06 UTC (permalink / raw)
  To: Philipp Stephani; +Cc: 42903

On 9/21/22 11:10, Philipp Stephani wrote:
> I just saw this again on all branches (emacs-27, emacs-28, master), so
> I don't think it's fixed.

Oh, I closed the bug report because I reproduced the problem by merely 
using "chmod 0 ." and fixed that bug and thought that was the whole bug, 
whereas the original bug report did something considerably weirder.

I've reopened the bug report, and might find time to look into the 
situation at some point....





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-09-22  3:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-17 12:52 bug#42903: 28.0.50; Emacs doesn't start if the current directory is inaccessible Philipp Stephani
2020-08-17 13:16 ` Philipp Stephani
2020-08-17 23:25 ` Paul Eggert
     [not found]   ` <CAArVCkTD4Fy86KAvO5KAgUwR7CozOzw9d9379_B9oCSexJzdVA@mail.gmail.com>
2022-09-22  3:06     ` Paul Eggert via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).