ASTInterpreter.jl icon indicating copy to clipboard operation
ASTInterpreter.jl copied to clipboard

Segfault in eval

Open andreasnoack opened this issue 9 years ago • 1 comments

It might not be supported to macroexpand and evaling a macro call with @enter but it probably shouldn't cause a segfault either. On laster commit of this package I get

julia> using DistributedArrays

julia> using Gallium

julia> @enter eval(macroexpand(:(@DArray [1 for i = 1:3, j = 1:3])))
In boot.jl:233
232
233   eval(e::ANY) = eval(Main, e)
234   eval(m::Module, e::ANY) = ccall(:jl_toplevel_eval_in, Any, (Any, Any), m, e)
235

About to run: (eval)(Main,<suppressed 326 bytes of output>)
1|debug > s
In boot.jl:234
233   eval(e::ANY) = eval(Main, e)
234   eval(m::Module, e::ANY) = ccall(:jl_toplevel_eval_in, Any, (Any, Any), m, e)
235
236   kwfunc(f::ANY) = ccall(:jl_get_keyword_sorter, Any, (Any,), f)

About to run: (Core.svec)(Any,Any)
1|debug > n

signal (11): Segmentation fault
while loading no file, in expression starting on line 1700
jl_subtype_le at /home/andreas/julia-dev/src/jltypes.c:2684
jl_f_isa at /home/andreas/julia-dev/src/builtins.c:382
#73 at /home/andreas/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:1583
jl_call_method_internal at /home/andreas/julia-dev/src/julia_internal.h:177 [inlined]
jl_apply_generic at /home/andreas/julia-dev/src/gf.c:2027
run_interface at ./LineEdit.jl:1570
jl_call_method_internal at /home/andreas/julia-dev/src/julia_internal.h:177 [inlined]
jl_apply_generic at /home/andreas/julia-dev/src/gf.c:2027
RunDebugREPL at /home/andreas/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:1659
jl_call_method_internal at /home/andreas/julia-dev/src/julia_internal.h:177 [inlined]
jl_apply_generic at /home/andreas/julia-dev/src/gf.c:2027
do_call at /home/andreas/julia-dev/src/interpreter.c:66
eval at /home/andreas/julia-dev/src/interpreter.c:190
eval_body at /home/andreas/julia-dev/src/interpreter.c:462
jl_toplevel_eval_flex at /home/andreas/julia-dev/src/toplevel.c:552 [inlined]
jl_toplevel_eval at /home/andreas/julia-dev/src/toplevel.c:580
jl_toplevel_eval_in_warn at /home/andreas/julia-dev/src/builtins.c:576
eval at ./boot.jl:234
jl_call_method_internal at /home/andreas/julia-dev/src/julia_internal.h:177 [inlined]
jl_apply_generic at /home/andreas/julia-dev/src/gf.c:2027
eval_user_input at ./REPL.jl:62
jl_call_method_internal at /home/andreas/julia-dev/src/julia_internal.h:177 [inlined]
jl_apply_generic at /home/andreas/julia-dev/src/gf.c:2027
macro expansion at ./REPL.jl:92 [inlined]
#1 at ./event.jl:46
jl_call_method_internal at /home/andreas/julia-dev/src/julia_internal.h:177 [inlined]
jl_apply_generic at /home/andreas/julia-dev/src/gf.c:2027
jl_apply at /home/andreas/julia-dev/src/julia.h:1394 [inlined]
start_task at /home/andreas/julia-dev/src/task.c:253
unknown function (ip: 0xffffffffffffffff)
Allocations: 15967368 (Pool: 15963236; Big: 4132); GC: 26
[1]    183548 segmentation fault  ./julia

andreasnoack avatar Jul 18 '16 13:07 andreasnoack

I also get a segfault with a breakpoint

Gallium.breakpoint(mapfoldl)
@DArray [1 for i = 1:3, j = 1:3]

...segfault...

andreasnoack avatar Jul 18 '16 13:07 andreasnoack