Subject: Re: bug#49714: 28.0.50; TRAMP burns CPU and has insufficient user reporting when using xxxx-sk SSH keys

From: Dima Kogan <[email-masked]>
Date: Sat, 24 Jul 2021 11:15:48 -0700

Michael Albinus <[email-masked]> writes:

> Great! I'm planning for a while to implement support of yubikey, but I
> never started to buy a device. I herewith declare you as my tester :-)

OK. Let's get this running!

>> 1. Emacs should not be spinning the CPU. This is actually an old bug. I
>>    usually see this with normal SSH connections, but it only happens
>>    during the login sequence, which isn't very long. In THIS case the
>>    login sequence could be longer. In any case, we shouldn't be
>>    spinning.
>
> Not so simple. Tramp is in a loop, reading the process output, and
> checking, whether there is something it has to handle (for example,
> password requests). This loop runs until Tramp detects the remote shell
> prompt.

There should be a loop, but emacs shouldn't be using all my CPU cycles
while waiting for user interaction. Emacs can select() on the ssh
process file descriptor, and sleep until the ssh process has stuff to
say.

>> 2. Emacs should relay whatever ssh is saying (i.e. "Confirm user
>>    presence...") to the user
>
> I've implemented this for yubikey, pushed to master. Could you pls try?

I just tried it, and there's no difference in behavior from before.
Debugging suggestions?