FS#73247 - Julia crahes on Atom when compiled against LLVM 13

Attached to Project: Community Packages
Opened by Cédric M. Campos (cedricmc) - Monday, 03 January 2022, 20:33 GMT
Last edited by Antonio Rojas (arojas) - Friday, 21 January 2022, 20:32 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To No-one
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: Since Julia is being compiled against LLVM 13, it crashes on Atom.

Additional info:
* Packages affected. julia 1.7.1 (1.7.0, 1.6.4), llvm-libs 13.0.0, atom 1.58.0
* Crash log attached.
* Workaround. Downgrade to julia 1.6.3 and llvm-libs 12.0.1, or use upstream bundle.

Steps to reproduce:
1. Start a Julia instance from Atom.
2. Run a couple of commands.
3. Click back and forth from prompt to editor.

I do not know who is to blame, if Julia or LLVM, but Julia is the one that crashes. I believe Atom to be innocent.
This task depends upon

Closed by  Antonio Rojas (arojas)
Friday, 21 January 2022, 20:32 GMT
Reason for closing:  Fixed
Additional comments about closing:  julia 1.7.1-6
Comment by Antonio Rojas (arojas) - Tuesday, 04 January 2022, 08:35 GMT
"Start a Julia instance from Atom" - please post step by step instructions of what you mean by that.
Comment by Cédric M. Campos (cedricmc) - Tuesday, 04 January 2022, 16:35 GMT
1. Start a Julia instance from Atom.
1.0 Make sure that the Julia environment is installed (apm install ubjer-juno).
1.1 Start Atom (if the meta package uber-juno was just installed, wait for the IDE to be fully installed and loaded).
1.2 At the REPL tab, press ENTER.

I hope this to be clear enough, if not, let me know.
Comment by Antonio Rojas (arojas) - Wednesday, 05 January 2022, 09:37 GMT
Thanks. This seems to be an incompatibility between the Atom jl package and LLVM 13. I don't think there's much we can do about this until upstream updates their bundled LLVM, at which point you can report this to the Atom package project at https://github.com/JunoLab/Atom.jl

You can follow the status of the bundled LLVM update at https://github.com/JuliaLang/julia/pull/42602
Comment by Cédric M. Campos (cedricmc) - Wednesday, 05 January 2022, 15:28 GMT
Hola, Antonio:

Excuse my ignorance, but are you sure? ¿Estás seguro?

On my system with atom 1.58.0 (with uber-juno) and **llvm-libs 13.0.0**, the official julia bundle works just fine, while your package crashes. Does the julia official bundle come with its own llvm? If not, I don't get it.

If you are sure, I'll open a report upstream. Just want to make sure you are sure so we are both sure on what I am surely going to surely do.

Regards.
Comment by Antonio Rojas (arojas) - Wednesday, 05 January 2022, 17:55 GMT
> Does the julia official bundle come with its own llvm?

Yes, it does. You can report it now, but I can already tell you what their answer will be: use their official binary instead of distro packages. That's why I told you to wait until the linked PR is merged and this can be reproduced with their bundled LLVM.

Upstream doesn't really support distro packages built against system LLVM. We run the full test suite at build time to make sure all core functionality works properly, but third party packages are not guaranteed to work.

In the meantime, I'd recommend you use julia-bin from AUR if you rely on this functionality.
Comment by Cédric M. Campos (cedricmc) - Wednesday, 05 January 2022, 18:02 GMT
OK. Thank you very much to take time with such a clarifying answer. Appreciated.

I'll wait for the PR to be merged. If after that the crash still occurs, I'll report upstream.

Regards.
Comment by Antonio Rojas (arojas) - Thursday, 20 January 2022, 15:52 GMT
The PR was merged already, can you test the binaries at https://julialang.org/downloads/nightlies/ to see if you can reproduce the issue?
Comment by Cédric M. Campos (cedricmc) - Friday, 21 January 2022, 08:23 GMT
Hi! I was waiting for your release because the official bundles give me no problems. Anyhow I have tried it and it gives me no problems, but, as I say, the crash is triggered only with your releases. If you could build a package so I can test it...
Comment by Antonio Rojas (arojas) - Friday, 21 January 2022, 17:39 GMT
The point was to test the upstream binary built with LLVM 13 to check if it's reproducible there. Since it isn't, it means it's fixed either in julia or in some custom LLVM patch. Building a new package is not going to make any difference, since the PR was about updating their bundled LLVM, which we don't use.
Comment by Cédric M. Campos (cedricmc) - Friday, 21 January 2022, 17:57 GMT
I don't fully get your logic. If you don't use their bundled LLVM, it could still trigger an error, precisely because you are using a different LLVM. Anyhow, if they have updated LLVM to v13, as you say, the bug should be gone.
Comment by Antonio Rojas (arojas) - Friday, 21 January 2022, 18:17 GMT
Yes, the bug should be gone in the nightly binary, we just need to find the fix in order to apply it to our package. The PR https://github.com/JuliaLang/julia/pull/42602 *only* updates the bundled LLVM, it doesn't touch any proper julia code, so that is not it.
Comment by Cédric M. Campos (cedricmc) - Friday, 21 January 2022, 19:28 GMT
Ah, I see now... Thx for the detail.

Loading...