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

dtar failed to extract entry - line too long #621

Open
charles-d-it opened this issue Jan 16, 2025 · 6 comments
Open

dtar failed to extract entry - line too long #621

charles-d-it opened this issue Jan 16, 2025 · 6 comments
Assignees

Comments

@charles-d-it
Copy link

I am trying to extract a .dtar archive but getting the following:

ERROR: Failed to extract entry XX at offset YY Line too long

I am using mpifileutils/0.11.1 with openmpi/5.0.3 with the command line:

mpiexec --allow-run-as-root -n 8 dtar --progress 15 -xf .dtar

I get errors on several files, then the mpiexec process terminates.
Any assistance would be appreciated.

@charles-d-it
Copy link
Author

Any suggestions or help on this?

@carbonneau1
Copy link
Collaborator

I wasn't able to replicate this one but I'm getting back on it. Do you have an idea of the directories depth and sting length by any chance?

@charles-d-it
Copy link
Author

charles-d-it commented Feb 25, 2025 via email

@carbonneau1
Copy link
Collaborator

The only way I was able to reproduce the issue was to create an archive with tar (not dtar). Which leads me to believe your archive was not created with dtar as the issue happens during creation and fails to create the archive. I need to fix the issue for both creation and extraction. At this point, for now, try to use tar -xf on your archive and let me know.

@charles-d-it
Copy link
Author

I attempted to extract the file using tar -xvf, approximately 436G of the 17T *.dtar file was extracted, then the process crashed with the error message

tar: Skipping to next header
tar: Exiting with failure status due to previous errors`.

The only messages I saw were many tar: Ignoring unknown extended header keyword, I believe this may have come from extended attributes on the files because they were on a lustre filesystem.

@carbonneau1
Copy link
Collaborator

carbonneau1 commented Mar 4, 2025

My findings: dtar is built on top of libcircle which limits buffers to 4KiB to sends between ranks (processes). Incidentally dtar is limited to chunks and buffers of the same size (4KiB). For dtar it means any path longer than 4K results into the error message you got: "ERROR: Failed to extract entry XX at offset YY Line too long". There is no way around this as it stands.

Even if you try to dsync both file systems, you'll encounter the same issue. How was that archive created? which tool was used?

Still looking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants