Skip to content
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

Julia Crash #486

Closed
rapus95 opened this issue Jan 28, 2020 · 1 comment
Closed

Julia Crash #486

rapus95 opened this issue Jan 28, 2020 · 1 comment

Comments

@rapus95
Copy link

rapus95 commented Jan 28, 2020

MWE:

gradient(x->unsafe_copyto!([], 1, [], 1, 0), 1)

Well, originally I tried to use some code which built the median. Of course, deriving the median doesn't make sense. But using a non-derivable function makes Julia crash doesn't make sense either.
So I guess there should be any sort of barrier which prevents crashing without any helpful error.

Actual Error:

Assertion failed: token.V->getType()->isTokenTy(), file /cygdrive/d/buildbot/worker/package_win64/build/src/codegen.cpp, line 4345

signal (22): SIGABRT
in expression starting at REPL[11]:1
crt_sig_handler at /cygdrive/d/buildbot/worker/package_win64/build/src\signals-win.c:92
raise at C:\Windows\System32\msvcrt.dll (unknown line)
abort at C:\Windows\System32\msvcrt.dll (unknown line)
assert at C:\Windows\System32\msvcrt.dll (unknown line)
emit_expr at /cygdrive/d/buildbot/worker/package_win64/build/src\codegen.cpp:4345
emit_ssaval_assign at /cygdrive/d/buildbot/worker/package_win64/build/src\codegen.cpp:3839
emit_stmtpos at /cygdrive/d/buildbot/worker/package_win64/build/src\codegen.cpp:4032 [inlined]
emit_function at /cygdrive/d/buildbot/worker/package_win64/build/src\codegen.cpp:6658
jl_compile_linfo at /cygdrive/d/buildbot/worker/package_win64/build/src\codegen.cpp:1257
emit_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src\codegen.cpp:3311
emit_expr at /cygdrive/d/buildbot/worker/package_win64/build/src\codegen.cpp:4127
emit_ssaval_assign at /cygdrive/d/buildbot/worker/package_win64/build/src\codegen.cpp:3839
emit_stmtpos at /cygdrive/d/buildbot/worker/package_win64/build/src\codegen.cpp:4032 [inlined]
emit_function at /cygdrive/d/buildbot/worker/package_win64/build/src\codegen.cpp:6658
jl_compile_linfo at /cygdrive/d/buildbot/worker/package_win64/build/src\codegen.cpp:1257
jl_compile_method_internal at /cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:1889
_jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2153 [inlined]
jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2322
_pullback at C:\Users\Matthis\.julia\packages\Zygote\oMScO\src\compiler\interface.jl:31
pullback at C:\Users\Matthis\.julia\packages\Zygote\oMScO\src\compiler\interface.jl:37
unknown function (ip: 00000000022AD43D)
_jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2158 [inlined]
jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2322
jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1692 [inlined]
do_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\builtins.c:643
gradient at C:\Users\Matthis\.julia\packages\Zygote\oMScO\src\compiler\interface.jl:46
_jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2144 [inlined]
jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2322
jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1692 [inlined]
do_call at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:369
eval_value at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:458
eval_stmt_value at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:409 [inlined]
eval_body at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:803
jl_interpret_toplevel_thunk at /cygdrive/d/buildbot/worker/package_win64/build/src\interpreter.c:911
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:814
jl_toplevel_eval_flex at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:764
jl_toplevel_eval at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:823 [inlined]
jl_toplevel_eval_in at /cygdrive/d/buildbot/worker/package_win64/build/src\toplevel.c:843
eval at .\boot.jl:331
_jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2144 [inlined]
jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2322
eval_user_input at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.4\REPL\src\REPL.jl:86
run_backend at C:\Users\Matthis\.julia\packages\Revise\S7mrl\src\Revise.jl:1057
#85 at .\task.jl:358
_jl_invoke at /cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2158 [inlined]
jl_apply_generic at /cygdrive/d/buildbot/worker/package_win64/build/src\gf.c:2322
jl_apply at /cygdrive/d/buildbot/worker/package_win64/build/src\julia.h:1692 [inlined]
start_task at /cygdrive/d/buildbot/worker/package_win64/build/src\task.c:687
Allocations: 140752549 (Pool: 140725293; Big: 27256); GC: 137
@CarloLucibello
Copy link
Member

On current master I get

julia> gradient(x->unsafe_copyto!([], 1, [], 1, 0), 1)
ERROR: Output should be scalar; gradients are not defined for output Any[]
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] sensitivity(::Array{Any,1}) at /home/carlo/.julia/packages/Zygote/XCgv1/src/compiler/interface.jl:43
 [3] gradient(::Function, ::Int64, ::Vararg{Int64,N} where N) at /home/carlo/.julia/packages/Zygote/XCgv1/src/compiler/interface.jl:47
 [4] top-level scope at REPL[4]:1

so I guess this is fine since the output from unsafe_copyto! is

julia> unsafe_copyto!([], 1, [], 1, 0)
0-element Array{Any,1}

Feel free to reopen if anything amiss

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants