croc icon indicating copy to clipboard operation
croc copied to clipboard

croc transfer fails between arch linux x86 64bit and any other device.

Open elliot40404 opened this issue 1 year ago • 5 comments

I have tried to transfer both ways between

  1. windows <-> arch
  2. mac <-> arch
  3. debian <-> arch and none of them worked. All the devices are on my local network and have unrestricted access to the internet. I have also tried with firewalls disabled. All of the devices have the latest croc version which is v10.0.13 at the moment. The transfer works flawlessly between all the other devices.

This is the output from the --debug flag on the receiving arch device.

croc --debug
[debug] 14:18:23 cli.go:212: debug mode on
[debug] 14:18:25 cli.go:216: public IP address: X.X.X.X
Enter receive code: 5001-raymond-cactus-combat
connecting...[debug]    14:18:31 croc.go:860: attempt to discover peers
[debug] 14:18:32 croc.go:926: discoveries: []
[debug] 14:18:32 croc.go:927: establishing connection
[debug] 14:18:32 croc.go:955: could not connect to : found no addresses to connect
could not connect to : found no addresses to connect
croc --debug
[debug] 14:22:17 cli.go:212: debug mode on
[debug] 14:22:19 cli.go:216: public IP address: X.X.X.X
Enter receive code: 3773-focus-ohio-stick
connecting...[debug]    14:22:25 croc.go:860: attempt to discover peers
[debug] 14:22:25 croc.go:900: all discoveries: [address: fe80::73ec:648:557b:ddd9%wlan0, payload: croc9009]
[debug] 14:22:25 croc.go:902: discovery 0 has payload: address: fe80::73ec:648:557b:ddd9%wlan0, payload:
croc9009
[debug] 14:22:25 croc.go:907: switching to local
[debug] 14:22:25 tcp.go:452: pinging [fe80::73ec:648:557b:ddd9%wlan0]:9009
[debug] 14:22:25 comm.go:78: dialing to [fe80::73ec:648:557b:ddd9%wlan0]:9009 with timelimit 300ms
[debug] 14:22:26 comm.go:83: comm.NewConnection failed: dial tcp [fe80::73ec:648:557b:ddd9%!w(MISSING)lan0]:9009: i/o timeout
[debug] 14:22:26 tcp.go:455: comm.NewConnection failed: dial tcp [fe80::73ec:648:557b:ddd9%!w(MISSING)lan0]:9009: i/o timeout
[debug] 14:22:26 croc.go:922: could not ping: comm.NewConnection failed: dial tcp [fe80::73ec:648:557b:ddd9%wlan0]:9009: i/o timeout
[debug] 14:22:26 croc.go:926: discoveries: [address: fe80::73ec:648:557b:ddd9%wlan0, payload: croc9009]
[debug] 14:22:26 croc.go:927: establishing connection
[debug] 14:22:26 croc.go:955: could not connect to : found no addresses to connect
could not connect to : found no addresses to connect

This is the output from the debug flag when i try sending from my arch device to windows and debian respectively

❯ croc --debug 3168-triton-current-prime
[debug] 14:24:40 cli.go:212: debug mode on
[debug] 14:24:40 cli.go:216: public IP address: X.X.X.X
connecting...[debug]    14:24:40 croc.go:860: attempt to discover peers
[debug] 14:24:40 croc.go:900: all discoveries: [address: fe80::a7cf:337:a6fb:ae4%Ethernet, payload: croc9014]
[debug] 14:24:40 croc.go:902: discovery 0 has payload: address: fe80::a7cf:337:a6fb:ae4%Ethernet, payload: croc9014
[debug] 14:24:40 croc.go:907: switching to local
[debug] 14:24:40 tcp.go:452: pinging [fe80::a7cf:337:a6fb:ae4%Ethernet]:9014
[debug] 14:24:40 comm.go:78: dialing to [fe80::a7cf:337:a6fb:ae4%Ethernet]:9014 with timelimit 300ms
[debug] 14:24:40 comm.go:83: comm.NewConnection failed: dial tcp [fe80::a7cf:337:a6fb:ae4%!E(MISSING)thernet]:9014: i/o timeout
[debug] 14:24:40 tcp.go:455: comm.NewConnection failed: dial tcp [fe80::a7cf:337:a6fb:ae4%!E(MISSING)thernet]:9014: i/o timeout
[debug] 14:24:40 croc.go:922: could not ping: comm.NewConnection failed: dial tcp [fe80::a7cf:337:a6fb:ae4%Ethernet]:9014: i/o timeout
[debug] 14:24:40 croc.go:926: discoveries: [address: fe80::a7cf:337:a6fb:ae4%Ethernet, payload: croc9014]
[debug] 14:24:40 croc.go:927: establishing connection
[debug] 14:24:40 croc.go:943: got host '5.78.91.237' and port '9009'
[debug] 14:24:40 croc.go:945: trying connection to 5.78.91.237:9009
[debug] 14:24:40 comm.go:78: dialing to 5.78.91.237:9009 with timelimit 5s
[debug] 14:24:41 comm.go:87: connected to '5.78.91.237:9009'
[debug] 14:24:41 tcp.go:513: strong key: ce5b26956a2e50f61346df2ebcf7981381c6808546f3e09728e0de121fb8af90
[debug] 14:24:41 tcp.go:527: sending password
[debug] 14:24:41 tcp.go:538: waiting for first ok
[debug] 14:24:41 tcp.go:556: sending room; 863f633840a6cbb74e57f4f4307852fc6b548807991f2e90c4c1a06e82150315
[debug] 14:24:41 tcp.go:567: waiting for room confirmation
[debug] 14:24:41 tcp.go:583: all set
[debug] 14:24:41 croc.go:958: receiver connection established: &{connection:0xc00035e000}
[debug] 14:24:41 croc.go:959: banner: 9010,9011,9012,9013,9014,9015,9016,9017
[debug] 14:24:41 croc.go:991: data:
[debug] 14:24:41 croc.go:1080: exchanged header message
securing channel...[debug]      14:24:41 croc.go:1098: ready
[debug] 14:24:41 message.go:61: writing pake message (unencrypted)
[debug] 14:24:42 compress.go:50: error copying data: unexpected EOF
[debug] 14:24:42 croc.go:1482: problem with decoding: unexpected end of JSON input
[debug] 14:24:42 croc.go:1124: data:
[debug] 14:24:42 croc.go:1125: got error processing: problem with decoding: unexpected end of JSON input
[debug] 14:24:42 croc.go:1179: error: problem with decoding: unexpected end of JSON input
room (secure channel) not ready, maybe peer disconnected

Debian

elliot@pi:~ $ croc --debug
[debug] 14:27:02 cli.go:212: debug mode on
[debug] 14:27:02 cli.go:216: public IP address: X.X.X.X
Enter receive code: 3168-triton-current-prime
connecting...[debug]    14:27:08 croc.go:860: attempt to discover peers
[debug] 14:27:08 croc.go:900: all discoveries: [address: 192.168.0.108, payload: croc9009 address: fe80::f5db:4e89:983:531e%eth0, payload: ok]
[debug] 14:27:08 croc.go:902: discovery 0 has payload: address: 192.168.0.108, payload: croc9009
[debug] 14:27:08 croc.go:907: switching to local
[debug] 14:27:08 tcp.go:452: pinging 192.168.0.108:9009
[debug] 14:27:08 comm.go:78: dialing to 192.168.0.108:9009 with timelimit 300ms
[debug] 14:27:08 comm.go:87: connected to '192.168.0.108:9009'
[debug] 14:27:08 croc.go:915: successfully pinged '192.168.0.108:9009'
[debug] 14:27:08 croc.go:926: discoveries: [address: 192.168.0.108, payload: croc9009 address: fe80::f5db:4e89:983:531e%eth0, payload: ok]
[debug] 14:27:08 croc.go:927: establishing connection
[debug] 14:27:08 croc.go:943: got host '192.168.0.108' and port '9009'
[debug] 14:27:08 croc.go:945: trying connection to 192.168.0.108:9009
[debug] 14:27:08 comm.go:78: dialing to 192.168.0.108:9009 with timelimit 5s
[debug] 14:27:08 comm.go:87: connected to '192.168.0.108:9009'
[debug] 14:27:08 tcp.go:513: strong key: b9ec241bc6b170d7a89233e30095b1689709245e97b54af732c6b748d4961f61
[debug] 14:27:08 tcp.go:527: sending password
[debug] 14:27:08 tcp.go:538: waiting for first ok
[debug] 14:27:08 tcp.go:556: sending room; 863f633840a6cbb74e57f4f4307852fc6b548807991f2e90c4c1a06e82150315
[debug] 14:27:08 tcp.go:567: waiting for room confirmation
[debug] 14:27:08 tcp.go:583: all set
[debug] 14:27:08 croc.go:958: receiver connection established: &{connection:0x4000052028}
[debug] 14:27:08 croc.go:959: banner: 9010,9011,9012,9013
[debug] 14:27:08 croc.go:1080: exchanged header message
securing channel...[debug]      14:27:08 croc.go:1098: ready
[debug] 14:27:08 message.go:61: writing pake message (unencrypted)
[debug] 14:27:08 compress.go:50: error copying data: unexpected EOF
[debug] 14:27:08 croc.go:1482: problem with decoding: unexpected end of JSON input
[debug] 14:27:08 croc.go:1124: data:
[debug] 14:27:08 croc.go:1125: got error processing: problem with decoding: unexpected end of JSON input
[debug] 14:27:08 croc.go:1179: error: problem with decoding: unexpected end of JSON input
room (secure channel) not ready, maybe peer disconnected

Thanks.

elliot40404 avatar Oct 12 '24 09:10 elliot40404

Arch to arch?

schollz avatar Oct 12 '24 10:10 schollz

Good question. I just created 2 new VMs on my home server which is a separate device and ran some experiments. This is what I found.

Arch VM1 can send to Archbook(laptop)
Arch VM2 can send to Archbook(laptop)
Arch VM1 can send to Arch VM2

Arch VM2 cannot send to Arch VM1
Archbook(laptop) cannot send to Arch VM1
Archbook(laptop) cannot send to Arch VM2

elliot40404 avatar Oct 12 '24 11:10 elliot40404

great info. unfortunately I won't be able to help on this since I can't reproduce (I don't have any arch systems)

schollz avatar Oct 12 '24 14:10 schollz

well okay I did try something:

docker run -it archlinux /bin/bash

and from there installed curl and croc and was able to complete transfers both ways...

schollz avatar Oct 12 '24 14:10 schollz

Thanks. I will also keep investigating and report back if i find anything interesting.

elliot40404 avatar Oct 13 '24 21:10 elliot40404