Subject: bug#50931: 28.0.50; Tramp test suites fails when remote is MacOS

From: Michael Albinus <[email-masked]>
Date: Fri, 01 Oct 2021 14:23:33 +0200

Damien Merenne <[email-masked]> writes:

Hi Andrea,

could you, pls, have a look on this?

Best regards, Michael.

> When running the tramp test suite using a MacOS remote host, some test
> fails, according to the tramp maintainer, it seems related to the native
> compilation feature.
>
> Running
>
> $ env REMOTE_TEMPORARY_FILE_DIRECTORY='/ssh:laptop.lan:/tmp' make -C test
> tramp-tests
>
> Here are the traces of the failing tests whichall fails in
> `comp--native-compile`
>
> Test tramp-test10-write-region-file-precious-flag backtrace:
>   signal(file-missing ((lambda (arg7094 arg7095 arg7096 &optional arg7
>   comp--native-compile((lambda (arg7094 arg7095 arg7096 &optional arg7
>   comp-trampoline-compile(write-region)
>   comp-subr-trampoline-install(write-region)
>   advice--add-function(:before (#f(compiled-function () #<bytecode 0x3
>   advice-add(write-region :before (closure ((written-files) (tmp-name
>   (save-current-buffer (set-buffer (find-file-noselect tmp-name)) (ins
>   (unwind-protect (save-current-buffer (set-buffer (find-file-noselect
>   (let* ((tmp-name (tramp--test-make-temp-name)) (inhibit-message t) w
>   (let ((lexical-binding t)) (let* ((fn-3474 #'tramp--test-enabled) (a
>   (closure (tramp-inline-compress-start-size tramp-copy-size-limit ang
>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>   ert-run-test(#s(ert-test :name tramp-test10-write-region-file-precio
>   ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>   ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type
>   ert-run-tests-batch((not (tag :unstable)))
>   ert-run-tests-batch-and-exit((not (tag :unstable)))
>   command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/tramp-tests.el"
>   command-line()
>   normal-top-level()
> Test tramp-test10-write-region-file-precious-flag condition:
>     (file-missing
>      (lambda
>        (arg7094 arg7095 arg7096 &optional arg7097 arg7098 arg7099 arg7100)
>        (let
>            ((f ...))
>          (funcall f arg7094 arg7095 arg7096 arg7097 arg7098 arg7099 arg7100)))
>      "Setting current directory" "No such file or directory" "/ssh:laptop.lan:/tmp/")
>    FAILED  20/74  tramp-test10-write-region-file-precious-flag (1.101321 sec)
>
> Test tramp-test29-start-file-process-direct-async backtrace:
>   signal(file-missing ((lambda (arg7145 arg7146 &optional) (let ((f #'
>   comp--native-compile((lambda (arg7145 arg7146 &optional) (let ((f #'
>   comp-trampoline-compile(internal-default-process-sentinel)
>   comp-subr-trampoline-install(internal-default-process-sentinel)
>   fset(internal-default-process-sentinel #<subr internal-default-proce
>   (unwind-protect (progn (fset #'internal-default-process-sentinel #'i
>   (let* ((old (symbol-function #'internal-default-process-sentinel)) (
>   (let ((default-directory tramp-test-temporary-file-directory) (ert-t
>   (let ((lexical-binding t)) (let* ((fn-5545 #'tramp--test-enabled) (a
>   (closure (tramp-inline-compress-start-size tramp-copy-size-limit ang
>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>   ert-run-test(#s(ert-test :name tramp-test29-start-file-process-direc
>   ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>   ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type
>   ert-run-tests-batch((not (tag :unstable)))
>   ert-run-tests-batch-and-exit((not (tag :unstable)))
>   command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/tramp-tests.el"
>   command-line()
>   normal-top-level()
> Test tramp-test29-start-file-process-direct-async condition:
>     (file-missing
>      (lambda
>        (arg7145 arg7146 &optional)
>        (let
>            ((f ...))
>          (funcall f arg7145 arg7146)))
>      "Setting current directory" "No such file or directory" "/ssh:laptop.lan:/tmp")
>    FAILED  43/74  tramp-test29-start-file-process-direct-async (0.004039 sec)
>
> Test tramp-test30-make-process-direct-async backtrace:
>   signal(file-missing ((lambda (arg7181 arg7182 &optional) (let ((f #'
>   comp--native-compile((lambda (arg7181 arg7182 &optional) (let ((f #'
>   comp-trampoline-compile(internal-default-process-sentinel)
>   comp-subr-trampoline-install(internal-default-process-sentinel)
>   fset(internal-default-process-sentinel #<subr internal-default-proce
>   (unwind-protect (progn (fset #'internal-default-process-sentinel #'i
>   (let* ((old (symbol-function #'internal-default-process-sentinel)) (
>   (let ((default-directory tramp-test-temporary-file-directory) (ert-t
>   (let ((lexical-binding t)) (let* ((fn-5672 #'tramp--test-enabled) (a
>   (closure (tramp-inline-compress-start-size tramp-copy-size-limit ang
>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>   ert-run-test(#s(ert-test :name tramp-test30-make-process-direct-asyn
>   ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>   ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type
>   ert-run-tests-batch((not (tag :unstable)))
>   ert-run-tests-batch-and-exit((not (tag :unstable)))
>   command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/tramp-tests.el"
>   command-line()
>   normal-top-level()
> Test tramp-test30-make-process-direct-async condition:
>     (file-missing
>      (lambda
>        (arg7181 arg7182 &optional)
>        (let
>            ((f ...))
>          (funcall f arg7181 arg7182)))
>      "Setting current directory" "No such file or directory" "/ssh:laptop.lan:/tmp")
>    FAILED  45/74  tramp-test30-make-process-direct-async (0.004993 sec)
>
> Test tramp-test33-environment-variables-direct-async backtrace:
>   signal(file-missing ((lambda (arg7218 arg7219 &optional) (let ((f #'
>   comp--native-compile((lambda (arg7218 arg7219 &optional) (let ((f #'
>   comp-trampoline-compile(internal-default-process-sentinel)
>   comp-subr-trampoline-install(internal-default-process-sentinel)
>   fset(internal-default-process-sentinel #<subr internal-default-proce
>   (unwind-protect (progn (fset #'internal-default-process-sentinel #'i
>   (let* ((old (symbol-function #'internal-default-process-sentinel)) (
>   (let ((default-directory tramp-test-temporary-file-directory) (ert-t
>   (let ((lexical-binding t)) (let* ((fn-5965 #'tramp--test-enabled) (a
>   (closure (tramp-inline-compress-start-size tramp-copy-size-limit ang
>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>   ert-run-test(#s(ert-test :name tramp-test33-environment-variables-di
>   ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>   ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type
>   ert-run-tests-batch((not (tag :unstable)))
>   ert-run-tests-batch-and-exit((not (tag :unstable)))
>   command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/tramp-tests.el"
>   command-line()
>   normal-top-level()
> Test tramp-test33-environment-variables-direct-async condition:
>     (file-missing
>      (lambda
>        (arg7218 arg7219 &optional)
>        (let
>            ((f ...))
>          (funcall f arg7218 arg7219)))
>      "Setting current directory" "No such file or directory" "/ssh:laptop.lan:/tmp")
>    FAILED  50/74  tramp-test33-environment-variables-direct-async
>   (0.023679 sec)
>
>
>
>
> In GNU Emacs 28.0.50 (build 7, x86_64-pc-linux-gnu, GTK+ Version 3.24.25, cairo version 1.16.0)
>  of 2021-09-27 built on workstation.lan
> Repository revision: da4e58458f6659d075143083a9f04be3a42853da
> Repository branch: master
> Windowing system distributor 'The X.Org Foundation', version 11.0.12101001
> System Description: Ubuntu 21.04
>
> Configured using:
>  'configure --with-native-compilation --with-mailutils --with-gnutls
>  --with-modules --with-json --without-gpm --with-file-notification=yes
>  --with-xwidgets --without-selinux --with-libsystemd --with-jpeg
>  --with-tiff --with-gif --with-png --with-rsvg --with-imagemagick
>  CC=gcc-10'
>
> Configured features:
> ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ
> IMAGEMAGICK JPEG JSON LCMS2 LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP
> NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF
> TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM XWIDGETS GTK3 ZLIB
>
> Important settings:
>   value of $LC_MONETARY: fr_BE.UTF-8
>   value of $LC_NUMERIC: fr_BE.UTF-8
>   value of $LC_TIME: fr_BE.UTF-8
>   value of $LANG: en_US.UTF-8
>   value of $XMODIFIERS: @im=ibus
>   locale-coding-system: utf-8-unix
>
> Major mode: Magit
>
> Minor modes in effect:
>   bloom-global-minor-mode: t
>   bloom-minor-mode: t
>   bloom-magit-pullrequests-mode: t
>   bloom-magit-build-mode: t
>   magit-wip-after-apply-mode: t
>   global-git-commit-mode: t
>   magit-auto-revert-mode: t
>   dtrt-indent-global-mode: t
>   test-runner-mode: t
>   pdf-occur-global-minor-mode: t
>   yas-global-mode: t
>   yas-minor-mode: t
>   smartparens-global-mode: t
>   show-paren-mode: t
>   marginalia-mode: t
>   selectrum-mode: t
>   corfu-global-mode: t
>   corfu-mode: t
>   global-ligature-mode: t
>   ligature-mode: t
>   shell-dirtrack-mode: t
>   envrc-global-mode: t
>   envrc-mode: t
>   bepo-global-mode: t
>   which-key-mode: t
>   savehist-mode: t
>   global-so-long-mode: t
>   override-global-mode: t
>   straight-use-package-mode: t
>   straight-package-neutering-mode: t
>   tooltip-mode: t
>   global-eldoc-mode: t
>   electric-indent-mode: t
>   mouse-wheel-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
>   buffer-read-only: t
>   line-number-mode: t
>   transient-mark-mode: t
>
> Load-path shadows:
> /home/dam/.emacs.d/straight/build/transient/transient hides /usr/local/share/emacs/28.0.50/lisp/transient
> /home/dam/.emacs.d/straight/build/jsonrpc/jsonrpc hides /usr/local/share/emacs/28.0.50/lisp/jsonrpc
> /home/dam/.emacs.d/straight/build/xref/xref hides /usr/local/share/emacs/28.0.50/lisp/progmodes/xref
> /home/dam/.emacs.d/straight/build/flymake/flymake hides /usr/local/share/emacs/28.0.50/lisp/progmodes/flymake
> /home/dam/.emacs.d/straight/build/project/project hides /usr/local/share/emacs/28.0.50/lisp/progmodes/project
> /home/dam/.emacs.d/straight/build/let-alist/let-alist hides /usr/local/share/emacs/28.0.50/lisp/emacs-lisp/let-alist
> /home/dam/.emacs.d/straight/build/eldoc/eldoc hides /usr/local/share/emacs/28.0.50/lisp/emacs-lisp/eldoc
>
> Features:
> (shadow sort mail-extr emacsbug tramp-cmds re-builder git-timemachine
> git-timemachine-autoloads cmake-font-lock embark-consult macros calccomp
> calc-bin calc-alg calc-misc calc-menu calc-ext calc-aent calc
> calc-loaddefs calc-macs goto-addr embark ffap eglot-clangd epa-file
> git-rebase dockerfile-mode sh-script executable terraform-mode hcl-mode
> pulse all-the-icons-dired conf-mode yaml-mode url-file url-dired
> url-cache vterm term disp-table ehelp vterm-module term/xterm xterm cov
> elquery rect face-remap misearch multi-isearch helpful trace edebug
> info-look help-fns elisp-refs mule-util autoload radix-tree vc-mtn vc-hg
> vc-git vc-bzr vc-src vc-sccs vc-cvs vc-rcs vc vc-dispatcher checkdoc
> lisp-mnt form-feed bloomlife bloom-mode eglot array jsonrpc ert ewoc
> debug backtrace bloom-sensor gdb-mi bloom-tools bloom-magit
> bloom-magit-bitbucket atlassian-bitbucket bloom-magit-build
> bloom-project bloom-test-runner bloom-build bloom-cmake bloom-conan
> bloom-bbw bloom-target bloom-common bloom-pkg bloomlife-autoloads sonar
> sonar-autoloads circleci circleci-autoloads atlassian atlassian-jira
> atlassian-common request atlassian-autoloads request-autoloads
> magit-async-section magit-async-section-autoloads
> terraform-mode-autoloads hcl-mode-autoloads cargo-autoloads racer
> smartparens-rust rust-utils rust-mode rust-rustfmt rust-playpen
> rust-compile rust-cargo racer-autoloads pos-tip-autoloads
> rust-mode-autoloads rubocop rubocop-autoloads robe etags fileloop
> generator inf-ruby robe-autoloads inf-ruby-autoloads rbenv
> rbenv-autoloads ruby-mode smie smartparens-python python tramp-sh
> smartparens-scala scala-mode scala-mode-prettify-symbols
> scala-mode-imenu scala-mode-map scala-mode-fontlock scala-mode-indent
> scala-mode-paragraph scala-mode-syntax scala-mode-lib
> scala-mode-autoloads java-imports pcache eieio-base
> java-imports-autoloads pcache-autoloads form-feed-autoloads elisp-format
> flymake-proc flymake flyspell elisp-format-autoloads test-runner-ert
> elfmt elfmt-autoloads cask-mode cask-mode-autoloads docker docker-volume
> docker-network docker-machine docker-image docker-container docker-faces
> docker-compose docker-utils json-mode json-reformat json-snatcher
> smartparens-javascript js docker-core docker-autoloads
> json-mode-autoloads json-snatcher-autoloads json-reformat-autoloads
> docker-tramp-autoloads docker-tramp tramp-cache
> dockerfile-mode-autoloads djinni-mode djinni-mode-autoloads
> cov-autoloads elquery-autoloads gud-lldb cmake-api cmake-api-autoloads
> test-runner-catch2 test-runner-catch2-autoloads eglot-clangd-autoloads
> eldoc-cmake eldoc-cmake-autoloads cmake-font-lock-autoloads cmake-mode
> smartparens-rst rst cmake-mode-autoloads android android-autoloads pbuf
> pbuf-autoloads gud xref forge-list forge-commands forge-semi
> forge-bitbucket buck forge-gogs gogs forge-gitea gtea forge-gitlab glab
> forge-github forge-notify forge-revnote forge-pullreq forge-issue
> forge-topic yaml bug-reference forge-post forge-repo forge forge-core
> forge-db forge-autoloads yaml-autoloads closql emacsql-sqlite emacsql
> emacsql-compiler closql-autoloads emacsql-sqlite-autoloads
> emacsql-autoloads ghub-graphql treepy gsexp ghub url-http url-gw nsm
> url-auth ghub-autoloads treepy-autoloads magit-extras magit-bookmark
> magit-submodule magit-obsolete magit-blame magit-stash magit-reflog
> magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote
> magit-commit magit-sequence magit-notes magit-worktree magit-tag
> magit-merge magit-branch magit-reset magit-files magit-refs magit-status
> magit magit-repos magit-apply magit-wip magit-log which-func magit-diff
> smerge-mode diff-mode git-commit log-edit message rmc rfc822 mml mml-sec
> epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode
> mail-parse rfc2231 mailabbrev gmm-utils mailheader pcvs-util add-log
> magit-core magit-autorevert magit-margin magit-transient magit-process
> with-editor server magit-mode transient comp comp-cstr warnings
> magit-git magit-section magit-utils magit-autoloads
> magit-section-autoloads git-commit-autoloads with-editor-autoloads
> transient-autoloads eglot-autoloads project-autoloads xref-autoloads
> flymake-autoloads eldoc-autoloads jsonrpc-autoloads dtrt-indent
> dtrt-indent-autoloads diff ispell reformatter reformatter-autoloads
> test-runner project test-runner-autoloads vterm-autoloads ag vc-svn
> find-dired ag-autoloads dired-collapse dired-collapse-autoloads
> dired-rainbow dired-rainbow-autoloads dired-narrow delsel
> dired-narrow-autoloads dired-ranger-autoloads dired-subtree-autoloads
> dired-filter f s dired-hacks-utils dired-x dired-filter-autoloads
> dired-hacks-utils-autoloads dired-aux yaml-mode-autoloads plantuml-mode
> plantuml-mode-autoloads pdf-occur ibuf-ext ibuffer ibuffer-loaddefs
> tablist tablist-filter semantic/wisent/comp semantic/wisent
> semantic/wisent/wisent semantic/util-modes semantic/util semantic
> semantic/tag semantic/lex semantic/fw mode-local find-func cedet
> pdf-isearch let-alist pdf-misc imenu pdf-tools package pdf-view
> jka-compr pdf-cache pdf-info tq pdf-util pdf-macs pdf-tools-autoloads
> let-alist-autoloads tablist-autoloads xwwp eww xdg url-queue shr kinsoku
> svg dom mm-url gnus nnheader gnus-util rmail rmail-loaddefs
> xwwp-autoloads xwidget url-handlers image-mode dired dired-loaddefs exif
> browse-url url url-proxy url-privacy url-expand url-methods url-history
> url-cookie url-domsuf url-util mailcap osx-browse-autoloads
> browse-url-dwim-autoloads string-utils-autoloads list-utils-autoloads cl
> smartparens-markdown markdown-mode url-parse url-vars noutline outline
> markdown-mode-autoloads nov-autoloads esxml-autoloads kv-autoloads
> yasnippet yasnippet-autoloads wgrep grep compile wgrep-autoloads
> cap-words superword subword string-inflection
> string-inflection-autoloads smartparens-config smartparens-text
> smartparens-c smartparens-ruby smartparens dash smartparens-autoloads
> cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
> cc-vars cc-defs paren mmm-mode mmm-univ mmm-class mmm-region mmm-auto
> mmm-vars mmm-utils mmm-compat mmm-mode-autoloads iedit iedit-lib
> iedit-autoloads autorevert filenotify marginalia marginalia-autoloads
> embark-consult-autoloads embark-autoloads consult-selectrum selectrum
> minibuf-eldef crm selectrum-autoloads orderless orderless-autoloads
> corfu corfu-autoloads ns-auto-titlebar-autoloads
> all-the-icons-dired-autoloads all-the-icons all-the-icons-faces
> data-material data-weathericons data-octicons data-fileicons
> data-faicons data-alltheicons all-the-icons-autoloads rx ligature
> ligature-autoloads solarized-dark-high-contrast-theme solarized-palettes
> solarized-theme solarized solarized-faces color
> solarized-theme-autoloads use-theme use-theme-autoloads smtpmail
> sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils tramp
> tramp-loaddefs trampver tramp-integration files-x tramp-compat shell
> pcomplete comint ring parse-time iso8601 time-date ls-lisp auth-source
> eieio eieio-core eieio-loaddefs password-cache envrc inheritenv
> ansi-color envrc-autoloads inheritenv-autoloads eshell esh-cmd esh-ext
> esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util bepo
> which-key advice which-key-autoloads time savehist edmacro
> helpful-autoloads elisp-refs-autoloads f-autoloads s-autoloads
> dash-autoloads exec-path-from-shell exec-path-from-shell-autoloads
> so-long diminish diminish-autoloads consult-dash pcase consult recentf
> tree-widget kmacro bookmark text-property-search consult-dash-autoloads
> consult-autoloads dash-docs use-package-dash-docs gnutls puny thingatpt
> format-spec xml json map dash-docs-autoloads async async-autoloads
> no-littering no-littering-autoloads finder-inf
> use-package-ensure-system-package system-packages
> use-package-ensure-system-package-autoloads system-packages-autoloads
> use-package use-package-ensure use-package-delight use-package-diminish
> use-package-bind-key bind-key easy-mmode use-package-core
> use-package-autoloads bind-key-autoloads cus-edit pp cus-load wid-edit
> straight-autoloads info cl-seq cl-extra help-mode seq byte-opt straight
> subr-x cl-macs gv cl-loaddefs cl-lib bytecomp byte-compile cconv
> iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks
> lisp-float-type elisp-mode 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 lisp-mode prog-mode register page tab-bar menu-bar
> rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
> font-lock syntax 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 emoji-zwj charscript
> charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray
> cl-preloaded nadvice button loaddefs faces cus-face macroexp files
> window text-properties overlay sha1 md5 base64 format env code-pages
> mule custom widget hashtable-print-readable backquote threads
> xwidget-internal dbusbind inotify lcms2 dynamic-setting
> system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit
> x multi-tty make-network-process native-compile emacs)
>
> Memory information:
> ((conses 16 2028051 315008)
>  (symbols 48 56533 3)
>  (strings 32 257594 26831)
>  (string-bytes 1 11512175)
>  (vectors 16 118667)
>  (vector-slots 8 2932756 369964)
>  (floats 8 973 1618)
>  (intervals 56 212369 11783)
>  (buffers 992 164))