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

Tyler is almost unusable in VSCode

Open rafaqz opened this issue 11 months ago • 6 comments

Under heavy loads somehow Tyler manages to take all the resources from VSCode so that you cant run lines of code.

Sometimes I get infinite loop errors with observables, maybe thats the problem?

    [29] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
    [30] (::Makie.var"#2373#2374"{Observable{Vector{…}}, Observable{Vector{…}}})(str_pos::Vector{Tuple{Any, Point{…}}})
       @ Makie C:\Users\rafael.schouten\.julia\packages\Makie\Y3ABD\src\basic_recipes\text.jl:194
    [31] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
    [32] invokelatest
       @ .\essentials.jl:1052 [inlined]
    [33] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
    [34] #70
       @ .\tuple.jl:692 [inlined]
    [35] BottomRF
       @ .\reduce.jl:86 [inlined]
    [36] afoldl
       @ .\operators.jl:553 [inlined]
    [37] _foldl_impl
       @ .\reduce.jl:68 [inlined]
    [38] foldl_impl
       @ .\reduce.jl:48 [inlined]
    [39] mapfoldl_impl
       @ .\reduce.jl:44 [inlined]
    [40] mapfoldl
       @ .\reduce.jl:175 [inlined]
    [41] foldl
       @ .\reduce.jl:198 [inlined]
    [42] foreach
       @ .\tuple.jl:692 [inlined]
    [43] (::Makie.var"#312#313"{UnionAll, Tuple{…}})(kw::Vector{Pair{…}}, args::Vector{Tuple{…}})
       @ Makie C:\Users\rafael.schouten\.julia\packages\Makie\Y3ABD\src\interfaces.jl:190
    [44] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
       @ Base .\essentials.jl:1055
    [45] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:1052
    [46] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:420
    [47] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
    [48] invokelatest
       @ .\essentials.jl:1052 [inlined]
    [49] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
    [50] update_ticklabel_node(closure_args::Tuple{…}, ticklabel_annotation_obs::Observable{…}, labelgap::Float32, flipped::Bool, tickpositions::Vector{…}, tickstrings::Vector{…})
       @ Makie C:\Users\rafael.schouten\.julia\packages\Makie\Y3ABD\src\makielayout\lineaxis.jl:168
    [51] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
       @ Base .\essentials.jl:1055
    [52] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:1052
    [53] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:420
    [54] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
    [55] invokelatest
       @ .\essentials.jl:1052 [inlined]
    [56] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
    [57] setindex!
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:123 [inlined]
    [58] update_tickpos_string(closure_args::Tuple{…}, tickvalues_labels_unfiltered::Tuple{…}, reversed::Bool, scale::typeof(identity))
       @ Makie C:\Users\rafael.schouten\.julia\packages\Makie\Y3ABD\src\makielayout\lineaxis.jl:231
    [59] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
       @ Base .\essentials.jl:1055
    [60] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:1052
    [61] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:420
    [62] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
    [63] invokelatest
       @ .\essentials.jl:1052 [inlined]
    [64] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
    [65] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:123
    [66] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:436
--- the above 5 lines are repeated 1 more time ---
    [72] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
    [73] invokelatest
       @ .\essentials.jl:1052 [inlined]
    [74] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
    [75] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:123
    [76] (::Observables.SetindexCallback)(x::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:148
    [77] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
    [78] invokelatest
       @ .\essentials.jl:1052 [inlined]
    [79] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
    [80] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:123
    [81] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:436
--- the above 5 lines are repeated 1 more time ---
    [87] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
    [88] invokelatest
       @ .\essentials.jl:1052 [inlined]
    [89] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
    [90] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:123
    [91] update_computedbbox!(computedbbox::Observable{…}, suggestedbbox::GeometryBasics.HyperRectangle{…}, alignment::Tuple{…}, reporteddimensions::GridLayoutBase.Dimensions, alignmode::Inside, protrusions::GridLayoutBase.RectSides{…}, sizeattrs::Observable{…}, autosizeobservable::Observable{…})
       @ GridLayoutBase C:\Users\rafael.schouten\.julia\packages\GridLayoutBase\xvxWi\src\layoutobservables.jl:356    
    [92] (::GridLayoutBase.var"#106#108"{…})(sbbox::GeometryBasics.HyperRectangle{…}, ali::Tuple{…})
       @ GridLayoutBase C:\Users\rafael.schouten\.julia\packages\GridLayoutBase\xvxWi\src\layoutobservables.jl:218    
    [93] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
       @ Base .\essentials.jl:1055
    [94] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:1052
    [95] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:420
    [96] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
    [97] invokelatest
       @ .\essentials.jl:1052 [inlined]
    [98] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
    [99] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:123
   [100] align_to_bbox!(gl::GridLayout, suggestedbbox::GeometryBasics.HyperRectangle{2, Float32})
       @ GridLayoutBase C:\Users\rafael.schouten\.julia\packages\GridLayoutBase\xvxWi\src\gridlayout.jl:1096
   [101] (::GridLayoutBase.var"#11#12"{GridLayout})(bbox::GeometryBasics.HyperRectangle{2, Float32})
       @ GridLayoutBase C:\Users\rafael.schouten\.julia\packages\GridLayoutBase\xvxWi\src\gridlayout.jl:158
   [102] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
   [103] invokelatest
       @ .\essentials.jl:1052 [inlined]
   [104] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
   [105] update!(gl::GridLayout)
       @ GridLayoutBase C:\Users\rafael.schouten\.julia\packages\GridLayoutBase\xvxWi\src\gridlayout.jl:193
   [106] update!
       @ C:\Users\rafael.schouten\.julia\packages\GridLayoutBase\xvxWi\src\gridlayout.jl:1525 [inlined]
   [107] (::GridLayoutBase.var"#14#15"{GridLayoutBase.GridContent{GridLayout}, Axis})(c::GridLayoutBase.Dimensions)   
       @ GridLayoutBase C:\Users\rafael.schouten\.julia\packages\GridLayoutBase\xvxWi\src\gridlayout.jl:261
   [108] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
   [109] invokelatest
       @ .\essentials.jl:1052 [inlined]
   [110] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
   [111] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:123
   [112] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:436
--- the above 5 lines are repeated 2 more times ---
   [123] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
   [124] invokelatest
       @ .\essentials.jl:1052 [inlined]
   [125] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
   [126] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:123
   [127] (::Makie.var"#1610#1624"{Observable{Any}})(idealspace::Float32, space::MakieCore.Automatic)
       @ Makie C:\Users\rafael.schouten\.julia\packages\Makie\Y3ABD\src\makielayout\lineaxis.jl:331
   [128] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
       @ Base .\essentials.jl:1055
   [129] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:1052
   [130] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:420
   [131] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
   [132] invokelatest
       @ .\essentials.jl:1052 [inlined]
   [133] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
   [134] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:123
   [135] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:436
   [136] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
   [137] invokelatest
       @ .\essentials.jl:1052 [inlined]
   [138] notify
       @ C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:206 [inlined]
   [139] update_ticklabel_node(closure_args::Tuple{…}, ticklabel_annotation_obs::Observable{…}, labelgap::Float32, flipped::Bool, tickpositions::Vector{…}, tickstrings::Vector{…})
       @ Makie C:\Users\rafael.schouten\.julia\packages\Makie\Y3ABD\src\makielayout\lineaxis.jl:168
   [140] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::@Kwargs{})
       @ Base .\essentials.jl:1055
   [141] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:1052
   [142] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\rafael.schouten\.julia\packages\Observables\YdEbO\src\Observables.jl:420
   [143] #invokelatest#2
       @ .\essentials.jl:1055 [inlined]
   [144] invokelatest
       @ .\essentials.jl:1052 [inlined]
   [145] notify

rafaqz avatar Dec 31 '24 07:12 rafaqz

Do you have an MWE, or are you using a non standard provider? With WGLMakie everything seems fine to me, even displaying in VSCode's plot pane.

Also, are you running Julia with nthreads() > 1?

asinghvi17 avatar Dec 31 '24 07:12 asinghvi17

Try to run the ice loss example a lot of times in GLMakie

rafaqz avatar Dec 31 '24 07:12 rafaqz

This seems to trigger a loop in set_axis!

Makie.limits!(axis, (X[1], X[2]), (Y[1], Y[2]))

And that just runs in the background.

rafaqz avatar Dec 31 '24 07:12 rafaqz

Do you have anything else in the layout?

asinghvi17 avatar Dec 31 '24 08:12 asinghvi17

Nope. See the example

(Well plots are added later but it can happen without that)

rafaqz avatar Dec 31 '24 08:12 rafaqz

~~Ok so this happened when the system was under heavy load memory from another process and Makie/VSCoder where fighting over the scraps left over. But that it doesn't stop after you close the Makie window is a problem~~

No it keeps happening, the load IS makie

rafaqz avatar Dec 31 '24 08:12 rafaqz