Skip to content
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

Full crash of Julia #37003

Closed
PaulDebus opened this issue Aug 11, 2020 · 10 comments
Closed

Full crash of Julia #37003

PaulDebus opened this issue Aug 11, 2020 · 10 comments

Comments

@PaulDebus
Copy link

Hello,

so I found a hard crash of Julia from a small piece of code

using Random
a = reshape(shuffle(0:15), 4, 4)
b = reshape(transpose(a), 1, :)
circshift(b, -1))

And the resulting crash "report" is:

Illegal inttoptr
	  %uglygep88 = ptrtoint i8 addrspace(13)* %uglygep to i64
Illegal inttoptr
	  %scevgep8990 = ptrtoint i64 addrspace(13)* %scevgep89 to i64
Illegal inttoptr
	  %215 = inttoptr i64 %214 to i8 addrspace(13)*
Illegal inttoptr
	  %umax9192 = inttoptr i64 %umax91 to i64 addrspace(13)*

signal (6): Aborted
in expression starting at /home/paul/test.jl:4
gsignal at /usr/bin/../lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /usr/bin/../lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x7f98b857fd04)
_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE at /usr/bin/../lib/x86_64-linux-gnu/libLLVM-8.so.1 (unknown line)
_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE at /usr/bin/../lib/x86_64-linux-gnu/libLLVM-8.so.1 (unknown line)
_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE at /usr/bin/../lib/x86_64-linux-gnu/libLLVM-8.so.1 (unknown line)
unknown function (ip: 0x7f98b8669ac1)
unknown function (ip: 0x7f98b866c2d8)
unknown function (ip: 0x7f98b866c8cd)
unknown function (ip: 0x7f98b85a7b4a)
unknown function (ip: 0x7f98b85d9082)
unknown function (ip: 0x7f98b85fe84b)
jl_apply_generic at /usr/bin/../lib/x86_64-linux-gnu/libjulia.so.1 (unknown line)
unknown function (ip: 0x7f98b861175b)
unknown function (ip: 0x7f98b8611389)
unknown function (ip: 0x7f98b86118f0)
unknown function (ip: 0x7f98b86129c8)
unknown function (ip: 0x7f98b8613616)
unknown function (ip: 0x7f98b862be08)
unknown function (ip: 0x7f98b8607105)
jl_load at /usr/bin/../lib/x86_64-linux-gnu/libjulia.so.1 (unknown line)
include at ./Base.jl:377
exec_options at ./client.jl:288
_start at ./client.jl:484
jfptr__start_2075.clone_1 at /usr/lib/x86_64-linux-gnu/julia/sys.so (unknown line)
unknown function (ip: 0x5585861d29d9)
unknown function (ip: 0x5585861d25a6)
__libc_start_main at /usr/bin/../lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x5585861d264d)
Allocations: 2505 (Pool: 2493; Big: 12); GC: 0
Aborted (core dumped)

versioninfo is:

Julia Version 1.4.1
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, skylake)

Please let me know if I can help in any way!

@masuday
Copy link

masuday commented Aug 11, 2020

I can't reproduce it in 1.4.0 (Linux), 1.4.1 (Windows) and 1.5.0 (Windows & Linux).

@affans
Copy link
Contributor

affans commented Aug 11, 2020

Also can not reproduce on 1.4.0

julia> versioninfo()
Julia Version 1.4.0
Commit b8e9a9ecc6 (2020-03-21 16:36 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, broadwell)

You do have an extra closing parenthesis in circshift(b, -1)) is this just a typo?

You may also try to use the julia rr tool

@PaulDebus
Copy link
Author

PaulDebus commented Aug 11, 2020

Also can not reproduce on 1.4.0

julia> versioninfo()
Julia Version 1.4.0
Commit b8e9a9ecc6 (2020-03-21 16:36 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-8.0.1 (ORCJIT, broadwell)

Hm... I checked on a different machine with the same Linux install but different hardware and I could reproduce it.

You do have an extra closing parenthesis in circshift(b, -1)) is this just a typo?

Yep, that's a typo

You may also try to use the julia rr tool

Yes, I am going to try that. Only need to install Julia 1.5

@PaulDebus
Copy link
Author

So I tried with a fresh 1.5 installation and cannot reproduce the problem either. So I cannot use the rr tool. If nobody else can reproduce that, I maybe have to talk to the package maintainer of Ubuntu/Pop OS

@thofma
Copy link
Contributor

thofma commented Aug 11, 2020

Are these the official julia binaries. If not, can you reproduce with the official binary from https://julialang.org/downloads/oldreleases/?

@PaulDebus
Copy link
Author

They are installed via the package manager. It should be this package: https://packages.ubuntu.com/focal/julia

@KristofferC
Copy link
Member

Report it to the distribution then. The official way to use Julia is by using the binaries at https://julialang.org/downloads/

@mbauman
Copy link
Member

mbauman commented Aug 11, 2020

Specifically, this is happening because they're using a shared system LLVM. Julia uses LLVM very heavily and requires carrying forward patches for nearly every LLVM release:

https://github.com/JuliaLang/julia/tree/release-1.4/deps/patches

Without these patches, Julia will fail tests and generally be buggy.

@PaulDebus
Copy link
Author

Specifically, this is happening because they're using a shared system LLVM. Julia uses LLVM very heavily and requires carrying forward patches for nearly every LLVM release:

https://github.com/JuliaLang/julia/tree/release-1.4/deps/patches

Without these patches, Julia will fail tests and generally be buggy.

Good to know, thank you! And sorry for the noise

@StefanKarpinski
Copy link
Member

No problem. But please do report it to Ubuntu! The distros are very reluctant to allow Julia to use its own LLVM, which leads to almost every distro version of Julia being broken. The more people make noise to them about this, the more likely they are to actually do something about it and build Julia with its own patched LLVM.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants