AchetaGames / Epic-Asset-Manager

A frontend to Assets purchased on Epic Games Store
https://flathub.org/apps/details/io.github.achetagames.epic_asset_manager
MIT License
386 stars 21 forks source link

Asset download never finishing for (very) large assets #259

Open star-3gg opened 4 months ago

star-3gg commented 4 months ago

Asset download never finishing for (very) large assets A clear and concise description of what the bug is. I have encountered this bug multiple times where the download indicator just stops at seemingly 100% but the download never ends. Waiting for multiple hours doesn't seem to change the state. It seems likely that this is a bug.

To Reproduce Steps to reproduce the behavior:

  1. Get any free large asset from the Epic Marketplace. I recommend the Lyra sample: https://www.unrealengine.com/marketplace/en-US/learn/lyra
  2. Start the download in the EAM
  3. Click on the downloads progress pie indicator dropdown in the top right corner: image
  4. Wait for the download to 'Reach 100%' (a percentage indicator would be handy for debugging)
  5. The bug state is encountered the MB/s no longer updates and the progress freezes up for seemingly ever (no change after 3 hours). image

Expected behavior I would expect to see the finalized state.

Desktop

Additional context I am using the latest version of the EAM from the git. (4c8a34d)

Additional progress information or a console window with current operations would be useful for debugging, the first time I encountered this bug, I did not realize it for a couple of hours.

I have tried to debug this issue by detecting filechanges in the downloaded asset directory (Epic Vault). Maybe the snippet helps someone replicate or debug this:

# Recursively scan the asset vault directory for file changes  
inotifywait -m -r ~/Documents/EpicVault

make sure to install the inotify or inotify-tools package. In the bug state no changes will be detected. the disk usage will also not change.

# Prints the disk usage of a directory and summarizes it every second
watch -n 1 du -s ~/Documents/EpicVault

If I could I would get involved by providing fixes but I need to learn Rust first. Please be patient with me.

Thanks for providing such amazing open-source software! ❤️

d-potrivaev commented 2 months ago

Hi,

Started to use EAM 3.8.6 after some time and faced the same issue with at least one product (5,8 GB in size) that was downloaded to 100% state but can't be set as finished and keeps staying in the download progress bar. For example, another product (5,1 GB) was downloaded and finished without any problem. I'm not sure if this problem appears in all of the big-size products from the Unreal Marketplace, but in some yes. Only application quitting will remove any downloading progress status.

Thank you for your support and hard work!

aknarts commented 2 months ago

Do you have an example of the large asset? If I have it I would like something to experiment with.

The issue with the download is that the individual files are split into chunks and the process does not finish till all of the chunk bits are used and cleaned up, it is likely that one of the chunks is either missing or needs to be downloaded from a different mirror, or the connection dropped during the download due to the amount of chunks. Hence my need to experiment.

d-potrivaev commented 2 months ago

I have such behavior with this project sample "City Sample": https://www.unrealengine.com/marketplace/en-US/learn/city-sample

It's really big, but free. And it seems your thoughts that some chanks are not downloading is right. Please see the attached screenshot below. I have this asset's downloading process stopped in this state for always. I hope it helps.

Thanks for your support!

2024-07-15_16-36