-
-
Notifications
You must be signed in to change notification settings - Fork 33
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug 🐞
When differentiating an IntegralProblem, everything works fine on 1.12 and 1.11, but Zygote gives segmentation fault for 1.12.
Expected behavior
I expect the differentiation to work as in the previous versions of Julia.
Minimal Reproducible Example 👇
using Integrals, ForwardDiff, FiniteDiff, Zygote, Cuba
f(x, p) = sum(sin.(x .* p))
domain = (ones(2), 3ones(2)) # (lb, ub)
p = ones(2)
function testf(p)
prob = IntegralProblem(f, domain, p)
sin(solve(prob, CubaCuhre(), reltol = 1e-6, abstol = 1e-6)[1])
end
testf(p)
dp1 = Zygote.gradient(testf, p)
dp2 = FiniteDiff.finite_difference_gradient(testf, p)
dp3 = ForwardDiff.gradient(testf, p)
dp1[1] ≈ dp2 ≈ dp3
Error & Stacktrace
[80341] signal 11 (1): Segmentation fault
in expression starting at REPL[8]:1
emit_unboxed_coercion at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/intrinsics.cpp:394 [inlined]
emit_unbox at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/intrinsics.cpp:458
emit_condition at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/codegen.cpp:6066
emit_condition at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/codegen.cpp:6079 [inlined]
emit_function at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/codegen.cpp:9271
jl_emit_code at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/codegen.cpp:9727
jl_emit_codeinst at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/codegen.cpp:9798
jl_emit_codeinst_to_jit_impl at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/jitlayers.cpp:770
jl_add_codeinst_to_jit at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/gf.c:3372
add_codeinsts_to_jit! at ./../usr/share/julia/Compiler/src/typeinfer.jl:1436
typeinf_ext_toplevel at ./../usr/share/julia/Compiler/src/typeinfer.jl:1443 [inlined]
typeinf_ext_toplevel at ./../usr/share/julia/Compiler/src/typeinfer.jl:1451
jfptr_typeinf_ext_toplevel_117555.1 at /home/marcobonici/.julia/juliaup/julia-1.12.0+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
jl_type_infer at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/gf.c:462
jl_compile_method_internal at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/gf.c:3512
_jl_invoke at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/gf.c:4002 [inlined]
ijl_apply_generic at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/gf.c:4210
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
jl_f__apply_iterate at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/builtins.c:868
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
jl_f__apply_iterate at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/builtins.c:868
_apply at ./boot.jl:1019
adjoint at /home/marcobonici/.julia/packages/Zygote/55SqB/src/lib/lib.jl:211 [inlined]
_pullback at /home/marcobonici/.julia/packages/ZygoteRules/CkVIK/src/adjoint.jl:67 [inlined]
IntegralProblem at /home/marcobonici/.julia/packages/SciMLBase/b4Q81/src/problems/integral_problems.jl:79 [inlined]
_pullback at /home/marcobonici/.julia/packages/Zygote/55SqB/src/compiler/interface2.jl:0
unknown function (ip: 0x7fbb2fccb3b2) at (unknown file)
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
jl_f__apply_iterate at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/builtins.c:868
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
jl_f__apply_iterate at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/builtins.c:868
_apply at ./boot.jl:1019
_pullback at /home/marcobonici/.julia/packages/Zygote/55SqB/src/compiler/interface2.jl:81
unknown function (ip: 0x7fbb2fccaf02) at (unknown file)
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
jl_f__apply_iterate at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/builtins.c:868
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
jl_f__apply_iterate at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/builtins.c:868
_apply at ./boot.jl:1019
adjoint at /home/marcobonici/.julia/packages/Zygote/55SqB/src/lib/lib.jl:211 [inlined]
_pullback at /home/marcobonici/.julia/packages/ZygoteRules/CkVIK/src/adjoint.jl:67 [inlined]
IntegralProblem at /home/marcobonici/.julia/packages/SciMLBase/b4Q81/src/problems/integral_problems.jl:76 [inlined]
_pullback at /home/marcobonici/.julia/packages/Zygote/55SqB/src/compiler/interface2.jl:0
unknown function (ip: 0x7fbb2fca1722) at (unknown file)
testf at ./REPL[6]:2 [inlined]
_pullback at /home/marcobonici/.julia/packages/Zygote/55SqB/src/compiler/interface2.jl:0
pullback at /home/marcobonici/.julia/packages/Zygote/55SqB/src/compiler/interface.jl:96
pullback at /home/marcobonici/.julia/packages/Zygote/55SqB/src/compiler/interface.jl:94 [inlined]
gradient at /home/marcobonici/.julia/packages/Zygote/55SqB/src/compiler/interface.jl:153
jfptr_gradient_19838 at /home/marcobonici/.julia/compiled/v1.12/Zygote/4kbLI_9sbRe.so (unknown line)
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
do_call at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/interpreter.c:123
eval_value at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/interpreter.c:243
eval_stmt_value at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/interpreter.c:194 [inlined]
eval_body at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/interpreter.c:707
jl_interpret_toplevel_thunk at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/interpreter.c:898
jl_toplevel_eval_flex at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/toplevel.c:1035
__repl_entry_eval_expanded_with_loc at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:301
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
jl_f_invokelatest at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/builtins.c:881
toplevel_eval_with_hooks at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:308
toplevel_eval_with_hooks at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:312
toplevel_eval_with_hooks at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:305 [inlined]
eval_user_input at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:330
repl_backend_loop at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:452
#start_repl_backend#41 at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:427
start_repl_backend at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:424 [inlined]
#run_repl#50 at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:653
run_repl at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:639
jfptr_run_repl_18494.1 at /home/marcobonici/.julia/juliaup/julia-1.12.0+0.x64.linux.gnu/share/julia/compiled/v1.12/REPL/u0gqU_g0Uq3.so (unknown line)
run_std_repl at ./client.jl:478
jfptr_run_std_repl_69973.1 at /home/marcobonici/.julia/juliaup/julia-1.12.0+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
jl_f_invokelatest at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/builtins.c:881
run_main_repl at ./client.jl:499
repl_main at ./client.jl:586 [inlined]
_start at ./client.jl:561
jfptr__start_85044.1 at /home/marcobonici/.julia/juliaup/julia-1.12.0+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/julia.h:2387 [inlined]
true_main at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/jlapi.c:971
jl_repl_entrypoint at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/src/jlapi.c:1139
main at /cache/build/builder-amdci4-0/julialang/julia-release-1-dot-12/cli/loader_exe.c:58
unknown function (ip: 0x7fbb4582a1c9) at /lib/x86_64-linux-gnu/libc.so.6
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x4010b8) at /workspace/srcdir/glibc-2.17/csu/../sysdeps/x86_64/start.S
Allocations: 27724868 (Pool: 27724361; Big: 507); GC: 20
Segmentation fault (core dumped)
Environment (please complete the following information):
- Output of
using Pkg; Pkg.status()
- Output of
using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)
[d360d2e6] ChainRulesCore v1.26.0
[8a292aeb] Cuba v2.3.0
[6a86dc24] FiniteDiff v2.29.0
[f6369f11] ForwardDiff v1.2.2
[de52edbc] Integrals v4.7.0
[0bca4576] SciMLBase v2.121.1
[e88e6eb3] Zygote v0.7.10
[8dfed614] Test- Output of
versioninfo()
versioninfo()
Julia Version 1.12.0
Commit b907bd0600f (2025-10-07 15:42 UTC)
Build Info:
Official https://julialang.org release
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 20 × 13th Gen Intel(R) Core(TM) i7-13700H
WORD_SIZE: 64
LLVM: libLLVM-18.1.7 (ORCJIT, alderlake)
GC: Built with stock GC
Threads: 1 default, 1 interactive, 1 GC (on 20 virtual cores)
Environment:
LD_PRELOAD = /usr/lib/x86_64-linux-gnu/libgomp.so.1
LD_LIBRARY_PATH = /usr/local/cuda/lib64
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working