-
Notifications
You must be signed in to change notification settings - Fork 188
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
LLVM Linker (ld.lld) Invocation Fails on Compilation with MSYS2 #2316
Comments
I was giving this another shot after a thought this afternoon. Sadly I didn't get it working, but I did get another more verbose error that might help? Nothing has changed appreciably between the state of the system reported above and this output: Exception: ld.lld invocation failed output:
|
Did you do that? |
No, I have not. After looking into LLVM's reporting guidelines, I originally didn't think I'd be able to produce a minimal test case for them and debug due to not knowing how the ARTIQ compilation pipeline worked. After spending a bit more time today, I was able to directly invoke
in |
Does it crash then?
Why? |
It did not. As far as I can tell, the output file was generated successfully.
As I can explicitly run the linker with the same files in the MSYS2 environment without issue, and I can compile the code successfully on a conda-managed environment using the same version of ARTIQ. |
@thomasfire ping |
It does not fail on ld.lld now, but fails on llvm tools when I tried to use artiq_run, because there is no such dependency https://git.m-labs.hk/M-Labs/artiq-extrapkg/src/commit/82601c365c8949865254efa221a3be516e4dae91/flake.nix#L445 . |
This has nothing to do with the offline installer so please fix it separately. |
@thomasfire What is the status of this Issue? |
Can be closed since llvm tools is a dependency now and shipped with installer. |
We've experienced this fail today on a fresh MSYS2 installation and ARTIQ installed according to https://m-labs.hk/artiq/manual-beta/installing.html#installing-via-msys2-windows Will this installation path be available or will be deprecated in favor of the installer? |
Yes. @thomasfire what did you test? |
|
I tried to use above instruction on my script. I received following result:
|
I see, seems this bug is floating and reproduces only a few times, while others may be successful |
I don't think so. Pacman is quite deterministic. |
Blergh. I'm so tired of LLVM. What happens if you run lld manually multiple times with the same inputs? |
In @martafafara case it also happens to work from time to time, but time after boot does not seem to be relevant. |
FWIW in our case it would never succeed when compiling through the dashboard (if it matters, as we never tried |
I just checked lld from clang64 repo on the same file, and it seems like only the mingw64 version occasionally fails. The lld package in conda is built with MSVC2019, which may explain the differences in behavior. |
I found your results really optimistic. In my case I receive more |
@martafafara We are experimenting with clang64 version of ARTIQ, would you mind checking if it works on your OS, since it seems you have it being reproduced more often? The installer is built from https://git.m-labs.hk/esavkin/artiq-extrapkg/src/branch/2316-move-to-clang . I tried to run |
Unfortunately I'm rather the user of Artiq than developer, so I need help of more experienced colleagues. The operation will be done asap |
Packages are moved to clang64 environment, they can be installed with |
Using ARTIQ requires you to do some programming e.g. to write kernels. It is misleading to advertise ARTIQ as a "no developer experience required" control system in any way. |
Partially true, but programming is not exactly developing, and developing is not only programming. Based on my experience with analytics'/data scientists' code, there are major differences in the ways we work. In similar way, based on helpdesk, using ARTIQ is far from developing it, and developing is far from using it. |
Of coarse some knowledge and programming skills are required, but from my point of view Artiq is just a tool. Complicated, but still only the tool that I'm using. The knowledge how it is exactly constructed is for sure fascinating but not necessary. I followed the offline installer and as for now for 5 scripts runs I've received no errors at all. What a relief... Thank you! |
@thomasfire I have just run in to the same llvm issue on a new windows/MSYS2 install, I had I've just reinstalled things using your new I can also submit through the dashboard without error (at least simple test Experiments). Thanks for the fix! |
Bug Report
One-Line Summary
When attempting to compile and run an experiment on ARTIQ 8 Beta, the compilation fails with the worker exception
Exception: ld.lld invocation failed
.Issue Details
I've been hesitating to submit this issue as I'm still on the fence about whether or not this is a local configuration issue, but I've run out of avenues to try to diagnose what's going on. I have also gone back and attempted to replicate this problem using conda. If I install a conda environment and set it up with the same hardware, this behavior does not occur, and the object file for the experiment is compiled and runs on the core.
Steps to Reproduce
pacman
to installmingw-w64-x86_64-artiq
per instructions on the manual-beta page.artiq_master
andartiq_dashboard
in MINGW64.Expected Behavior
Experiment object file is compiled, assembled, and loaded onto the core for running by the scheduler.
Actual (undesired) Behavior
worker returns an exception and quits out before finishing compilation.
Your System (omit irrelevant parts)
EK-Z7-ZC706-G
)List of Managed Packages
The text was updated successfully, but these errors were encountered: