JuliaDebug / Gallium.jl

The Julia debugger
Other
174 stars 23 forks source link

Gallium crashes with ERROR: no method found for the specified argument types #149

Open tlnagy opened 8 years ago

tlnagy commented 8 years ago

On RC3, Gallium crashes while stepping through function, using Gadfly master and v0.0.4 of Gallium

julia> using Gadfly; using Gallium

julia> Gallium.breakpoint(Gadfly.plot)
Locations (+: active, -: inactive, *: source):
 + plot(elements::Tuple{Array{Gadfly.Layer,1},Array{Gadfly.Layer,1},Array{Gadfly.Layer,1}}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:339
 + plot(elements::Tuple{Array{Gadfly.Layer,1},Array{Gadfly.Layer,1}}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:339
 + plot(elements::Tuple{Array{Gadfly.Layer,1},Gadfly.Guide.XLabel,Gadfly.Guide.YLabel,Gadfly.Guide.ColorKey,Gadfly.Coord.Cartesian}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:339
 + plot(elements::Tuple{Array{Gadfly.Layer,1},Array{Gadfly.Layer,1},Gadfly.Guide.XLabel,Gadfly.Guide.YLabel,Gadfly.Guide.Title}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:339
 + plot(elements::Tuple{Gadfly.Geom.SubplotGrid}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:339
 + plot(data_source::DataFrames.DataFrame, elements::Tuple{Array{Gadfly.Layer,1},Array{Gadfly.Layer,1}}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:333
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Geom.LineGeometry}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Guide.ColorKey}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{Array{Gadfly.Layer,1},Array{Gadfly.Layer,1},Array{Gadfly.Layer,1}}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{Array{Gadfly.Layer,1},Array{Gadfly.Layer,1}}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{Array{Gadfly.Layer,1},Array{Gadfly.Layer,1},Gadfly.Guide.XLabel,Gadfly.Guide.YLabel,Vararg{Union{Array{Gadfly.Layer,1},Union{DataType,Function,Gadfly.Element,Gadfly.Theme}},N}}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{Array{Gadfly.Layer,1},Gadfly.Guide.XLabel,Gadfly.Guide.YLabel,Gadfly.Guide.ColorKey,Vararg{Union{Array{Gadfly.Layer,1},Union{DataType,Function,Gadfly.Element,Gadfly.Theme}},N}}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Guide.XTicks,Gadfly.Guide.YTicks}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Geom.SubplotGrid}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Scale.ContinuousScale,Gadfly.Scale.ContinuousScale}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Guide.XLabel,Gadfly.Guide.YLabel,Gadfly.Guide.Title}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Scale.ContinuousColorScale}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Geom.PolygonGeometry}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{DataType}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{DataType,DataType}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{DataType,Gadfly.Scale.ContinuousColorScale}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{DataType,Gadfly.Geom.LabelGeometry}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::Void, mapping::Dict{Symbol,Any}, elements::Tuple{DataType,Gadfly.Geom.LineGeometry}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::DataFrames.DataFrame, mapping::Dict{Symbol,Any}, elements::Tuple{Array{Gadfly.Layer,1},Array{Gadfly.Layer,1}}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::DataFrames.DataFrame, mapping::Dict{Symbol,Any}, elements::Tuple{}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::DataFrames.DataFrame, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Geom.SubplotGrid,Gadfly.Theme}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::DataFrames.DataFrame, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Geom.BarGeometry}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::DataFrames.DataFrame, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Geom.SubplotGrid}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::DataFrames.DataFrame, mapping::Dict{Symbol,Any}, elements::Tuple{Array{Gadfly.Layer,1}}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::DataFrames.DataFrame, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Theme,DataType}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::DataFrames.DataFrame, mapping::Dict{Symbol,Any}, elements::Tuple{DataType}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::DataFrames.DataFrame, mapping::Dict{Symbol,Any}, elements::Tuple{DataType,Gadfly.Theme}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::DataFrames.DataFrame, mapping::Dict{Symbol,Any}, elements::Tuple{DataType,DataType}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::DataFrames.DataFrame, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Coord.Cartesian,DataType}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(data_source::DataFrames.DataFrame, mapping::Dict{Symbol,Any}, elements::Tuple{Gadfly.Stat.BinMeanStatistic,DataType}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 + plot(fs::Array{Function,1}, a::Int64, b::Int64, elements::Tuple{}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/poetry.jl:19
 + plot(fs::Array{Function,1}, a::Int64, b::Int64, elements::Tuple{Gadfly.Scale.DiscreteColorScale}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/poetry.jl:19
 + plot(fs::Array{Function,1}, a::Int64, b::Int64, elements::Tuple{Gadfly.Coord.Cartesian}) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/poetry.jl:19
 * Any matching method added to Gadfly.#plot
 * Any matching specialization of plot(elements) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:339
 * Any matching specialization of plot(data_source, elements) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:333
 * Any matching specialization of plot(data_source, mapping, elements) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
 * Any matching specialization of plot(fs, a, b, elements) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/poetry.jl:19
 * Any matching specialization of plot(f, a, b, elements) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/poetry.jl:50
 * Any matching specialization of plot(f, xmin, xmax, ymin, ymax, elements) at /Users/tamasnagy/.julia/v0.5/Gadfly/src/poetry.jl:57

julia> plot(x=[1,1,2,2],y=[1,2,3,4],color=[1,2,1,2],Geom.bar)
In /Users/tamasnagy/.julia/v0.5/Gadfly/src/Gadfly.jl:379
378                 mapping::Dict, elements::ElementOrFunctionOrLayers...)
379       mapping = cleanmapping(mapping)
380       p = Plot()
381       for element in elements

About to run: mapping
1|debug > n
typeof(f) = Gadfly.#cleanmapping
Gadfly.cleanmapping
Tuple{Gadfly.#plot}
ERROR: no method found for the specified argument types
 in which(::Any, ::Any) at ./reflection.jl:441
 in #determine_method_for_expr#39(::Bool, ::Function, ::ASTInterpreter.Interpreter, ::Expr) at /Users/tamasnagy/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:1083
 in (::ASTInterpreter.#kw##determine_method_for_expr)(::Array{Any,1}, ::ASTInterpreter.#determine_method_for_expr, ::ASTInterpreter.Interpreter, ::Expr) at ./<missing>:0
 in iswrappercall(::ASTInterpreter.Interpreter, ::Expr) at /Users/tamasnagy/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:713
 in #next_line!#32(::ASTInterpreter.InterpreterState, ::Function, ::ASTInterpreter.Interpreter) at /Users/tamasnagy/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:751
 in (::ASTInterpreter.#kw##next_line!)(::Array{Any,1}, ::ASTInterpreter.#next_line!, ::ASTInterpreter.Interpreter) at ./<missing>:0
 in execute_command(::ASTInterpreter.InterpreterState, ::ASTInterpreter.Interpreter, ::Val{:n}, ::String) at /Users/tamasnagy/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:1508
 in (::ASTInterpreter.##71#77{ASTInterpreter.Interpreter,ASTInterpreter.#promptname#75,ASTInterpreter.InterpreterState,Base.LineEdit.Prompt,Base.LineEdit.Prompt})(::Base.LineEdit.MIState, ::Base.AbstractIOBuffer{Array{UInt8,1}}, ::Bool) at /Users/tamasnagy/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:1615
 in run_interface(::Base.Terminals.TTYTerminal, ::Base.LineEdit.ModalInterface) at ./LineEdit.jl:1579
 in run_interface(::Base.Terminals.TTYTerminal, ::Base.LineEdit.ModalInterface) at /Applications/Julia-0.5.app/Contents/Resources/julia/lib/julia/sys.dylib:?
 in RunDebugREPL(::ASTInterpreter.Interpreter) at /Users/tamasnagy/.julia/v0.5/ASTInterpreter/src/ASTInterpreter.jl:1693
 in (::Gallium.##110#112)(::Gadfly.#plot, ::Void, ::Dict{Symbol,Any}, ::DataType) at ./<missing>:0
 in (::Gadfly.#kw##plot)(::Array{Any,1}, ::Gadfly.#plot, ::DataType) at ./<missing>:0

julia> Pkg.installed("Gallium")
v"0.0.4"
Keno commented 8 years ago

FYI, I'm looking into this, but getting memory corruption for some reason when trying your example (which is quite possibly the cause of this issue). Unfortunately that means, it'll be slightly tricker to track down.

tlnagy commented 8 years ago

Do you still get the memory corruption without setting the breakpoint? i.e. using Gadfly by itself? If it's a bug on Gadfly's end, I can try and sort it out at some point.

Keno commented 8 years ago

No, looks to be caused by Gallium

tlnagy commented 8 years ago

Any luck with a fix?