Subject: Re: bug#13299: 24.3.50; Tramp adb and device not found

From: [email-masked]
Date: Sat, 16 Mar 2013 16:00:54 -0400

Michael Albinus <[email-masked]> writes:

> [email-masked] writes:
>
>> Hi Michael,
>
> Hi,
>
>> Looks like I spoke to fast.
>>
>> It still hangs.
>>
>> I suspect it occurs when `adb devices' returns the following:
>>
>> * daemon not running. starting it now on port 5037 *
>> * daemon started successfully *
>> List of devices attached
>>
>> Notice that it is blank and a device is not listed.
>
> I can reproduce this message from a shell, if adb does not run on my
> local machine, and no device is connected. But it doesn't harm Tramp,
> and Emacs does not hang.
>
> In order to reproduce your problem, I have killed adb on my local
> machine prior to the following test runs.

Here are the results of my similiar tests.  All test are with
runemacs.exe -Q:

> 1st test
> ========
> C-x C-f /adb: <TAB>
>   => "[Sole completion]"

I get
  => "[No match]"

When I type
C-x C-d /adb:?
I then get (with ?, that is a question mark)
 => "[Sole completion]"

> 2nd test
> ========
> C-x C-f /adb:: <TAB>
>   => "[No match]"

This creates the `adb' process and hangs for me.

Hangs until externally kill `adb' process.  Then the *debug tramp/adb * buffer
contains:
15:33:18.141000 tramp-adb-get-ls-command (5) # Finding a suitable `ls' command
15:33:59.580000 tramp-adb-maybe-open-connection (1) # File error: No device connected
15:33:59.590000 tramp-adb-get-ls-command (5) # Finding a suitable `ls' command
15:34:12.370000 tramp-file-name-handler (1) # Interrupt received in operation (file-name-all-completions  /adb::/)

I have to kill the `adb' process a few times because it forks a new
`adb' process until I can see the *debug tramp/adb * buffer.

If I type `?' instead:

C-x C-f /adb::?

I get:

Making completion list...

and it hangs until I kill the `adb' process

15:53:15.449000 tramp-adb-maybe-open-connection (1) # File error: No device connected
15:53:15.449000 tramp-adb-get-ls-command (5) # Finding a suitable `ls' command
15:53:25.279000 tramp-file-name-handler (1) # Interrupt received in
operation (file-name-all-completions  /adb::/)

> 3rd test
> ========
> C-x C-f /adb:: <RET>
>   => "No device connected"

This also hangs until I externally kill the `adb' process

15:55:40.919000 tramp-adb-get-ls-command (5) # Finding a suitable `ls' command
15:56:01.929000 tramp-file-name-handler (1) # Interrupt received in operation (file-attributes /adb::/)
15:56:01.929000 tramp-file-name-handler (1) # Interrupt received in
operation (file-exists-p /adb::/)

Please keep in mind that I have to press ^G prior to killing the `adb'
process, of course, in order to "unhang" the Emacs process and to view
the *debug tramp/aadb * buffer

>
> So I cannot reproduce the problem. As usual, my local machine does not
> run MS Windows but Ubuntu; maybe this is the difference.
>
> Could you, please, tell exactly which key sequence you have used? And
> please use "emacs -Q" for your test.
>
> I have used the following Emacs version for test:
>
> GNU Emacs 24.3.50.20 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.13)
>  of 2013-03-09 on detlef
>
> Best regards, Michael.