Skip to content

LoopVectorization PackageCompiler'd into sysimage crashing #364

@jaakkor2

Description

@jaakkor2

LoopVectorization compiled into sysimage like this

import PackageCompiler
@time PackageCompiler.create_sysimage(["LoopVectorization"], replace_default = true)

causes a crash when Octavian is loaded

julia> using Octavian

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x26adff3 -- jl_subtype_env at /cygdrive/c/buildbot/worker/package_win64/build/src\subtype.c:1851
in expression starting at C:\Users\jaakkor2\.julia\packages\Octavian\Rlmrt\src\forward_diff.jl:5
jl_subtype_env at /cygdrive/c/buildbot/worker/package_win64/build/src\subtype.c:1851
mulexpr at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:16
jfptr_mulexpr_52733 at C:\Users\jaakkor2\AppData\Local\Programs\Julia-1.7.0-rc3\lib\julia\sys.dll (unknown line)
tojlinvoke64148 at C:\Users\jaakkor2\AppData\Local\Programs\Julia-1.7.0-rc3\lib\julia\sys.dll (unknown line)
j_mulexpr_52120 at C:\Users\jaakkor2\AppData\Local\Programs\Julia-1.7.0-rc3\lib\julia\sys.dll (unknown line)
recursive_muladd_search! at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:107
recursive_muladd_search! at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:79 [inlined]
capture_a_muladd at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:162
capture_muladd at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:207
tojlinvoke64273 at C:\Users\jaakkor2\AppData\Local\Programs\Julia-1.7.0-rc3\lib\julia\sys.dll (unknown line)
contract! at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:245
contract_pass! at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:258 [inlined]
contract! at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:248
contract_pass! at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:258 [inlined]
contract! at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:248
contract_pass! at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:258 [inlined]
contract! at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:248
contract_pass! at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:258 [inlined]
contract_pass! at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\vectorizationbase_compat\contract_pass.jl:252 [inlined]
LoopSet at C:\Users\jaakkor2\.julia\packages\LoopVectorization\x4G96\src\constructors.jl:64
unknown function (ip: 000000005d02bd59)
Allocations: 2281108 (Pool: 2280105; Big: 1003); GC: 2

[process exited with code 1]

If I compile the sysimage with

import PackageCompiler
@time PackageCompiler.create_sysimage(["LoopVectorization", "Octavian"], replace_default = true)

Julia does not start at all.

Versions

  • Windows 10
  • Julia-1.7.0-rc3 (and Julia-1.7.0-rc2), but works ok with Julia-1.6.3
  • LoopVectorization v0.12.98
  • Octavian v0.3.8
  • PackageCompiler v1.7.7

I think this is a regression in LoopVectorization, this combination works

  • LoopVectorization v0.12.88
  • Octavian v0.3.5

Edit:

  • LoopVectorization v0.12.98, Octavian v0.3.5 works ok

Edit2:

  • LoopVectorization v0.12.98, Octavian v0.3.6 not ok
    Regression between Octavian v0.3.5 and v0.3.6.

cc: @KristofferC JuliaLang/PackageCompiler.jl#453

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions