GNU bug report logs -
#71200
TRAMP: Trying to do a project-find-file or (find-directory) using the podman method causes a (wrong-type-argument stringp nil) error
Previous Next
Reported by: alexis purslane <alexispurslane <at> pm.me>
Date: Sun, 26 May 2024 00:14:01 UTC
Severity: normal
Fixed in version 30.1
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Wed, 29 May 2024 19:01:22 +0200
with message-id <87mso8een1.fsf <at> gmx.de>
and subject line Re: bug#71200: TRAMP: Trying to do a project-find-file or (find-directory) using the podman method causes a (wrong-type-argument stringp nil) error
has caused the debbugs.gnu.org bug report #71200,
regarding TRAMP: Trying to do a project-find-file or (find-directory) using the podman method causes a (wrong-type-argument stringp nil) error
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
71200: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71200
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
As the the title says, whenever I try to do project-find-* on a project that uses the podman TRAMP method, it spits out an error and otherwise does nothing. Here's the backtrace:
```
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
split-string(nil "\0" t)
project--vc-list-files("/podman:development:~/Development/embryo-engine/" Git nil)
#f(compiled-function (dir) #<bytecode -0x443eb4e00f15eb4>)("/podman:development:~/Development/embryo-engine/")
mapcan(#f(compiled-function (dir) #<bytecode -0x443eb4e00f15eb4>) ("/podman:development:~/Development/embryo-engine/"))
#f(compiled-function (project &optional dirs) #<bytecode 0xe73db4877a27b8>)((vc Git "/podman:development:~/Development/embryo-engine/") ("/podman:development:~/Development/embryo-engine/"))
apply(#f(compiled-function (project &optional dirs) #<bytecode 0xe73db4877a27b8>) (vc Git "/podman:development:~/Development/embryo-engine/") ("/podman:development:~/Development/embryo-engine/"))
project-files((vc Git "/podman:development:~/Development/embryo-engine/") ("/podman:development:~/Development/embryo-engine/"))
project-find-file-in(nil ("/podman:development:~/Development/embryo-engine/") (vc Git "/podman:development:~/Development/embryo-engine/") nil)
project-find-file()
#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_62>("/podman:development:~/Development/embryo-engine/")
funcall(#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_62> "/podman:development:~/Development/embryo-engine/")
(lambda (&rest _) (funcall (dashboard-projects-backend-switch-function) (dashboard-expand-path-alist "0|/podman:development:~/Development/embryo-engine/" dashboard-projects-alist)))((item :tag #(" /podman:development:~/Development/embryo-engine/" 0 1 (rear-nonsticky t display (raise 0.01) font-lock-face (:family "Symbols Nerd Font Mono" :height 1.0) face (:family "Symbols Nerd Font Mono" :height 1.0))) :action (lambda (&rest _) (funcall (dashboard-projects-backend-switch-function) (dashboard-expand-path-alist "0|/podman:development:~/Development/embryo-engine/" dashboard-projects-alist))) :button-face dashboard-items-face :mouse-face highlight :button-prefix "" :button-suffix "" :format "%[%t%]" :button-overlay #<overlay from 706 to 756 in *dashboard*> :from #<marker (moves after insertion) at 706 in *dashboard*> :to #<marker at 756 in *dashboard*>) nil)
widget-apply-action((item :tag #(" /podman:development:~/Development/embryo-engine/" 0 1 (rear-nonsticky t display (raise 0.01) font-lock-face (:family "Symbols Nerd Font Mono" :height 1.0) face (:family "Symbols Nerd Font Mono" :height 1.0))) :action (lambda (&rest _) (funcall (dashboard-projects-backend-switch-function) (dashboard-expand-path-alist "0|/podman:development:~/Development/embryo-engine/" dashboard-projects-alist))) :button-face dashboard-items-face :mouse-face highlight :button-prefix "" :button-suffix "" :format "%[%t%]" :button-overlay #<overlay from 706 to 756 in *dashboard*> :from #<marker (moves after insertion) at 706 in *dashboard*> :to #<marker at 756 in *dashboard*>) nil)
widget-button-press(706)
evil-ret-gen(nil nil)
evil-ret(nil)
funcall-interactively(evil-ret nil)
command-execute(evil-ret)
```
I have a weird little snippet of code to fix it, and a sort-of analysis of what I think is wrong, here: https://gist.github.com/alexispurslane/890ea9971787c979f8c59c8decf132c4. However, this fix is half-baked currently.
Here's my emacs info:
```
Basic Info:
GNU Emacs 29.3 (build 1, x86_64-redhat-linux-gnu, GTK+ Version
3.24.41, cairo version 1.18.0) of 2024-04-25
Build Flags:
"--build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --runstatedir=/run --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-cairo --with-dbus --with-gif --with-gpm=no --with-harfbuzz --with-jpeg --with-json --with-modules --with-native-compilation=aot --with-pgtk --with-png --with-rsvg --with-sqlite3 --with-tiff --with-tree-sitter --with-webp --with-xpm --with-xwidgets build_alias=x86_64-redhat-linux-gnu host_alias=x86_64-redhat-linux-gnu CC=gcc 'CFLAGS=-DMAIL_USE_LOCKF -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' LDFLAGS=-Wl,-z,relro PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig CXX=g++ 'CXXFLAGS=-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer '"
```
This seems like it is probably a bug, and not just user error, so I hope this helps.
Don't hesitate to let me know if you need more info.
[publickey - alexispurslane@pm.me - 0x41E61568.asc (application/pgp-keys, attachment)]
[signature.asc (application/pgp-signature, attachment)]
[Message part 6 (message/rfc822, inline)]
Version: 30.1
alexis purslane <alexispurslane <at> pm.me> writes:
Hi Alexis,
[you've removed the Cc again :-( ]
> I really apologize for not checking this earlier, but it didn't occur
> to me to test this, it came up naturally: if you try to enter a
> distrobox that doesn't exist, Emacs will hang and peg one CPU until
> you hit C-g. But yes I think this bug can be closed for sure
Well, I don't believe it is up to Tramp to check it. For all
container-based methods it is requested that the respective container
is running. In case of toolbox and distrobox, it is sufficient that the
container is created. If not running, it is started then.
Like the other Tramp methods, distrobox offers host name
completion. Typing "C-x C-f /distrobox: TAB" will show you existing
containers.
And yes, closing the bug. Feel free to report further problems. But
likely they won't fit to the scope of this bug report; a new bug report
would be better I believe.
Best regards, Michael.
This bug report was last modified 1 year and 50 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.