Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
elliot40404 opened this issue Oct 12, 2024 · 5 comments
Closed

Comments

@elliot40404
Copy link
Contributor

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.

@schollz
Copy link
Owner

schollz commented Oct 12, 2024

Arch to arch?

@elliot40404
Copy link
Contributor Author

elliot40404 commented Oct 12, 2024

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

@schollz
Copy link
Owner

schollz commented Oct 12, 2024

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
Copy link
Owner

schollz commented Oct 12, 2024

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...

@elliot40404
Copy link
Contributor Author

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

@schollz schollz closed this as completed Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants