-
Notifications
You must be signed in to change notification settings - Fork 68
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
GC EXCEPTION_ACCESS_VIOLATION #1622
Comments
@m-bossart does this still err for you on latest enzyme/julia 1.10.5? |
Yes I just tried with Julia 1.10.5 and Enzyme 0.12.35 and it still errors:
|
Would you be able to reduce this to minimize the use of external
packages/simplify the code?
This will allow us to debug and fix it
…On Mon, Sep 2, 2024 at 8:31 PM Matt Bossart ***@***.***> wrote:
Yes I just tried with Julia 1.10.5 and Enzyme 0.12.35 and it still errors:
Exception: EXCEPTION_ACCESS_VIOLATION at 0x7ffe130f5880 -- gc_try_claim_and_push at C:/workdir/src\gc.c:1841 [inlined]
gc_mark_stack at C:/workdir/src\gc.c:2245
in expression starting at c:\Users\Matt Bossart\OneDrive - UCB-O365\Desktop\mwe_segfault\mew.jl:37
gc_try_claim_and_push at C:/workdir/src\gc.c:1841 [inlined]
gc_mark_stack at C:/workdir/src\gc.c:2245
gc_mark_outrefs at C:/workdir/src\gc.c:2480 [inlined]
gc_queue_remset at C:/workdir/src\gc.c:2998 [inlined]
_jl_gc_collect at C:/workdir/src\gc.c:3224
ijl_gc_collect at C:/workdir/src\gc.c:3531
maybe_collect at C:/workdir/src\gc.c:937 [inlined]
jl_gc_pool_alloc_inner at C:/workdir/src\gc.c:1300
jl_gc_pool_alloc_noinline at C:/workdir/src\gc.c:1357 [inlined]
jl_gc_alloc_ at C:/workdir/src\julia_internal.h:478 [inlined]
jl_gc_alloc at C:/workdir/src\gc.c:3583
_new_array_ at C:/workdir/src\array.c:134
_new_array at C:/workdir/src\array.c:198 [inlined]
ijl_alloc_array_1d at C:/workdir/src\array.c:436
Array at .\boot.jl:477 [inlined]
getindex at .\array.jl:448 [inlined]
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:39
abstract_call_known at .\compiler\abstractinterpretation.jl:2087
abstract_call at .\compiler\abstractinterpretation.jl:2169
abstract_call at .\compiler\abstractinterpretation.jl:2162
abstract_call at .\compiler\abstractinterpretation.jl:2354
abstract_eval_call at .\compiler\abstractinterpretation.jl:2370
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2380
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2624
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2913
typeinf_local at .\compiler\abstractinterpretation.jl:3098
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3186
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2087
abstract_call at .\compiler\abstractinterpretation.jl:2169
abstract_call at .\compiler\abstractinterpretation.jl:2162
abstract_call at .\compiler\abstractinterpretation.jl:2354
abstract_eval_call at .\compiler\abstractinterpretation.jl:2370
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2380
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2624
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2889
typeinf_local at .\compiler\abstractinterpretation.jl:3098
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3186
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_edge at .\compiler\typeinfer.jl:930
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2087
abstract_call at .\compiler\abstractinterpretation.jl:2169
abstract_call at .\compiler\abstractinterpretation.jl:2162
abstract_call at .\compiler\abstractinterpretation.jl:2354
abstract_eval_call at .\compiler\abstractinterpretation.jl:2370
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2380
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2624
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2913
typeinf_local at .\compiler\abstractinterpretation.jl:3098
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3186
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
const_prop_call at .\compiler\abstractinterpretation.jl:1207
abstract_call_method_with_const_args at .\compiler\abstractinterpretation.jl:818
abstract_call_method_with_const_args at .\compiler\abstractinterpretation.jl:788
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:103
abstract_call_known at .\compiler\abstractinterpretation.jl:2087
abstract_call at .\compiler\abstractinterpretation.jl:2169
abstract_call at .\compiler\abstractinterpretation.jl:2162
abstract_call at .\compiler\abstractinterpretation.jl:2354
abstract_eval_call at .\compiler\abstractinterpretation.jl:2370
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2380
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2624
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2913
typeinf_local at .\compiler\abstractinterpretation.jl:3098
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3186
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
const_prop_call at .\compiler\abstractinterpretation.jl:1207
abstract_call_method_with_const_args at .\compiler\abstractinterpretation.jl:818
abstract_call_method_with_const_args at .\compiler\abstractinterpretation.jl:788
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:103
abstract_call_known at .\compiler\abstractinterpretation.jl:2087
abstract_call at .\compiler\abstractinterpretation.jl:2169
abstract_call at .\compiler\abstractinterpretation.jl:2162
abstract_call at .\compiler\abstractinterpretation.jl:2354
abstract_eval_call at .\compiler\abstractinterpretation.jl:2370
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2380
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2624
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2913
typeinf_local at .\compiler\abstractinterpretation.jl:3098
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3186
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
const_prop_call at .\compiler\abstractinterpretation.jl:1207
abstract_call_method_with_const_args at .\compiler\abstractinterpretation.jl:818
abstract_call_method_with_const_args at .\compiler\abstractinterpretation.jl:788
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:103
abstract_call_known at .\compiler\abstractinterpretation.jl:2087
abstract_call at .\compiler\abstractinterpretation.jl:2169
abstract_call at .\compiler\abstractinterpretation.jl:2162
abstract_call at .\compiler\abstractinterpretation.jl:2354
abstract_eval_call at .\compiler\abstractinterpretation.jl:2370
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2380
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2624
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2913
typeinf_local at .\compiler\abstractinterpretation.jl:3098
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3186
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
const_prop_call at .\compiler\abstractinterpretation.jl:1207
abstract_call_method_with_const_args at .\compiler\abstractinterpretation.jl:818
abstract_call_method_with_const_args at .\compiler\abstractinterpretation.jl:788
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:103
abstract_call_known at .\compiler\abstractinterpretation.jl:2087
abstract_call at .\compiler\abstractinterpretation.jl:2169
abstract_call at .\compiler\abstractinterpretation.jl:2162
abstract_call at .\compiler\abstractinterpretation.jl:2354
abstract_eval_call at .\compiler\abstractinterpretation.jl:2370
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2380
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2624
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2889
typeinf_local at .\compiler\abstractinterpretation.jl:3098
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3186
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
const_prop_call at .\compiler\abstractinterpretation.jl:1207
abstract_call_method_with_const_args at .\compiler\abstractinterpretation.jl:818
abstract_call_method_with_const_args at .\compiler\abstractinterpretation.jl:788
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:103
abstract_call_known at .\compiler\abstractinterpretation.jl:2087
abstract_call at .\compiler\abstractinterpretation.jl:2169
abstract_call at .\compiler\abstractinterpretation.jl:2162
abstract_call at .\compiler\abstractinterpretation.jl:2354
abstract_eval_call at .\compiler\abstractinterpretation.jl:2370
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2380
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2624
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2889
typeinf_local at .\compiler\abstractinterpretation.jl:3098
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3186
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_ext at .\compiler\typeinfer.jl:1051
typeinf_ext_toplevel at .\compiler\typeinfer.jl:1082
typeinf_ext_toplevel at .\compiler\typeinfer.jl:1078
jfptr_typeinf_ext_toplevel_39006.1 at C:\Users\Matt Bossart\.julia\juliaup\julia-1.10.5+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)
_jl_invoke at C:/workdir/src\gf.c:2895 [inlined]
ijl_apply_generic at C:/workdir/src\gf.c:3077 [inlined]
jl_apply at C:/workdir/src\julia.h:1982 [inlined]
jl_type_infer at C:/workdir/src\gf.c:394
jl_generate_fptr_impl at C:/workdir/src\jitlayers.cpp:504
jl_compile_method_internal at C:/workdir/src\gf.c:2481
jl_compile_method_internal at C:/workdir/src\gf.c:2372 [inlined]
_jl_invoke at C:/workdir/src\gf.c:2887 [inlined]
ijl_apply_generic at C:/workdir/src\gf.c:3077
#s2080#19051 at C:\Users\Matt Bossart\.julia\packages\Enzyme\Tb3Iu\src\compiler.jl:7371 [inlined]
#s2080#19051 at .\none:0
GeneratedFunctionStub at .\boot.jl:602
jl_call_staged at C:/workdir/src\method.c:540
ijl_code_for_staged at C:/workdir/src\method.c:593
get_staged at .\compiler\utilities.jl:123
retrieve_code_info at .\compiler\utilities.jl:135 [inlined]
InferenceState at .\compiler\inferencestate.jl:430
typeinf_edge at .\compiler\typeinfer.jl:920
abstract_call_method at .\compiler\abstractinterpretation.jl:629
abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:95
abstract_call_known at .\compiler\abstractinterpretation.jl:2087
abstract_call at .\compiler\abstractinterpretation.jl:2169
abstract_call at .\compiler\abstractinterpretation.jl:2162
abstract_call at .\compiler\abstractinterpretation.jl:2354
abstract_eval_call at .\compiler\abstractinterpretation.jl:2370
abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2380
abstract_eval_statement at .\compiler\abstractinterpretation.jl:2624
abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2913
typeinf_local at .\compiler\abstractinterpretation.jl:3098
typeinf_nocycle at .\compiler\abstractinterpretation.jl:3186
_typeinf at .\compiler\typeinfer.jl:247
typeinf at .\compiler\typeinfer.jl:216
typeinf_ext at .\compiler\typeinfer.jl:1051
typeinf_ext_toplevel at .\compiler\typeinfer.jl:1082
typeinf_ext_toplevel at .\compiler\typeinfer.jl:1078
jfptr_typeinf_ext_toplevel_39006.1 at C:\Users\Matt Bossart\.julia\juliaup\julia-1.10.5+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)
_jl_invoke at C:/workdir/src\gf.c:2895 [inlined]
ijl_apply_generic at C:/workdir/src\gf.c:3077 [inlined]
jl_apply at C:/workdir/src\julia.h:1982 [inlined]
jl_type_infer at C:/workdir/src\gf.c:394
jl_generate_fptr_impl at C:/workdir/src\jitlayers.cpp:504
jl_compile_method_internal at C:/workdir/src\gf.c:2481
jl_compile_method_internal at C:/workdir/src\gf.c:2372 [inlined]
_jl_invoke at C:/workdir/src\gf.c:2887 [inlined]
ijl_apply_generic at C:/workdir/src\gf.c:3077
unknown function (ip: 00000193802f6f93)
Allocations: 357622140 (Pool: 356996610; Big: 625530); GC: 190
—
Reply to this email directly, view it on GitHub
<#1622 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJTUXHYUDXNINGGPMABIJ3ZUUGQZAVCNFSM6AAAAABKTW2Z4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRVGQ2DMNJXGI>
.
You are receiving this because you commented.Message ID: <EnzymeAD/Enzyme.
***@***.***>
|
@m-bossart we've fixed another segfault on main, if you want to retry and see if that one resolved? If not, we're gonna need a minimized version |
bump @m-bossart |
Sorry for the delay and thanks for the reminder. I tried again, still failing with Julia 1.10.5/Enzyme0.13.3
|
I am willing to simplify this further eventually, but I was having trouble before eliminating the dependencies and still hitting the failure. I'm also graduating in the next few months so might not get around to this for a bit. |
If you want to close, I will re-open when I have a minimal example |
FWIW, I have experienced a similar crash on Julia 11.1 with a very similar stack trace - and I do not use Enzyme in my project. However, my code works on Julia nightly (1.12.0-DEV). |
btw @m-bossart I just fixed a potential segfault cause. Does this still err on latest enzyme? |
I'm getting an EXCEPTION_ACCESS_VIOLATION and Julia continuing to run indefinitely until forced to quit. The example to reproduce and the error are below. I'm having trouble minimizing this example further. When I build the ODEProblem as close as possible "from scratch" I cannot reproduce this error. The exact error is slightly different if I run this multiple times but it always related seemingly to the garbage collector.
The text was updated successfully, but these errors were encountered: