kouprlabs / voltaserve

⚡️ Cloud Storage for Creators
https://voltaserve.com
Other
241 stars 13 forks source link

3D Models fail to convert #162

Closed micah686 closed 1 month ago

micah686 commented 1 month ago

When uploading 3d models, I keep getting this error: An error occurred while processing the file.

I was using the 124MB .glb frile from here: https://sketchfab.com/3d-models/cartoon-race-track-oval-f88b33a3a65c4965b03578dc7f4f6eb4#download.

Here's the logs from the conversion pod:

024-07-15 19:22:02 2024-07-16T02:22:02.293Z    INFO    pipeline        🔨  working      {"worker": 0, "bucket": "714b369ade574d93b3f98dcde4420874", "key": "n7lkZr06r762v/original.glb"}
2024-07-15 19:22:02 2024-07-16T02:22:02.368Z    INFO    queue_status    ⏳  items        {"type": "pipeline", "count": 1}
2024-07-15 19:22:02 2024-07-16T02:22:02.926Z    ERROR   pipeline        ⛈️  failed       {"worker": 0, "elapsed": "633.205238ms", "bucket": "714b369ade574d93b3f98dcde4420874", "key": "n7lkZr06r762v/original.glb", "error": "exit status 1"}
2024-07-15 19:22:02 github.com/kouprlabs/voltaserve/conversion/runtime.(*Scheduler).pipelineWorker
2024-07-15 19:22:02     /build/runtime/scheduler.go:94
bouassaba commented 1 month ago

I just uploaded the same .glb file, it works, both thumbnail and 3D viewer, but on the 3D viewer I can't see the textures I don't know why, these issues are common depending on how the file was exported from its original format. But, the issue you are facing I suppose it has to do with the Docker environment you are running (that's what I assume), because on my case, I'm running Voltaserve bare metal. On Docker, the 3D model conversion can have some reliability issues if the memory isn't enough or if there is no access to a GPU.

EDIT: Relates to #143

bouassaba commented 1 month ago

@micah686 Please give us more description about your environment, this will help us investigate the issue:

micah686 commented 1 month ago
Architecture (x86, Arm, other): x64
OS (Linux, macOS, Windows, other) Windows
Docker Engine, Docker Desktop, or Kubernetes? Docker Desktop
Is there a GPU? I have the APU in my 7800X3D, and I have a 7900XTX. But, I wasn't passing the GPU through to the docker containers, unless if it was being done manually
How much RAM is available to Voltaserve? I wasn't limiting the ram, so I let it auto-decide. my machine has 32GB of ram, and I have about 10GB free while running it.
How many (virtual) CPU cores? I have a 16 core 7800X3D processor.
bouassaba commented 1 month ago

Sounds great! can you tell me how much resources have you allocated in Docker Desktop here:

Screenshot
micah686 commented 1 month ago

image

bouassaba commented 1 month ago

Ah right, it's WSL, which runs on Hyper-V. Let me test it on WSL and I come back to you. I keep this issue open until we make sure that Voltaserve runs smoothly on Windows+WSL.

micah686 commented 1 month ago

Ok, thanks. This isn't a huge issues, as I was just starting to experiment with the software, but I figured I should create an issue for it.

bouassaba commented 1 month ago

@micah686 I just pushed a new update with new optimizations for generating thumbnails for 3D models (the latest build is using WebKit as an underlying technology which is more lightweight and consistent than Chrome).

I did some tests on x86 and Arm, on Docker Desktop and it seems to be working reliably.

Could you please pull the latest conversion Docker image:

docker pull voltaserve/conversion

Then recreate the voltaserve-conversion container using the latest image.

Let me know if it works now.

micah686 commented 1 month ago

Ok, that looks like it worked.