unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#40109: 27.0.90; simple-delete-trailing-whitespace--bug-21766 fails if Git isn't installed
@ 2020-03-17 17:14 Philipp Stephani
  2020-03-17 17:35 ` Philipp Stephani
  2021-01-28  8:45 ` Lars Ingebrigtsen
  0 siblings, 2 replies; 5+ messages in thread
From: Philipp Stephani @ 2020-03-17 17:14 UTC (permalink / raw)
  To: 40109


Make sure that git isn't installed, e.g. by running 'apt remove git' on
a Debian system.  Then, in the Emacs source test directory:

$ make lisp/simple-tests SELECTOR=simple-delete-trailing-whitespace--bug-21766
make[1]: Entering directory '/emacs/test'
  GEN      lisp/simple-tests.log
Running 1 tests (2020-03-17 18:07:31+0100, selector `simple-delete-trailing-whitespace--bug-21766')
Test simple-delete-trailing-whitespace--bug-21766 backtrace:
  call-process("git" nil (t nil) nil "rev-parse" "--abbrev-ref" "HEAD"
  emacs-repository-branch-git("/emacs/")
  emacs-repository-get-branch("/emacs/")
  byte-code("\3021$\0\303\304\305\306!\307\"\206\17\0\10\1\31\211;\205
  (defconst tramp-repository-branch (byte-code "\3021$\0\303\304\305\3
  require(trampver)
  byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\
  require(tramp)
  require(tramp-sh)
  byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\
  (python-mode)
  (progn (python-mode) (insert (concat "query = \"\"\"WITH filtered AS
  (unwind-protect (progn (python-mode) (insert (concat "query = \"\"\"
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
  (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b
  (unwind-protect (let ((temp-buffer (generate-new-buffer " *temp*")))
  (let ((python (featurep 'python)) (python-indent-guess-indent-offset
  (closure (t) nil (defvar python-indent-guess-indent-offset) (let ((p
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name simple-delete-trailing-whitespace--bu
  ert-run-or-rerun-test(#s(ert--stats :selector simple-delete-trailing
  ert-run-tests(simple-delete-trailing-whitespace--bug-21766 #f(compil
  ert-run-tests-batch(simple-delete-trailing-whitespace--bug-21766)
  ert-run-tests-batch-and-exit(simple-delete-trailing-whitespace--bug-
  eval((ert-run-tests-batch-and-exit 'simple-delete-trailing-whitespac
  command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/simple-tests.el" "--
  command-line()
  normal-top-level()
Test simple-delete-trailing-whitespace--bug-21766 condition:
    (file-missing "Searching for program" "No such file or directory" "git")
   FAILED  1/1  simple-delete-trailing-whitespace--bug-21766 (0.267653 sec)

Ran 1 tests, 0 results as expected, 1 unexpected (2020-03-17 18:07:32+0100, 1.093014 sec)

1 unexpected results:
   FAILED  simple-delete-trailing-whitespace--bug-21766

make[1]: *** [Makefile:183: lisp/simple-tests.log] Error 1
make[1]: Leaving directory '/emacs/test'
make: *** [Makefile:249: lisp/simple-tests] Error 2


This is weird because trampver.el properly uses ignore-errors, so this
error shouldn't bubble up.


In GNU Emacs 27.0.90 (build 6, x86_64-pc-linux-gnu, GTK+ Version 3.24.12)
 of 2020-03-17
Repository revision: 5747a59a886e16fadbd04c385c43628b1d8f50df
Repository branch: emacs-27
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
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 -fsanitize=address -fsanitize=pointer-compare
 -fsanitize=pointer-subtract -fno-sanitize=leak -fsanitize=undefined
 -fno-omit-frame-pointer''

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

Important settings:
  value of $LANG: en_US.UTF-8
  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
format-spec 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-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache json map url-vars
subr-x rx gnutls puny seq byte-opt gv bytecomp byte-compile cconv dbus
xml 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 move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 58870 6391)
 (symbols 48 7794 1)
 (strings 32 20740 1735)
 (string-bytes 1 675750)
 (vectors 16 11950)
 (vector-slots 8 157424 7380)
 (floats 8 25 38)
 (intervals 56 204 0)
 (buffers 1000 11))





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

* bug#40109: 27.0.90; simple-delete-trailing-whitespace--bug-21766 fails if Git isn't installed
  2020-03-17 17:14 bug#40109: 27.0.90; simple-delete-trailing-whitespace--bug-21766 fails if Git isn't installed Philipp Stephani
@ 2020-03-17 17:35 ` Philipp Stephani
  2021-01-28  8:45 ` Lars Ingebrigtsen
  1 sibling, 0 replies; 5+ messages in thread
From: Philipp Stephani @ 2020-03-17 17:35 UTC (permalink / raw)
  To: 40109

Am Di., 17. März 2020 um 18:15 Uhr schrieb Philipp Stephani
<p.stephani2@gmail.com>:
>
>
> Make sure that git isn't installed, e.g. by running 'apt remove git' on
> a Debian system.  Then, in the Emacs source test directory:
>
> $ make lisp/simple-tests SELECTOR=simple-delete-trailing-whitespace--bug-21766
> make[1]: Entering directory '/emacs/test'
>   GEN      lisp/simple-tests.log
> Running 1 tests (2020-03-17 18:07:31+0100, selector `simple-delete-trailing-whitespace--bug-21766')
> Test simple-delete-trailing-whitespace--bug-21766 backtrace:
>   call-process("git" nil (t nil) nil "rev-parse" "--abbrev-ref" "HEAD"
>   emacs-repository-branch-git("/emacs/")
>   emacs-repository-get-branch("/emacs/")
>   byte-code("\3021$\0\303\304\305\306!\307\"\206\17\0\10\1\31\211;\205
>   (defconst tramp-repository-branch (byte-code "\3021$\0\303\304\305\3
>   require(trampver)
>   byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\
>   require(tramp)
>   require(tramp-sh)
>   byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\
>   (python-mode)
>   (progn (python-mode) (insert (concat "query = \"\"\"WITH filtered AS
>   (unwind-protect (progn (python-mode) (insert (concat "query = \"\"\"
>   (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
>   (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b
>   (unwind-protect (let ((temp-buffer (generate-new-buffer " *temp*")))
>   (let ((python (featurep 'python)) (python-indent-guess-indent-offset
>   (closure (t) nil (defvar python-indent-guess-indent-offset) (let ((p
>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>   ert-run-test(#s(ert-test :name simple-delete-trailing-whitespace--bu
>   ert-run-or-rerun-test(#s(ert--stats :selector simple-delete-trailing
>   ert-run-tests(simple-delete-trailing-whitespace--bug-21766 #f(compil
>   ert-run-tests-batch(simple-delete-trailing-whitespace--bug-21766)
>   ert-run-tests-batch-and-exit(simple-delete-trailing-whitespace--bug-
>   eval((ert-run-tests-batch-and-exit 'simple-delete-trailing-whitespac
>   command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/simple-tests.el" "--
>   command-line()
>   normal-top-level()
> Test simple-delete-trailing-whitespace--bug-21766 condition:
>     (file-missing "Searching for program" "No such file or directory" "git")
>    FAILED  1/1  simple-delete-trailing-whitespace--bug-21766 (0.267653 sec)
>
> Ran 1 tests, 0 results as expected, 1 unexpected (2020-03-17 18:07:32+0100, 1.093014 sec)
>
> 1 unexpected results:
>    FAILED  simple-delete-trailing-whitespace--bug-21766
>
> make[1]: *** [Makefile:183: lisp/simple-tests.log] Error 1
> make[1]: Leaving directory '/emacs/test'
> make: *** [Makefile:249: lisp/simple-tests] Error 2
>
>
> This is weird because trampver.el properly uses ignore-errors, so this
> error shouldn't bubble up.

Ah, the problem is that with-demoted-errors uses
condition-case-unless-debug.  More minimal example:

$ emacs -Q -batch -eval '(let ((debug-on-error t)) (ignore-errors
(with-demoted-errors "%S" (error "foo"))))'
Debugger entered--Lisp error: (error "foo")
[…]

I think this behavior is very confusing. Both version.el and
trampver.el try to do the right thing, but that breaks in such a
situation.





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

* bug#40109: 27.0.90; simple-delete-trailing-whitespace--bug-21766 fails if Git isn't installed
  2020-03-17 17:14 bug#40109: 27.0.90; simple-delete-trailing-whitespace--bug-21766 fails if Git isn't installed Philipp Stephani
  2020-03-17 17:35 ` Philipp Stephani
@ 2021-01-28  8:45 ` Lars Ingebrigtsen
  2021-01-28  9:05   ` Philipp Stephani
  1 sibling, 1 reply; 5+ messages in thread
From: Lars Ingebrigtsen @ 2021-01-28  8:45 UTC (permalink / raw)
  To: Philipp Stephani; +Cc: 40109

Philipp Stephani <p.stephani2@gmail.com> writes:

> Make sure that git isn't installed, e.g. by running 'apt remove git' on
> a Debian system.  Then, in the Emacs source test directory:
>
> $ make lisp/simple-tests SELECTOR=simple-delete-trailing-whitespace--bug-21766
> make[1]: Entering directory '/emacs/test'
>   GEN      lisp/simple-tests.log
> Running 1 tests (2020-03-17 18:07:31+0100, selector `simple-delete-trailing-whitespace--bug-21766')
> Test simple-delete-trailing-whitespace--bug-21766 backtrace:
>   call-process("git" nil (t nil) nil "rev-parse" "--abbrev-ref" "HEAD"

I'm unable to reproduce the error with the current emacs-27 branch (or
on the trunk).  I "apt remove git" first, and then:

larsi@xo:~/src/emacs/emacs-27/test$ make lisp/simple-tests SELECTOR=simple-delete-trailing-whitespace--bug-21766
make[1]: Entering directory '/home/larsi/src/emacs/emacs-27/test'
  ELC      lisp/simple-tests.elc
  GEN      lisp/simple-tests.log
Running 1 tests (2021-01-28 09:43:24+0100, selector `simple-delete-trailing-whitespace--bug-21766')
   passed  1/1  simple-delete-trailing-whitespace--bug-21766 (0.089470 sec)

Ran 1 tests, 1 results as expected, 0 unexpected (2021-01-28 09:43:24+0100, 0.089821 sec)

make[1]: Leaving directory '/home/larsi/src/emacs/emacs-27/test'

[...]

> Ah, the problem is that with-demoted-errors uses
> condition-case-unless-debug.  More minimal example:
>
> $ emacs -Q -batch -eval '(let ((debug-on-error t)) (ignore-errors
> (with-demoted-errors "%S" (error "foo"))))'
> Debugger entered--Lisp error: (error "foo")
> […]
>
> I think this behavior is very confusing. Both version.el and
> trampver.el try to do the right thing, but that breaks in such a
> situation.

It is somewhat confusing, yes, but it's also pretty convenient in some
circumstances.

In any case, are you still seeing the reported test problem?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





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

* bug#40109: 27.0.90; simple-delete-trailing-whitespace--bug-21766 fails if Git isn't installed
  2021-01-28  8:45 ` Lars Ingebrigtsen
@ 2021-01-28  9:05   ` Philipp Stephani
  2021-01-28  9:08     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 5+ messages in thread
From: Philipp Stephani @ 2021-01-28  9:05 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 40109

Am Do., 28. Jan. 2021 um 09:46 Uhr schrieb Lars Ingebrigtsen <larsi@gnus.org>:
>
>
> > Ah, the problem is that with-demoted-errors uses
> > condition-case-unless-debug.  More minimal example:
> >
> > $ emacs -Q -batch -eval '(let ((debug-on-error t)) (ignore-errors
> > (with-demoted-errors "%S" (error "foo"))))'
> > Debugger entered--Lisp error: (error "foo")
> > […]
> >
> > I think this behavior is very confusing. Both version.el and
> > trampver.el try to do the right thing, but that breaks in such a
> > situation.
>
> It is somewhat confusing, yes, but it's also pretty convenient in some
> circumstances.

But not when running unit tests.

>
> In any case, are you still seeing the reported test problem?

I also can't reproduce this any more, but the root cause (ERT binding
`debug-on-error' to t) is still there, so I think we're just lucky
that this doesn't happen any more for this specific test.
I guess this bug can be closed, but we should really make some
progress on https://debbugs.gnu.org/cgi/bugreport.cgi?bug=11218.





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

* bug#40109: 27.0.90; simple-delete-trailing-whitespace--bug-21766 fails if Git isn't installed
  2021-01-28  9:05   ` Philipp Stephani
@ 2021-01-28  9:08     ` Lars Ingebrigtsen
  0 siblings, 0 replies; 5+ messages in thread
From: Lars Ingebrigtsen @ 2021-01-28  9:08 UTC (permalink / raw)
  To: Philipp Stephani; +Cc: 40109

Philipp Stephani <p.stephani2@gmail.com> writes:

>> It is somewhat confusing, yes, but it's also pretty convenient in some
>> circumstances.
>
> But not when running unit tests.

Indeed not.

>> In any case, are you still seeing the reported test problem?
>
> I also can't reproduce this any more, but the root cause (ERT binding
> `debug-on-error' to t) is still there, so I think we're just lucky
> that this doesn't happen any more for this specific test.
> I guess this bug can be closed, but we should really make some
> progress on https://debbugs.gnu.org/cgi/bugreport.cgi?bug=11218.

Yup.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





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

end of thread, other threads:[~2021-01-28  9:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-17 17:14 bug#40109: 27.0.90; simple-delete-trailing-whitespace--bug-21766 fails if Git isn't installed Philipp Stephani
2020-03-17 17:35 ` Philipp Stephani
2021-01-28  8:45 ` Lars Ingebrigtsen
2021-01-28  9:05   ` Philipp Stephani
2021-01-28  9:08     ` Lars Ingebrigtsen

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).