Please describe the problem.

git annex p2p --pair does not successfully complete pairing

What steps will reproduce the problem?

  • run git annex p2p --pair
  • optionally run wormhole receive on other host, and input pairing code

What version of git-annex are you using? On what operating system?

6.20170101.1 on Debian 9/stretch

magic wormhole version 0.9.1

Please provide any additional information below.

git annex init
sudo git annex enable-tor $( id -u ) 
git annex p2p --gen-addresses
git annex p2p --debug --pair 
p2p pair peer1 (using Magic Wormhole)
[2018-07-04 19:45:28.712958619] chat: wormhole ["receive","--accept-file","--output-file","/tmp/pairedEj5Y/recv"]
[2018-07-04 19:45:28.715141955] chat: wormhole ["send","/tmp/pairedEj5Y/send"]
Sending 105 Bytes file named 'send'
On the other computer, please run: wormhole receive
Wormhole code is: 3-quantity-fracture

Running the "wormhole receive" command gives a local file:

user@chat:/tmp/bar$ wormhole receive
Enter receive wormhole code: 3-quantity-fracture
Receiving file (105 Bytes) into: send
ok? (y/n): y
Receiving (->tcp:10.137.6.42:36089)..
100%|| 105/105 [00:00<00:00, 519B/s]
Received file written to send
user@chat:/tmp/bar$ cat send 
XXX
tor-annex::XXX.onion:18055

and the p2p --pair command persists, but does not appear to be accepting input at any stage.

Sending (<-10.137.6.42:48778)..
100%|| 105/105 [00:00<00:00, 198KB/s]
File sent.. waiting for confirmation
Confirmation received. Transfer complete.

at this point p2p --pair seems to hang, but will exit on sigint w/ following error, and there's no need to press enter despite what's printed, not sure if that's annex or wormhole's output):

^C
Command interrupted: please press Return to quit

I do not see the expected message Enter receive wormhole code: message, which I do see when manually re-invoking wormhole receive --accept-file --output-file /tmp/pairedEj5Y/recv (in accordance with what Wormhole.receiveFile does), so I suspect some version incompatibility relating either to line buffering or pty mode assumed by magic wormhole itself, causing the p2p --pair command to wait indefinitely even though the wormhole receive process is not able to receive input.

Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)

Yes, but not p2p --pair.

p2p --link works, including syncing, no problems with the remote daemon itself.

... and I wouldn't call it luck, i both trust and rely on git annex =)

fixed