-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Fail to compile mediasoup fuzzer due to liburing #1334
Comments
This is a bug in a python module used by meson when untar-ing the file. It detects self a pointing link, which is a bug in the module. I have no idea why it does happen in Docker and not in a non dockered linux. |
Why does it even try to copy those files in the first place? Those filed should be downloaded inside of container instead. |
What do you mean? This happens when running |
I mean it might be that |
See Said that, it's needed (and I always do) to clean everything in the worker ( |
That is what I'm saying, it should probably only mount source code, but not the rest. So instead of mounting the whole root, it should strategically mount only specific things where there are no symlinks. All the downloaded stuff should be inside of the container only. |
How would you tell Docker to mount this tree?
in the same "mediasoup" folder destination without including |
Anyway I insist: The scenario of the bug is that we run "make docker" then "make docker-run" to enter the Docker container, then clean absolutely everything in the worker folder including subprojects. Then "make" and it fails. So it wouldn't be fixed by not mounting worker/subprojects folder. |
The goal of what I was describing is to make sure container works with local (to container) file system, not with paths mounted from the host. If that is achieved, it will not fail anymore. |
Right now the whole And if we do your approach (which involves copying source files to the container) we loose the ability to edit those source files direclty in our editor and work normally. That's a huge drawback I couldn't accept. I run Docker, enter it, run |
If this is just for fuzzer, then you probably don't need |
I do run Node as well when in Docker, I don't remember what for but I've done. |
The only solution I find here is to simply add the This error comes from the fact that MacOS FS is case insensitive and linux is not. There are ways to make a Docker volume case sensitive in MacOS but I honestly don't think it's worth it. If we ever need to try liburing in Docker, then we know we need to use a local folder, rather than one from the MacOS host. |
Is then ok if I write a PR disabling liburing in our Dockerfiles? However we loose the ability to run mediasoup with liburing in Linux Docker in our Macs. |
You can only loose something you have :-) Edit: and liburing cannot be run in Docker from MacOS right now. |
But it's fetched anyway... and I don't remember why because the Docker Linux kernel in which mediasoup is built is the same than the Docker Linux kernel in which it runs later. |
I'm fixing this issue in #1338 as a bonus track. |
As Jose told me, here is the obvious problem in case insensitive file systems: https://github.com/axboe/liburing/tree/master/man |
BTW the bug is reported in liburing but response fro authors is "use a decent case sensitive filesystem". |
Solution in macOS:
Now you have mediasoup in a case insensitive file system and then change soft links in mediasoup-demo, etc. |
It's trivial so I'm gonna remove the hack from Dockerfiles. |
…se sensitive disk in macOS: #1334 (comment)
When running
make fuzzer
in Docker in macOS:I'm "fixing" it in an unrelated PR by adding this in
Dockerfile
:But obviously this is not a solution.
The text was updated successfully, but these errors were encountered: