Subject: bug#55832: 28.1; Emacs crashes when using tramp from helm in emacs-29

From: Thierry Volpiatto <[email-masked]>
Date: Thu, 09 Jun 2022 18:28:28 +0000

Eli Zaretskii <[email-masked]> writes:

>> From: Thierry Volpiatto <[email-masked]>
>> Cc: [email-masked], [email-masked]
>> Date: Thu, 09 Jun 2022 16:51:18 +0000
>> 
>> (gdb) source /home/thierry/tmp/emacs/src/.gdbinit
>> SIGINT is used by the debugger.
>> Are you sure you want to change it? (y or n) [answered Y; input not from terminal]
>> DISPLAY = :0.0
>> TERM = xterm-256color
>> Breakpoint 1 at 0x5555555a6b56: file emacs.c, line 420.
>> Breakpoint 2 at 0x5555556ba640: file xterm.c, line 22325.
>> (gdb) frame 8
>> #8  0x00005555557ac8a3 in call2 (arg2=XIL(0x55555a4b2e83), arg1=XIL(0x90), fn=<optimized out>) at lisp.h:3232
>> 3232      return CALLN (Ffuncall, fn, arg1, arg2);
>> (gdb) p arg2
>> $1 = XIL(0x55555a4b2e83)
>> (gdb) xtype
>> Lisp_Cons
>> (gdb) xlist
>> No symbol "builtin_lisp_symbol" in current context.
>> (gdb) p arg1
>> $2 = XIL(0x90)
>> (gdb) xtype
>> Lisp_Symbol
>> (gdb) xsymbol
>> $3 = (struct Lisp_Symbol *) 0x555555cd6cd0 <lispsym+144>
>> "error"
>> (gdb) frame 103105
>> #103105 0x00005555557ab8be in Ffuncall (nargs=4, args=0x7fffffd15a80) at eval.c:2953
>> 2953      Lisp_Object val = funcall_general (args[0], nargs - 1, args + 1);
>> (gdb) p args[0]
>> $4 = XIL(0x23a93f0)
>> (gdb) xtype
>> Lisp_Symbol
>> (gdb) xsymbol
>> $5 = (struct Lisp_Symbol *) 0x555558080030
>> "tramp-file-name-for-operation"
>> (gdb) p args[1]
>> $6 = XIL(0x22fdb90)
>> (gdb) xtype
>> Lisp_Symbol
>> (gdb) xsymbol
>> $7 = (struct Lisp_Symbol *) 0x555557fd47d0
>> "tramp-get-remote-uid"
>> (gdb) p args[2]
>> $8 = XIL(0x55555a7df8c3)
>> (gdb) xtype
>> Lisp_Cons
>> (gdb) xlist
>> No symbol "builtin_lisp_symbol" in current context.
>> (gdb) p args[3]
>> $9 = XIL(0xe940)
>> (gdb) xtype
>> Lisp_Symbol
>> (gdb) xsymbol
>> $10 = (struct Lisp_Symbol *) 0x555555ce5580 <lispsym+59712>
>> "string"
>
> So tramp-file-name-for-operation errors out, and that somehow gets us
> in trouble.
>
> I see we call signal-hook-function -- what is its value in that
> session, please?

Seems tramp let-bound it to tramp-signal-hook-function in
tramp-file-name-handler.

-- 
Thierry