Skip to content

ERROR: llvmcall must be compiled to be called #52

@jaredjeya

Description

@jaredjeya

I'm getting this cryptic error when I try and use Traceur to debug my code. It seems to be related to the fact that at some point in the code I make use of LibGit2 (specifically I call LibGit2.head(".")) as when I remove that line, the error goes away.

ERROR: `llvmcall` must be compiled to be called
Stacktrace:
  [1] call
    @ ~/.julia/packages/Cassette/4Z3UO/src/context.jl:456 [inlined]
  [2] fallback
    @ ~/.julia/packages/Cassette/4Z3UO/src/context.jl:454 [inlined]
  [3] _overdub_fallback(::Any, ::Vararg{Any})
    @ ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:592 [inlined]
  [4] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::Core.IntrinsicFunction, ::String, ::Type{Int64}, ::Type{Tuple{Ptr{Int64}, Int64, Int64}}, ::Ptr{Int64}, ::Int64, ::Int64)
    @ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:592
  [5] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::Function, ::String, ::Type, ::Type, ::Ptr{Int64}, ::Vararg{Any})
    @ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
  [6] atomic_cas!(::Base.Threads.Atomic{Int64}, ::Int64, ::Int64)
    @ ./atomics.jl:373 [inlined]
  [7] overdub
    @ ./atomics.jl:373 [inlined]
  [8] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::typeof(Base.Threads.atomic_cas!), ::Base.Threads.Atomic{Int64}, ::Int64, ::Int64)
    @ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
  [9] overdub
    @ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
 [10] (::LibGit2.var"
    @ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/LibGit2.jl:972 [inlined]
 [11] overdub
    @ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/LibGit2.jl:972 [inlined]
 [12] overdub(overdub_context#300::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, overdub_arguments#301::LibGit2.var"#162#163")
    @ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
 [13] overdub
    @ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
 [14] overdub
    @ ./lock.jl:229 [inlined]
 [15] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::typeof(lock), ::LibGit2.var"#162#163", ::ReentrantLock)
    @ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
 [16] overdub
    @ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
 [17] ensure_initialized()
    @ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/LibGit2.jl:971 [inlined]
 [18] overdub
    @ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/LibGit2.jl:971 [inlined]
 [19] overdub(overdub_context#300::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, overdub_arguments#301::typeof(LibGit2.ensure_initialized))
    @ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
 [20] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::Function)
    @ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47
 [21] GitRepo(::String)
    @ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/repository.jl:9 [inlined]
 [22] overdub
    @ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/repository.jl:9 [inlined]
 [23] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::Type{GitRepo}, ::String)
    @ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
 [24] overdub
    @ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
 [25] with(::LibGit2.var"
    @ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/types.jl:1165 [inlined]
 [26] overdub
    @ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/types.jl:1165 [inlined]
 [27] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::typeof(with), ::LibGit2.var"#99#100", ::Type{GitRepo}, ::String)
    @ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
 [28] overdub
    @ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
 [29] head(::String)
    @ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/LibGit2.jl:64 [inlined]
 [30] overdub
    @ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/LibGit2/src/LibGit2.jl:64 [inlined]
 [31] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::typeof(LibGit2.head), ::String)
    @ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
 [32] overdub
    @ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
 [33] main(::Int64, ::Float64, ::Int64, ::String, ::Nothing)
    @ /groups/pal/users/jjeyaretnam/VSCodeProjects/FermionPT/apply_pt.jl:31 [inlined]
 [34] overdub
    @ /groups/pal/users/jjeyaretnam/VSCodeProjects/FermionPT/apply_pt.jl:31 [inlined]
 [35] overdub(::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, ::typeof(main), ::Int64, ::Float64, ::Int64, ::String, ::Nothing)
    @ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
 [36] overdub
    @ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:47 [inlined]
 [37] (::var"
    @ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:88 [inlined]
 [38] recurse
    @ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:88 [inlined]
 [39] recurse(overdub_context#300::Cassette.Context{nametype(TraceurCtx), Traceur.Trace, Nothing, Cassette.var"##PassType#302", Nothing, Nothing}, overdub_arguments#301::var"#17#18")
    @ Cassette ~/.julia/packages/Cassette/4Z3UO/src/overdub.jl:0
 [40] trace(w::Function, f::Function; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:51
 [41] trace
    @ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:51 [inlined]
 [42] #warntrace#21
    @ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:54 [inlined]
 [43] warntrace(f::Function)
    @ Traceur ~/.julia/packages/Traceur/ajxdS/src/trace.jl:53
 [44] top-level scope
    @ ~/.julia/packages/Traceur/ajxdS/src/trace.jl:88
 [45] top-level scope
    @ /scratch/jjeyaretnam/programs/julia-1.9.0/share/julia/stdlib/v1.9/REPL/src/REPL.jl:1416

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