GNU bug report logs - #63629
28.3; Emacsclient exits with no error message and breaks terminal when opening a file without permissions

Previous Next

Package: emacs;

Reported by: Adam Ibrahim <ibrahimadam193 <at> gmail.com>

Date: Sun, 21 May 2023 18:10:02 UTC

Severity: normal

Found in version 28.3

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Adam Ibrahim <ibrahimadam193 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 63629 <at> debbugs.gnu.org
Subject: bug#63629: Fwd: bug#63629: 28.3; Emacsclient exits with no error message and breaks terminal when opening a file without permissions
Date: Tue, 23 May 2023 16:30:14 -0400
[Message part 1 (text/plain, inline)]
I ran the following commands on my phone in termux and in Kitty on my PC 10
times each and record the results. I did it multiple times because the
results seem random.

 ./src/emacs --fg-daemon -Q
 ./lib-src/emacsclient path/to/no-perms # in a separate terminal, 10 times

Phone + Termux: 9 out of 10 times, I got the expected results where the
terminal was not broken and I saw an error message. on the 10th time there
was some weird behavior, but I haven't been able to reproduce it and I
don't remember what happened.

PC + Kitty: there were no crashes meaning the terminal wasn't broken
anymore. but 6 out of 10 times the error message didn't print. sometimes
all I saw was "waiting for emacs..." and some other times all I saw was
"...". the other four times was expected behavior colon the error message
printed and the terminal wasn't broken.

Note: I have a slightly different environment on my phone compared to the
first time. when I first reported the bug I was using the emacs and
emacsclient programs located on my phone. this time I used the modified
emacs and emacsclient from my desktop over SSH. I don't know if that
changed the results. But the bug with unmodified emacs happens just the
same over SSH as with emacs on my phone.

On Mon, May 22, 2023, 09:30 Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: Adam Ibrahim <ibrahimadam193 <at> gmail.com>
> > Date: Sun, 21 May 2023 14:57:03 -0400
> >
> > output of `ls -l`:
> >
> >  ls -l no-perms
> >  ---------- 1 u0_a331 u0_a331 0 May 21 14:27 no-perms
> >
> > commands used:
> >
> >  emacs --fg-daemon -Q
> >  emacsclient no-perms # in a separate terminal
> >
> > what stops working: when I type, the letters I type don't appear in the
> terminal anymore. nothing is
> > echoed back to me. stuff still happens, and I can enter commands, but I
> can't see anything. And the
> > terminal width seems screwed up. like things that should get indented,
> they don't look right.
>
> Thanks.  Please try the patch below and see if it solves the problem
> without adding any new ones.
>
> diff --git a/lisp/server.el b/lisp/server.el
> index eaf24a770e4..7e35eaa6176 100644
> --- a/lisp/server.el
> +++ b/lisp/server.el
> @@ -1138,6 +1138,11 @@ server-process-filter
>        (server-log "Authentication failed" proc)
>        (server-send-string
>         proc (concat "-error " (server-quote-arg "Authentication failed")))
> +      (unless (eq system-type 'windows-nt)
> +        (let ((terminal (process-get proc 'terminal)))
> +          ;; Only delete the terminal if it is non-nil.
> +          (when (and terminal (eq (terminal-live-p terminal) t))
> +           (delete-terminal terminal))))
>        ;; Before calling `delete-process', give emacsclient time to
>        ;; receive the error string and shut down on its own.
>        (sit-for 1)
> @@ -1459,6 +1464,11 @@ server-return-error
>       proc (concat "-error " (server-quote-arg
>                               (error-message-string err))))
>      (server-log (error-message-string err) proc)
> +    (unless (eq system-type 'windows-nt)
> +      (let ((terminal (process-get proc 'terminal)))
> +        ;; Only delete the terminal if it is non-nil.
> +        (when (and terminal (eq (terminal-live-p terminal) t))
> +         (delete-terminal terminal))))
>      ;; Before calling `delete-process', give emacsclient time to
>      ;; receive the error string and shut down on its own.
>      (sit-for 5)
>
[Message part 2 (text/html, inline)]

This bug report was last modified 1 year and 357 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.