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 freezes/stalls during large file transfer #437

Closed
DanCousins opened this issue Nov 12, 2021 · 29 comments
Closed

Croc freezes/stalls during large file transfer #437

DanCousins opened this issue Nov 12, 2021 · 29 comments
Labels

Comments

@DanCousins
Copy link

DanCousins commented Nov 12, 2021

Describe the bug

Trying to transfer a large file (movie) that is around 20GB between two machines. Sometimes will transfer a few gigs before stalling, other times will transfer 10+gigs and then stall.

Everything looks normal, like it's still downloading, except the download speed will go to ~100kbps ish and then stop updating. Estimated time is also frozen and does not update. Will just sit there doing nothing indefinitely. On the sending machine, it looks like the speed is stuck at the normal rate, on the receiving machine the speed is as described above, and also frozen.

To Reproduce

Steps to reproduce the behavior:

  1. Transfer a large file
  2. Wait
  3. It will eventually stop working and require the transfer to be restarted

Expected behaviour

I expect to start the transfer and it complete without stalling.

Version

croc version v9.4.2-49f50a5

Additional context

It has happened 3 times now during the transfer of this one movie file. Once at 17%, once at 25% and then finally once again at 95%.

This wouldn't be a big deal, as you can just resume and be on your way, but it seems like when transferring large files, the tool takes a very long time to load (which seems to be related to file size in my brief testing), so restarting the download can be time-consuming, and of course, it requires monitoring until the download is complete.

@DanCousins DanCousins added the bug label Nov 12, 2021
@schollz
Copy link
Owner

schollz commented Nov 12, 2021

I cannot reproduce this bug.

Is this on LAN? Or using public relay?

@DanCousins
Copy link
Author

I cannot reproduce this bug.

Is this on LAN? Or using public relay?

Using a public relay.

@schollz
Copy link
Owner

schollz commented Nov 12, 2021

What is the speed of transfer? I wonder if there is a flaky connection at one your computers

@DanCousins
Copy link
Author

About 2MB/s. I have experienced a drop before when using this, although with smaller files, and it will cancel the transfer, whereas in this case it just hangs in the frozen state.

I'm not exactly sure how stable the connections are required to be, or how flaky it has to be to get it to hang like this, but both connections are generally solid and I have no other issues using other tools, playing games, etc.

@jnko
Copy link

jnko commented Nov 16, 2021

I can also confirm this "bug" and noticed it a lot of times. Unfortunately I didn't find out a way to safely reproduce it yet.
All I can say that this happens most often when transferring a couple (5 to 20) of large (> 500MB) files at once. Sometimes transfer works, sometimes not. I use my own relay-server with a speed of ~20MB/s (the speed of my DSL line).
VERSION: v9.4.2-49f50a5 (but older versions were affected too)

I was able to encounter the problem while running in debug mode on both sides. While on the sender side there is no useable debug message there is some debug output on the receiver side.

[debug] 07:17:35 croc.go:1262: checking {Name:testfile8.dat FolderRemote:. FolderSource:/media/data/pm/ Hash:[209 52 217 46 111 110 87 84] Size:596003509 ModTime:2021-11-15 19:46:34.565956532 +0100 CET IsCompressed:false IsEncrypted:false Symlink:}
[debug] 07:17:35 croc.go:1279: testfile8.dat  d134d92e6f6e5754 <nil>
[debug] 07:17:35 croc.go:1281: hashed testfile8.dat to  using xxhash
[debug] 07:17:35 croc.go:1282: hashes are not equal  != d134d92e6f6e5754
[debug] 07:17:35 croc.go:1094: working on file 8
[debug] 07:17:35 croc.go:1174: converting to chunk range
[debug] 07:17:35 croc.go:1182: sending recipient ready with 0 chunks
[debug] 07:17:35 message.go:58: writing recipientready message (encrypted)
 testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                                                                                                           testfile8.dat                                                            11% |██                  | (68/568 MB, 21.781 MB/s) [3s:22s][debug]       07:17:38 comm.go:128: initial read error: EOF
[debug] 07:17:38 croc.go:730: got error receiving: EOF
2021/11/16 07:17:38 EOF
[debug] 07:17:39 cli.go:163: debug mode on
[debug] 07:17:39 croc.go:169: options: {IsSender:false SharedSecret:NotSoSecretPassphrase Debug:true RelayAddress:x.y.z,de:4100 RelayAddress6: RelayPorts:[] RelayPassword:pass123 Stdout:false NoPrompt:true NoMultiplexing:false DisableLocal:false OnlyLocal:false IgnoreStdin:false Ask:false SendingText:false NoCompress:false IP: Overwrite:true Curve:siec HashAlgorithm:}
connecting...[debug]    07:17:39 croc.go:528: attempt to discover peers
[debug] 07:17:39 croc.go:593: discoveries: []
[debug] 07:17:39 croc.go:594: establishing connection
[debug] 07:17:39 croc.go:610: got host 'x.yz.de' and port '4100'
[debug] 07:17:39 croc.go:612: trying connection to x.yz.de:4100
[debug] 07:17:39 comm.go:55: dialing to x.yz.de:4100 with timelimit 5s
[debug] 07:17:39 comm.go:64: connected to 'x.yz.de:4100'
[debug] 07:17:39 tcp.go:476: strong key: 374a2f33cc5f92a61d611a11ad34df3d404c4fa4441d3c94798523fed5a0e4d6
[debug] 07:17:39 tcp.go:490: sending password
[debug] 07:17:39 tcp.go:501: waiting for first ok
[debug] 07:17:39 tcp.go:519: sending room
[debug] 07:17:39 tcp.go:530: waiting for room confirmation
[debug] 07:17:39 tcp.go:546: all set
[debug] 07:17:39 croc.go:625: receiver connection established: &{connection:0xc000010008}
[debug] 07:17:39 croc.go:626: banner: 4101
[debug] 07:17:39 croc.go:631: sending ips?
[debug] 07:17:39 croc.go:640: ips data: 
[debug] 07:17:39 croc.go:643: ips unmarshal error: invalid character '\x01' looking for beginning of value
[debug] 07:17:39 croc.go:694: exchanged header message
securing channel...[debug]      07:17:39 croc.go:712: ready
[debug] 07:17:39 message.go:61: writing pake message (unencrypted)
[debug] 07:17:40 compress.go:50: error copying data: unexpected EOF
[debug] 07:17:40 croc.go:972: problem with decoding: unexpected end of JSON input
[debug] 07:17:40 croc.go:738: got error processing: problem with decoding: unexpected end of JSON input
[debug] 07:17:40 croc.go:774: error: problem with decoding: unexpected end of JSON input
2021/11/16 07:17:40 room not ready

Hope that helps a little bit...

@schollz
Copy link
Owner

schollz commented Nov 16, 2021

Thanks @jnko for confirming. All your computers and relay are using the latest version of croc?

All I can say that this happens most often when transferring a couple (5 to 20) of large (> 500MB) files at once

Are you running multiple instances of croc to do this? I don't think this is the problem, but it is useful to know.

@jnko
Copy link

jnko commented Nov 16, 2021

@schollz

Thanks @jnko for confirming. All your computers and relay are using the latest version of croc?

All I can say that this happens most often when transferring a couple (5 to 20) of large (> 500MB) files at once

Are you running multiple instances of croc to do this? I don't think this is the problem, but it is useful to know.

I'm using VERSION: v9.4.2-49f50a5 on both machines. The sender also runs the relayserver in the same user context.

There is no special high load or io on both machines, nor a flaky internet connection. Sometimes the testfiles will be transferred without problems, sometimes not. I've no clue what indicator will make this happen.

My next idea is to test the trnasfer from/relay/to the same machine in order to to rule out that it has something to do with the internet connection or probably on two VMs within a isolated LAN.

@exp111
Copy link

exp111 commented Jan 24, 2022

Have the same (or at least a similiar) problem on the newest version. We first tried with a 5.9gb file but that always failed, so we switched to smaller files which also fail 1-3 times per file (1.2gb).
Tried running debug but no special message at all (we ctrl+c'ed the transfer after like 5-10 minutes, so we got a EOF).
Both running croc 9.5.0 on Windows 10.

Here's the log if you need it

log

idk what is considered sensitive data

./croc --debug 4838-episode-spark-cowboy
[debug] 17:24:39 cli.go:163: debug mode on
[debug] 17:24:39 croc.go:171: options: {IsSender:false SharedSecret:4838-episode-spark-cowboy Debug:true RelayAddress:142.93.177.120:9009 RelayAddress6:[2604:a880:800:c1::14c:1]:9009 RelayPorts:[] RelayPassword:pass123 Stdout:false NoPrompt:false NoMultiplexing:false DisableLocal:false OnlyLocal:false IgnoreStdin:false Ask:false SendingText:false NoCompress:false IP: Overwrite:false Curve:siec HashAlgorithm: ThrottleUpload:}
connecting...[debug]    17:24:39 croc.go:561: attempt to discover peers
[debug] 17:24:39 croc.go:626: discoveries: []
[debug] 17:24:39 croc.go:627: establishing connection
[debug] 17:24:39 croc.go:643: got host '2604:a880:800:c1::14c:1' and port '9009'
[debug] 17:24:39 croc.go:645: trying connection to [2604:a880:800:c1::14c:1]:9009
[debug] 17:24:39 comm.go:55: dialing to [2604:a880:800:c1::14c:1]:9009 with timelimit 200ms
[debug] 17:24:39 comm.go:64: connected to '[2604:a880:800:c1::14c:1]:9009'
[debug] 17:24:39 tcp.go:475: strong key: ebfcfb3e1608e36decba10d5cb14812933fa9d633598300b30e1ff26f6725e5c
[debug] 17:24:39 tcp.go:489: sending password
[debug] 17:24:39 tcp.go:500: waiting for first ok
[debug] 17:24:40 tcp.go:518: sending room
[debug] 17:24:40 tcp.go:529: waiting for room confirmation
[debug] 17:24:40 tcp.go:545: all set
[debug] 17:24:40 croc.go:658: receiver connection established: &{connection:0xc000410030}
[debug] 17:24:40 croc.go:659: banner: 9010,9011,9012,9013
[debug] 17:24:40 croc.go:664: sending ips?
[debug] 17:24:40 croc.go:673: ips data: ["0","169.254.57.70","169.254.41.161","192.168.56.1","192.168.178.30","169.254.173.76"]
[debug] 17:24:40 croc.go:683: ipv4Add4: 169.254.57.70, ipv4Net: 169.254.57.0/24, err: <nil>
[debug] 17:24:40 croc.go:694: 169.254.57.70 is not a local IP, skipping
[debug] 17:24:40 croc.go:683: ipv4Add4: 169.254.41.161, ipv4Net: 169.254.41.0/24, err: <nil>
[debug] 17:24:40 croc.go:694: 169.254.41.161 is not a local IP, skipping
[debug] 17:24:40 croc.go:683: ipv4Add4: 192.168.56.1, ipv4Net: 192.168.56.0/24, err: <nil>
[debug] 17:24:40 croc.go:694: 192.168.56.1 is not a local IP, skipping
[debug] 17:24:40 croc.go:683: ipv4Add4: 192.168.178.30, ipv4Net: 192.168.178.0/24, err: <nil>
[debug] 17:24:40 comm.go:55: dialing to 192.168.178.30:0 with timelimit 500ms
[debug] 17:24:40 comm.go:60: comm.NewConnection failed: dial tcp 192.168.178.30:0: connectex: Die angeforderte Adresse ist in diesem Kontext ungültig.
[debug] 17:24:40 tcp.go:445: comm.NewConnection failed: dial tcp 192.168.178.30:0: connectex: Die angeforderte Adresse ist in diesem Kontext ungültig.
[debug] 17:24:40 croc.go:701: comm.NewConnection failed: dial tcp 192.168.178.30:0: connectex: Die angeforderte Adresse ist in diesem Kontext ungültig.
[debug] 17:24:40 croc.go:702: could not connect to 192.168.178.30:0
[debug] 17:24:40 croc.go:683: ipv4Add4: 169.254.173.76, ipv4Net: 169.254.173.0/24, err: <nil>
[debug] 17:24:40 croc.go:694: 169.254.173.76 is not a local IP, skipping
[debug] 17:24:40 croc.go:727: exchanged header message
securing channel...[debug]      17:24:40 croc.go:745: ready
[debug] 17:24:40 message.go:61: writing pake message (unencrypted)
[debug] 17:24:40 message.go:80: read pake message (unencrypted)
[debug] 17:24:40 croc.go:886: received pake payload
[debug] 17:24:40 croc.go:933: generated key = 29bfa826a42efa9e4c7fc34abb3082c20de58447c2c2fac4f12499e23793cbd8 with salt 365d51b42a8c50df
[debug] 17:24:40 croc.go:939: port: [9010]
[debug] 17:24:40 croc.go:939: port: [9011]
[debug] 17:24:40 croc.go:939: port: [9012]
[debug] 17:24:40 croc.go:939: port: [9013]
[debug] 17:24:40 croc.go:953: connecting to [2604:a880:800:c1::14c:1]:9012
[debug] 17:24:40 comm.go:55: dialing to [2604:a880:800:c1::14c:1]:9012 with timelimit 30s
[debug] 17:24:40 croc.go:953: connecting to [2604:a880:800:c1::14c:1]:9010
[debug] 17:24:40 comm.go:55: dialing to [2604:a880:800:c1::14c:1]:9010 with timelimit 30s
[debug] 17:24:40 croc.go:953: connecting to [2604:a880:800:c1::14c:1]:9011
[debug] 17:24:40 croc.go:953: connecting to [2604:a880:800:c1::14c:1]:9013
[debug] 17:24:40 comm.go:55: dialing to [2604:a880:800:c1::14c:1]:9013 with timelimit 30s
[debug] 17:24:40 comm.go:55: dialing to [2604:a880:800:c1::14c:1]:9011 with timelimit 30s
[debug] 17:24:40 comm.go:64: connected to '[2604:a880:800:c1::14c:1]:9013'
[debug] 17:24:40 comm.go:64: connected to '[2604:a880:800:c1::14c:1]:9012'
[debug] 17:24:40 comm.go:64: connected to '[2604:a880:800:c1::14c:1]:9010'
[debug] 17:24:40 comm.go:64: connected to '[2604:a880:800:c1::14c:1]:9011'
[debug] 17:24:40 tcp.go:475: strong key: ab1bd631e150935cf3b1df1b1e1bab4be98c328ed5b6de25b4e2604bfb84eb13
[debug] 17:24:40 tcp.go:475: strong key: a74487daf1965e4df36f88a0065609f01840220efc052694ef8e9539273be403
[debug] 17:24:40 tcp.go:489: sending password
[debug] 17:24:40 tcp.go:500: waiting for first ok
[debug] 17:24:40 tcp.go:489: sending password
[debug] 17:24:40 tcp.go:475: strong key: 7f447486647edd0b89c08203e21becaf2f0c153d280027b0872921c367871e24
[debug] 17:24:40 tcp.go:489: sending password
[debug] 17:24:40 tcp.go:500: waiting for first ok
[debug] 17:24:40 tcp.go:500: waiting for first ok
[debug] 17:24:40 tcp.go:475: strong key: 253d13579c5bf085d46cf9994a944f70592adacce153e658b1c813f11992e730
[debug] 17:24:40 tcp.go:489: sending password
[debug] 17:24:40 tcp.go:500: waiting for first ok
[debug] 17:24:40 tcp.go:518: sending room
[debug] 17:24:40 tcp.go:529: waiting for room confirmation
[debug] 17:24:40 tcp.go:518: sending room
[debug] 17:24:40 tcp.go:518: sending room
[debug] 17:24:40 tcp.go:529: waiting for room confirmation
[debug] 17:24:40 tcp.go:529: waiting for room confirmation
[debug] 17:24:40 tcp.go:518: sending room
[debug] 17:24:40 tcp.go:529: waiting for room confirmation
[debug] 17:24:41 tcp.go:545: all set
[debug] 17:24:41 croc.go:962: connected to [2604:a880:800:c1::14c:1]:9012
[debug] 17:24:41 croc.go:1469: 2 receiving data
[debug] 17:24:41 tcp.go:545: all set
[debug] 17:24:41 croc.go:962: connected to [2604:a880:800:c1::14c:1]:9013
[debug] 17:24:41 croc.go:1469: 3 receiving data
[debug] 17:24:41 tcp.go:545: all set
[debug] 17:24:41 croc.go:962: connected to [2604:a880:800:c1::14c:1]:9011
[debug] 17:24:41 croc.go:1469: 1 receiving data
[debug] 17:24:41 tcp.go:545: all set
[debug] 17:24:41 croc.go:962: connected to [2604:a880:800:c1::14c:1]:9010
[debug] 17:24:41 croc.go:971: sending external IP
[debug] 17:24:41 croc.go:1469: 0 receiving data
[debug] 17:24:41 message.go:58: writing externalip message (encrypted)
[debug] 17:24:41 message.go:78: read externalip message (encrypted)
[debug] 17:24:41 croc.go:982: received external IP: {"t":"externalip","m":"<extIP>:60930"}
[debug] 17:24:41 croc.go:996: connected as [<ipv6>]:58723 -> <extIP>:60930
[debug] 17:24:41 message.go:78: read fileinfo message (encrypted)
[debug] 17:24:41 croc.go:826: using hash algorithm: xxhash
Accept 'f13.mkv' (1.2 GB)? (Y/n)

Receiving (<-<extIP>:60930)
[debug] 17:24:42 croc.go:880: [{f13.mkv . D:\Videos\brühe\ [124 239 19 74 57 90 93 64] 1262491358 2022-01-20 22:06:21.6747323 +0100 CET false false }]
[debug] 17:24:42 croc.go:1295: checking {Name:f13.mkv FolderRemote:. FolderSource:D:\Videos\brühe\ Hash:[124 239 19 74 57 90 93 64] Size:1262491358 ModTime:2022-01-20 22:06:21.6747323 +0100 CET IsCompressed:false IsEncrypted:false Symlink:}
[debug] 17:24:42 croc.go:1312: f13.mkv  7cef134a395a5d40 <nil>
[debug] 17:24:42 croc.go:1314: hashed f13.mkv to  using xxhash
[debug] 17:24:42 croc.go:1315: hashes are not equal  != 7cef134a395a5d40
[debug] 17:24:42 croc.go:1127: working on file 0
[debug] 17:24:42 croc.go:1207: converting to chunk range
[debug] 17:24:42 croc.go:1215: sending recipient ready with 0 chunks
[debug] 17:24:42 message.go:58: writing recipientready message (encrypted)
  11% |██                  | (141 MB/1.2 GB, 208.797 kB/s) [16m35s:1h26m54s][debug]     17:41:18 comm.go:128: initial read error: EOF
[debug] 17:41:18 croc.go:763: got error receiving: EOF
2022/01/24 17:41:18 EOF

@tarikdsm
Copy link

tarikdsm commented Feb 18, 2022

Same issue with me. Use CROC between my Seedbox and my machine. It started happening occasionally late last year. Now it happens all the time, with any file over ~1Gb. Croc version v9.5.1-b0e7d4d on both sides. On the SeedBox I have Ubuntu and on my side I already tried with Linux and Windws version.

@mirage335
Copy link

mirage335 commented May 3, 2022

Could be related to something I observed with SSH once. If packets run through only USB Ethernet interfaces, on a PFSense/BSD router, then occasionally, some packet corruption will cause some network failure that causes SSH to fail, despite SSH normally correctly rejecting and tolerating corrupt packets. Some (IIRC Intel NICs) have been historically preferred for a reason after all. I doubt such unusual issues would happen through the network hardware of ISPs or the typical internet.

Thus, I suggest it may be worth checking what network hardware is between the computers and their ISPs (ie. what router are you using, what NICs is it using, etc).

@qingchuwudi
Copy link

Have the same problem on the newest version. It seems the sender think that it had send all bytes, but the receiver lost some package.

sender:

➜   ✗ croc send ./allinone.tar
Sending 'allinone.tar' (4.1 GB)
Code is: 1566-europe-costume-diamond
On the other computer run

croc 1566-europe-costume-diamond

Sending (->172.17.0.1:54446)
allinone.tar 100% |████████████████████| (4.1/4.1 GB, 14.899 MB/s)
2022/07/20 15:51:40 EOF
➜  ✗ md5sum allinone.tar
ee0f7ebfa8d0d4dd44035627dd6c600c  allinone.tar

receiver:

➜  croc 1566-europe-costume-diamond
Accept 'allinone.tar' (4.1 GB)? (Y/n) y

Receiving (<-172.17.0.1:54420)
allinone.tar  98% |███████████████████ | (4.0/4.1 GB, 13.035 MB/s) [4m59s:6s]2022/07/20 15:51:40 EOF
➜  md5sum direct.txt direct.1.txt
➜  md5sum allinone.tar
921f9b428f7dd966de2c0c942d06ccb0  allinone.tar

@tarikdsm
Copy link

Yes. This bug is happening with me again (it happened on v9.5.1). The transfer starts well, but the connection gets significantly slower, with 50% of the transfer done, and I need to restart a few times to get it done.

@yan-foto
Copy link

yan-foto commented Jan 4, 2023

I just experienced this bug on the latest version (go version on linux and brew version on mac). Transfer rate was somewhere about 8 to 10 MB/s. At some point the ETA timer froze and nothing seemed to happen anymore. The problem was solved after both endpoints switched from WiFi to LAN.

@schollz
Copy link
Owner

schollz commented Jan 4, 2023

How reproducible is it? Does it stall everytime? I have never been able to reproduce this

@jnko
Copy link

jnko commented Jan 4, 2023

It is simply not re-produce able. Just select a bunch of large files on the one side and try to receive it on the other. In best over the internet, not localhost. It happens more or less often. Today I tried to transfer 16 files with 8.9GB in size, and it failed >25 times in series at all. Sorry, it's annoying, really. I already went over to just try to transfer just 3-6 large files at once and then another bunch. It fails less often but takes more time at all. The re-transfer of large files fails more often than the re-transfer of less.
Also there is still nothing useable in the logs. The only reason I still try to use croc is the speed of the transfer while still encrypted.

(sorry, nothing about to harm personally you but when I am in hurt and I need to transfer a large amount of data over the net, and it fails over and over again, you need to split it all up and try again and again and again ... you simply start to shout out loud some really nasty words. The deadline is already passed, it is still not working and.... just annoyed, I will give it up for today)

@Tragen
Copy link

Tragen commented Feb 23, 2023

Happens to me also.
It starts with 14 MB/s and at 50% at slows down and gets slow as 300 KB/s at 80% for a 2.5GB file.

@schollz
Copy link
Owner

schollz commented Feb 23, 2023

How reproducible is it? Are you using LAN or a public relay?

@Tragen
Copy link

Tragen commented Feb 23, 2023

Currently I'm in Munich in an airport lounge using the public relay server.

@Tragen
Copy link

Tragen commented Feb 23, 2023

I'm transfering now 1.2 GB files but had the same problem with 26 GB where the speed went down.

@schollz
Copy link
Owner

schollz commented Feb 23, 2023

Can you try to wget a large file and watch the transfer rate? With a public ISP like at an airport you never know if they are throttling you

@Tragen
Copy link

Tragen commented Feb 23, 2023

I tried https://speed.hetzner.de/10GB.bin with curl and the speed was always between 2.5 MB/s and 3 MB/s and no slowdown.

@5shekel
Copy link

5shekel commented Oct 22, 2023

another debug output, this time windows

C:\dev\mv>croc --version
croc version v9.6.5-8ab65d0
croc --debug 3368-lesson-xxxxxx-update
[debug] 23:04:20 cli.go:145: debug mode on
[debug] 23:04:20 croc.go:181: options: {IsSender:false SharedSecret:3368-lesson-xxxxx-update Debug:true RelayAddress:5.161.69.143:9009 RelayAddress6: RelayPorts:[] RelayPassword:pass123 Stdout:false NoPrompt:false NoMultiplexing:false DisableLocal:false OnlyLocal:false IgnoreStdin:false Ask:false SendingText:false NoCompress:false IP: Overwrite:false Curve:p256 HashAlgorithm: ThrottleUpload: ZipFolder:false TestFlag:false}
connecting...[debug]    23:04:20 croc.go:684: attempt to discover peers
[debug] 23:04:20 croc.go:749: discoveries: []
[debug] 23:04:20 croc.go:750: establishing connection
[debug] 23:04:20 croc.go:766: got host '5.161.69.143' and port '9009'
[debug] 23:04:20 croc.go:768: trying connection to 5.161.69.143:9009
[debug] 23:04:20 comm.go:55: dialing to 5.161.69.143:9009 with timelimit 5s
[debug] 23:04:20 comm.go:64: connected to '5.161.69.143:9009'
[debug] 23:04:20 tcp.go:476: strong key: 85170cf53872c3bc78343327eb45d000830413cc3a355814f17d27411e3a7f65
[debug] 23:04:20 tcp.go:490: sending password
[debug] 23:04:20 tcp.go:501: waiting for first ok
[debug] 23:04:20 tcp.go:519: sending room
[debug] 23:04:20 tcp.go:530: waiting for room confirmation
[debug] 23:04:21 tcp.go:546: all set
[debug] 23:04:21 croc.go:781: receiver connection established: &{connection:0xc00000a008}
[debug] 23:04:21 croc.go:782: banner: 9010,9011,9012,9013
[debug] 23:04:21 croc.go:790: sending ips?
[debug] 23:04:21 croc.go:799: ips data: �
[debug] 23:04:21 croc.go:802: ips unmarshal error: invalid character '\x01' looking for beginning of value
[debug] 23:04:21 croc.go:855: exchanged header message
securing channel...[debug]      23:04:21 croc.go:873: ready
[debug] 23:04:21 message.go:61: writing pake message (unencrypted)
[debug] 23:04:22 compress.go:50: error copying data: unexpected EOF
[debug] 23:04:22 croc.go:1225: problem with decoding: unexpected end of JSON input
[debug] 23:04:22 croc.go:899: got error processing: problem with decoding: unexpected end of JSON input
[debug] 23:04:22 croc.go:953: error: problem with decoding: unexpected end of JSON input
2023/10/22 23:04:22 room not ready

@haakonstorm
Copy link

I'm also experiencing this, slows down, stalls, then waits for a long time before EOF.
Latest version on Windows 11 sending to an intel Macbook Pro over the internet using default relays. Latest versjon of croc on both sides:

0750_stabilized00180116.exr 100% |████████████████████| (22/22 MB, 24 MB/s) 117/943
0750_stabilized00180117.exr 100% |████████████████████| (22/22 MB, 6.1 MB/s) 118/943
0750_stabilized00180118.exr 100% |████████████████████| (22/22 MB, 27 MB/s) 119/943
0750_stabilized00180119.exr 100% |████████████████████| (22/22 MB, 10 MB/s) 120/943
0750_stabilized00180120.exr 100% |████████████████████| (22/22 MB, 20 MB/s) 121/943
0750_stabilized00180121.exr 100% |████████████████████| (22/22 MB, 4.8 MB/s) 122/943
0750_stabilized00180122.exr 100% |████████████████████| (22/22 MB, 16 MB/s) 123/943
0750_stabilized00180123.exr 100% |████████████████████| (22/22 MB, 15 MB/s) 124/943
0750_stabilized00180124.exr 100% |████████████████████| (22/22 MB, 3.2 MB/s) 125/943
0750_stabilized00180125.exr 100% |████████████████████| (22/22 MB, 3.5 MB/s) 126/943
0750_stabilized00180126.exr 100% |████████████████████| (22/22 MB, 4.7 MB/s) 127/943
0750_stabilized00180127.exr 100% |████████████████████| (22/22 MB, 4.1 MB/s) 128/943
0750_stabilized00180128.exr 100% |████████████████████| (22/22 MB, 523 kB/s) 129/943
2024/02/02 14:30:23 EOF

Will try resending with --debug.

Copy link

github-actions bot commented Apr 3, 2024

Stale issue message

Repository owner deleted a comment from Tragen Apr 3, 2024
@Flokolosko
Copy link

Flokolosko commented Apr 6, 2024

Today experienced similiar issue, tried to download a 40 GB file from a friend, abortet at 14% and now at 60%. Takes a long time to resume the download. We are both on Windows 10 with 64 bit

@schollz
Copy link
Owner

schollz commented Apr 6, 2024

is it reproducible?

@Flokolosko
Copy link

Unfortunately, we didnt find out what causes this bug, although it keeps happening. One thing that seems to cause it to stop is turning off the monitor

@RLB2310
Copy link

RLB2310 commented May 19, 2024

Unfortunately, we didnt find out what causes this bug, although it keeps happening. One thing that seems to cause it to stop is turning off the monitor

Experiencing this almost every transfer. How can the monitor be turned off?

@schollz
Copy link
Owner

schollz commented May 20, 2024

I think in many cases, this is happening because people are sending files that are changing. if this is happening to you, please check to see if your file has changed in any way. croc will not send a file as it is being written.

will close now because I have not been able to reproduce any of these.

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

No branches or pull requests