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

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

Open tlnagy opened this issue 7 years ago • 4 comments

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"

tlnagy avatar Sep 01 '16 18:09 tlnagy

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.

Keno avatar Sep 07 '16 19:09 Keno

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.

tlnagy avatar Sep 07 '16 19:09 tlnagy

No, looks to be caused by Gallium

Keno avatar Sep 07 '16 19:09 Keno

Any luck with a fix?

tlnagy avatar Oct 06 '16 16:10 tlnagy