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

apparent inference hang in makie plot #36897

Closed
JeffBezanson opened this issue Aug 3, 2020 · 4 comments
Closed

apparent inference hang in makie plot #36897

JeffBezanson opened this issue Aug 3, 2020 · 4 comments
Labels
bug Indicates an unexpected problem or unintended behavior compiler:inference Type inference regression Regression in behavior compared to a previous version

Comments

@JeffBezanson
Copy link
Member

JeffBezanson commented Aug 3, 2020

See #36891 (comment)

Test case:

using RDatasets: dataset
using AlgebraOfGraphics, AbstractPlotting, GLMakie
using AlgebraOfGraphics: smooth
mpg = dataset("ggplot2", "mpg");
cols = style(:Displ, :Hwy);
grp = style(color = :Cyl => categorical);
scat = spec(Scatter)
pipeline = cols * scat
newstyle = style(markersize = :Cyl) * spec(markersize = (0.1, 5))
data(mpg) * cols * (scat * newstyle + smooth(span = 0.8)) |> draw
^C^C^C^C^CWARNING: Force throwing a SIGINT
Internal error: encountered unexpected error in runtime:
InterruptException()
jl_unwrap_unionall at /home/jeff/src/julia-1.5/julia/src/jltypes.c:928
obviously_disjoint at /home/jeff/src/julia-1.5/julia/src/subtype.c:305 [inlined]
jl_type_intersection_env_s at /home/jeff/src/julia-1.5/julia/src/subtype.c:3295
jl_typemap_intersection_node_visitor at /home/jeff/src/julia-1.5/julia/src/typemap.c:321
jl_typemap_intersection_visitor at /home/jeff/src/julia-1.5/julia/src/typemap.c:408
ml_matches at /home/jeff/src/julia-1.5/julia/src/gf.c:2810
jl_matching_methods at /home/jeff/src/julia-1.5/julia/src/gf.c:1891
_methods_by_ftype at ./reflection.jl:858 [inlined]
#216 at ./compiler/abstractinterpretation.jl:57 [inlined]
get! at ./iddict.jl:152
jfptr_getNOT._19474 at /home/jeff/src/julia-1.5/julia/usr/lib/julia/sys.so (unknown line)
^Cabstract_call_gf_by_type at ./compiler/abstractinterpretation.jl:55
abstract_call_known at ./compiler/abstractinterpretation.jl:904
abstract_call at ./compiler/abstractinterpretation.jl:926
abstract_call at ./compiler/abstractinterpretation.jl:911
abstract_eval at ./compiler/abstractinterpretation.jl:1005
typeinf_local at ./compiler/abstractinterpretation.jl:1270
typeinf_nocycle at ./compiler/abstractinterpretation.jl:1326
typeinf at ./compiler/typeinfer.jl:12
typeinf_edge at ./compiler/typeinfer.jl:484

Happens in 1.5. Works in 1.4 and master.

@JeffBezanson JeffBezanson added bug Indicates an unexpected problem or unintended behavior compiler:inference Type inference regression Regression in behavior compared to a previous version labels Aug 3, 2020
@JeffBezanson
Copy link
Member Author

Trying this again, I get the BoundsError from #36891 on master but otherwise it works. So unfortunately seems to be specific to 1.5.

@JeffBezanson
Copy link
Member Author

Seems to have been caused by 301db97. Somehow those definitions trigger some bad case in inference.

@JeffBezanson
Copy link
Member Author

Inference issues with that commit have been noticed before: #34048 (comment), #35800.

@SimonDanisch
Copy link
Contributor

Seems fixed on master & 1.5.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Indicates an unexpected problem or unintended behavior compiler:inference Type inference regression Regression in behavior compared to a previous version
Projects
None yet
Development

No branches or pull requests

3 participants