-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Description
(AI generated issue)
NodeCall.initialize() fails on Julia 1.12+ because the C symbol jl_yield no longer exists in the Julia runtime.
Error
julia> using NodeCall
julia> NodeCall.initialize()
ERROR: could not load symbol "jl_yield":
.../julia: undefined symbol: jl_yield
Stacktrace points to src/types/jlnode_helpers.jl:75 → _jlnode_util_functions.
Without explicit initialize(), any call to node_eval, require, etc. raises an UndefRefError on current_context because the Node.js runtime is never started.
Note: the __init__ function only auto-initializes in interactive mode, so the jl_yield error is silent when using NodeCall from a script — it surfaces only when initialize() is called explicitly or when any Node.js interop function is used.
Environment
- Julia: 1.12.5
- NodeCall.jl: v1.1.1
- OS: Linux x86_64
Context
jl_yield was removed/renamed in Julia 1.12 as part of internal runtime changes. The reference in libjlnode needs to be updated to the new API.
Workaround
None currently — NodeCall.jl cannot be used on Julia 1.12+. Users must fall back to spawning node as an external process.