Subject: Re: bug#27315: Regression: `abbreviate-file-name' and `tramp-file-name-handler'

From: Michael Albinus <[email-masked]>
Date: Mon, 12 Jun 2017 17:59:23 +0200

Alexander Shukaev <[email-masked]> writes:

Hi Alexander,

>> If the problem persists, could you pls set tramp-verbose to 10, prior
>> running your test? There will be a Tramp debug buffer then.
>
> For the previous test, I've built Emacs from 'master' just a few
> commits before the one you referenced.  So, I've just rebuilt it again
> in order to capture your commit and the problem remains:

I ran the same test, with same trace level. For a while, traces are identical.

> ;; Emacs: 26.0.50 Tramp: 2.3.2-pre -*- mode: outline; -*-
> ;; Location: /usr/share/emacs/26.0.50/lisp/net/tramp.elc Git:
> 973322704adf11cf2ac442e4d0b35eac71ace972
> 13:20:14.493721 tramp-get-connection-property (7) # ~root undef
> 13:20:14.493981 tramp-get-connection-property (7) # process-name nil
> 13:20:14.494130 tramp-get-connection-property (7) # process-name nil
> 13:20:14.494264 tramp-get-connection-property (7) # process-buffer nil
> 13:20:14.494415 tramp-get-connection-property (7) # process-buffer nil
> 13:20:14.494543 tramp-set-connection-property (7) # process-buffer nil
> 13:20:14.495003 tramp-maybe-open-connection (3) # Opening connection
> for root@host using sudo...
> 13:20:14.495676 tramp-get-connection-property (7) # login-args undef
> 13:20:14.495904 tramp-get-connection-property (7) # login-args undef
> 13:20:14.496217 tramp-get-connection-property (7) # process-name nil
> 13:20:14.496382 tramp-get-connection-property (7) # process-buffer nil
> 13:20:14.497168 tramp-set-connection-property (7) # vector
> (tramp-file-name sudo root nil host nil ~/xxx nil)
> 13:20:14.497357 tramp-maybe-open-connection (6) # /bin/sh -i
> 13:20:14.497496 tramp-get-connection-property (7) # vector
> (tramp-file-name sudo root nil host nil ~/xxx nil)
> 13:20:14.497652 tramp-get-connection-property (7) # check-remote-echo nil
> 13:20:14.497781 tramp-get-connection-property (7) # check-remote-echo nil
> 13:20:14.503446 tramp-accept-process-output (10) # *tramp/sudo
> root@host* run t
> #$
> 13:20:14.503622 tramp-get-connection-property (7) # check-remote-echo nil
> 13:20:14.503753 tramp-get-connection-property (7) # check-remote-echo nil
> 13:20:14.503893 tramp-wait-for-regexp (6) #
> #$
> 13:20:14.504046 tramp-get-connection-property (7) # login-program undef
> 13:20:14.504188 tramp-get-connection-property (7) # login-args undef
> 13:20:14.504329 tramp-get-connection-property (7) # login-env undef
> 13:20:14.504466 tramp-get-connection-property (7) # async-args undef
> 13:20:14.504607 tramp-get-connection-property (7) # connection-timeout undef
> 13:20:14.504739 tramp-get-connection-property (7) # temp-file undef
> 13:20:14.504966 tramp-set-connection-property (7) # temp-file
> /tmp/tramp.2864657P
> 13:20:14.575140 tramp-maybe-open-connection (3) # Sending command
> ‘exec env SHELL=/bin/sh sudo -u root -s -H -p
> P""a""s""s""w""o""r""d"":’
> 13:20:14.575246 tramp-get-connection-property (7) # process-name nil
> 13:20:14.575320 tramp-get-connection-property (7) # remote-echo nil
> 13:20:14.575383 tramp-send-command (6) # exec env SHELL=/bin/sh sudo
> -u 
> root -s -H -p P""a""s""s""w""o""r""d"":
> 13:20:14.575454 tramp-get-connection-property (7) # process-name nil
> 13:20:14.575524 tramp-get-connection-property (7) # chunksize nil
> 13:20:14.575587 tramp-set-connection-property (7) # last-cmd-time
> (22845 10094 575567 749000)
> 13:20:14.575657 tramp-send-string (10) # exec env SHELL=/bin/sh sudo
> -u 
> root -s -H -p P""a""s""s""w""o""r""d"":
> 13:20:14.575725 tramp-get-connection-property (7) # process-buffer nil
> 13:20:14.575917 tramp-set-connection-property (7) # first-password-request t
> 13:20:14.576072 tramp-process-actions (3) # Waiting for prompts from
> remote shell...
> 13:20:14.585091 tramp-accept-process-output (10) # *tramp/sudo
> root@host* run t
> Password:
> 13:20:14.585190 tramp-process-one-action (5) # Looking for regexp
> "\(.*\(user\|login\)\( .*\)?: *\)\'" from remote shell
> 13:20:14.585256 tramp-get-connection-property (7) # check-remote-echo nil
> 13:20:14.585319 tramp-get-connection-property (7) # check-remote-echo nil
> 13:20:14.585410 tramp-process-one-action (5) # Looking for regexp
> "\(^.*\(\(?:adgangskode\|contrase\(?:\(?:ny\|ñ\)a\)\|geslo\|h\(?:\(?:asł\|esl\)o\)\|iphasiwedi\|jelszó\|l\(?:ozinka\|ösenord\)\|m\(?:ot
> de passe\|ật khẩu\)\|pa\(?:rola\|s\(?:ahitza\|s\(?:
> phrase\|code\|ord\|phrase\|wor[dt]\)\|vorto\)\)\|s\(?:alasana\|enha\|laptažodis\)\|wachtwoord\|лозинка\|пароль\|ססמה\|كلمة
> السر\|गुप्तशब्द\|शब्दकूट\|গুপ্তশব্দ\|পাসওয়ার্ড\|ਪਾਸਵਰਡ\|પાસવર્ડ\|ପ୍ରବେଶ
> ସଙ୍କେତ\|கடவுச்சொல்\|సంకేతపదము\|ಗುಪ್ತಪದ\|അടയാളവാക്ക്\|රහස්පදය\|ពាក្យសម្ងាត់\|パス
> ワード\|密[码碼]\|암호\)\).*:
> 13:20:14.585488 tramp-get-connection-property (7) # check-remote-echo nil
> 13:20:14.585547 tramp-get-connection-property (7) # check-remote-echo nil
> 13:20:14.585636 tramp-process-one-action (5) # Call ‘tramp-action-password’
> 13:20:14.585702 tramp-get-connection-property (7) # first-password-request t
> 13:20:14.585763 tramp-get-connection-property (7) # check-remote-echo nil
> 13:20:14.585825 tramp-get-connection-property (7) # check-remote-echo nil
> 13:20:14.586027 tramp-action-password (3) # Sending Password
> 13:20:14.586114 tramp-get-connection-property (7) # check-remote-echo nil
> 13:20:14.586221 tramp-get-connection-property (7) # check-remote-echo nil
> 13:20:14.586407 tramp-get-connection-property (7) # first-password-request t

... until here. In my traces, Tramp continues to wait for the shell
prompt. In your traces, Tramp tries to determine, whether the file
system is case-insensitive.

> 13:20:14.590398 tramp-get-connection-property (7) # case-insensitive undef
> 13:20:14.590502 tramp-get-connection-property (7) # case-insensitive undef
> 13:20:14.602433 tramp-handle-file-name-case-insensitive-p (5) #
> Checking case-insensitive...

There's no reason to do this at this point, I've checked the sources. So
I have instrumented `tramp-handle-file-name-case-insensitive-p' to print
its backtrace, in order to understand where it is called from. Committed
to master.

Could you, pls, rerun your test with `tramp-verbose' being 10?

> Regards,
> Alexander

Best regards, Michael.