-
Notifications
You must be signed in to change notification settings - Fork 94
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
V2 - Copy failed: Error: Unknown system error (2.00.01) #318
Comments
The staging section has been saved on server restart since .10 and a retry copy button was added in .11. Worthing trying .14. |
Thank you for the info! I'll give it a try once I'm able to open .14 I have opened #319 for this. |
Just had my first successful transcode and copy to output folder and clearing of the transcode folder in the process with V2. Will try now with a CIFS mount in my Samba share. |
OK, so the issue continues, but I have an insight here.
Could you please verify what exactly you run after the copy? Maybe the renaming is failing. If you provide me the code and I simulate directly in the console to see what error I get. |
I am having a similar but slightly different error. I didn't open a new issue in case it is a duplicate. Encoding and copying works on the master container which has all modules (Server, WebUI, Node). My slave containers are all receiving errors when attempting to copy from their local transcode cache location back to the storage directory after a successful encode. I am using lxc containers on Proxmox with CephFS for the cluster storage backend, so paths are all the same. Transcode cache is always Is the transcode cache supposed to be on a network accessible location and not local? The new instructions hint that is the case. If so.... what is the point of having a "cache" directory? The network share will be the same speed and open to the same issues for both the cache and final destination. Shouldn't the flow be to write to a local drive while reading from the network share, verify successful transcode, move the local cached transcode to the remote share, delete original file, rename transcode to original filename? That appears to be exactly what happens (and what I want to happen) when using the master node with the Server module. It only fails on "remotes".
|
I had that issue with a Samba Share and it turned out to be a mount issue. Are your files in the remote directory appearing as being owned by root when you By cache you mean transcode cache? Well, if you have to make multiple passes to the file, it does in this temp area and only at the end copy and remove the files to the Output folder. Transcode folder should be local in the node as far as I know. |
@HaveAGitGat, when you get the chance. |
This is what's happening in my output mount (file size is 2.7GB) Tdarr.Copy.mp4 |
It seems the issue only happens for files larger than 2GB, it's not related to NFS or CIFS. |
This seems related. It seems copyfilesync throws errors if the size of the file exceeds the integer size in bytes, overflows it and turns negative.
|
Just had a brief conversation on Discord with @wsegatto, as noted in his OS he's running a 32 bit system. These systems don't really support stuff over 2 GB in size. So there will probably be a significant rewrite (I don't know the code, so can't really tell) to make it work on 32 bit systems. I think something like reading the first 2 GB of the file, then reading each 2 GB after that by an offset. Node issue can be ignored as this isn't a node issue but rather a max integer issue due to 32 bit. |
The problem still exists that the functionality for moving files appears to be handled by the server and not the node, thus a node can not utilize a transcode cache location that isn’t accessible to the server. |
That's not related to this issue, but that's by design. It's easier on the network, plus other nodes can access the same files. So three independent nodes can finish a single file. So node 1 runs plugin 1, node 1 picks up a different file to run a plugin on, node 2 runs plugin 2, etc. as an example. It's easier on the network because it doesn't hammer the full network bandwidth once it's done doing all the plugins, but gradually streams the file back into the cache at the same rate as transcoding. |
Haha your network maybe. I have 20Gbe. But understood. edit: even for 1Gbe LAN, that’s still 125MBs which exceeds most consumer hard drive mixed R/W speeds. I’m not sure the network would be that much of a bottleneck, if any. Storage usually is the constraint. 10GBe is obviously 1250MBs, which is going to exceed anything short of flash based storage. Exceeding 1.2GBs on spinning rust is an impressive metric. |
Thanks for your help guys. My point here is that the file IS copied but then it's deleted. I mean, it doesn't seem like the issue is the copy procedure physically, but rather the method of copy. In any case I'll try with my other RPI that has 64 bits on to see its behavior. EDIT: Yeah, I don't think I'll be able to try in 64 bits now. The updater never worked in my Debian Buster:
|
I don’t have anything ARM based, but I can test anything else that is x86_64. It’s easy to spin up a VM of Debian or anything else *nix. |
I have manually pointed node to the libatomic library but then I get another error. :(
Why is this hard? :( |
Tdarr uses fs-extra for this:
You could try running the above script with a 2GB+ test file. It seems no error is being given but the new file is being automatically deleted by fsextra when it fails. Tdarr then sees it as successful and deletes the cache file. |
@HaveAGitGat I have executed the script you mentioned and I got a success message. The file had 2.7GB and was completely copied to the output folder with no errors at all.
That is not what happens. Tdarr is not seeing as successful and is not deleting the cache file. It throws the error I'm reporting in this issue. The file stays there in the transcode folder and the output file is deleted. I'm trying with Tdarr again. FYI: I'm running 2.00.00 for all 3 modules since Node_Server 2.00.01 is not yet available for arm (I believe the packages are inconsistent since 2.00.01 is available for Node and WebGUI). |
Nope, copy failed. The script works with no issues, @HaveAGitGat, but inside Tdarr the copy fails with errors consistently for files over 2GB. |
Tested 2.00.01 on Debian Buster. Everything works fine. However, that is amd64 arch, not ARM. Whatever the issues are, they are confined to ARM arch. |
Thanks for the test. 2.00.01 is still not fully available in ARM, packages are inconsistent (latest Server version is still in 2.00.00).
|
@wsegatto sorry about that, it should now be up. |
I don't know how Node works - whether it uses my local libraries or the libraries during compilation, but I can say for sure that all copy methods seem to work when executed directly with node.
|
Issue continues in v2.00.01. I guess Tdarr is not for ARM. I'm about to give up. The updater doesn't even start in armv8 64 with Debian Buster and in 32 bits there are copy issues. I even tried to download the latest fs-extra and input it to the node_modules folder but nothing changed. Is there a way to debug this? With no logs it's just a wild guess here. |
I realized I can emulate ARM on Proxmox. What build / OS are you using? I can try to make a test VM. I am happy to spin up whatever we need to help debug. |
Thank you so much. |
The test is simple. Just setup a library with source/transcode/output folders, then use a plugin like Tdarr_Plugin_a9hd_FFMPEG_Transcode_Specific_Audio_Stream_Codecs or |
I’ll have another look at this today, thanks |
This should now be fixed in 2.00.02 just released. Working fine with a 4GB file on my Pi. |
Hi everyone! Thank you so much for the help. I can confirm the issue no longer occurs in 2.00.02. Thanks! You just got a new Patreon. |
@wsegatto I didn't do too much investigating but it's an issue with fsextra when it's packaged up. I tried some other file copy libraries and cp-file seems to do the job. |
Glad it finally works :) |
Thank you so much! May this also serve as a suggestion for so many other projects facing the same issues. :) |
For posterity, 32bit file systems have been dealing with files larger than 2GB for decades - 32 bit should have zero to do with this issue. |
Describe the bug
Copy operation from the transcode folder to the output folder fails constantly.
Copy failed: Error: Unknown system error -139412464: Unknown system error -139412464, copyfile '/home/pi/tmp/Transcode/DARK-TdarrCacheFile-7CKwlGW4b.mkv' -> '/home/pi/tmp/Output/DARK-TdarrCacheFile-meuGljGGn.mkv'
To Reproduce
In my case, I just have to convert any file.
Expected behavior
Files should be moved to the Output folder. If operation fails (e.g. drive not mounted), a retry/skip button should be available. Already transcoded files in the queue awaiting copy should be saved, so if I restart the server, the copy should continue, not the entire transcode again. Logs should be clear about the error.
Screenshots
Desktop:
Additional context
I'm running Tdarr 1.99.09.
The text was updated successfully, but these errors were encountered: