MakieOrg / Makie.jl

Interactive data visualizations and plotting in Julia
https://docs.makie.org/stable
MIT License
2.43k stars 312 forks source link

StackoverFlow in Gridlayout Timer #2582

Open SimonDanisch opened 1 year ago

SimonDanisch commented 1 year ago

After zooming around a lot, I'm getting this error:

Error in Timer:
StackOverflowError:
Stacktrace:

    [1] merge NamedTuple{(), Tuple{}}, itr)
\namedtuple.jl:314
     [2] (::Makie.var"#175#177"{Attributes, Observable{Tuple{Vector{Point{2, Float32}}}}, DataType})(kwargs::Tuple{}, args::Vector{Point{2, Float32}})
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\interfaces.jl:326
     [3] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
     [4] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
     [5] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
     [6] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
     [7] invokelatest
       @ .\essentials.jl:813 [inlined]
     [8] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
     [9] setindex!
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
    [10] (::Makie.var"#1873#1877"{Scene, Observable{Vector{Point{2, Float32}}}, Base.RefValue{Vector{Int64}}})(segs::Vector{Point{2, Float32}}, pos::Vector{Point{3, Float32}}, #unused#::StaticArraysCore.SMatrix{4, 4, Float32, 16}, #unused#::GeometryBasics.HyperRectangle{2, Int64}, transf::Function, space::Symbol)
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\basic_recipes\text.jl:60
    [11] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
    [12] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
    [13] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
    [14] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
    [15] invokelatest
       @ .\essentials.jl:813 [inlined]
    [16] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
    [17] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
    [18] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:431
    [19] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
    [20] invokelatest
       @ .\essentials.jl:813 [inlined]
    [21] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
    [22] setindex!
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
    [23] (::Makie.var"#175#177"{Attributes, Observable{Tuple{Vector{Point{3, Float32}}}}, DataType})(kwargs::Tuple{}, args::Vector{Point{3, Float32}})
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\interfaces.jl:333
    [24] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
    [25] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
    [26] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
    [27] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
    [28] invokelatest
       @ .\essentials.jl:813 [inlined]
    [29] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
    [30] setindex!
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
    [31] (::Makie.var"#1880#1881"{Observable{Vector{Point{3, Float32}}}, Observable{Vector{AbstractString}}})(str_pos::Vector{Tuple{AbstractString, Point{2, Float32}}})
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\basic_recipes\text.jl:157
    [32] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
    [33] invokelatest
       @ .\essentials.jl:813 [inlined]
    [34] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
    [35] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
    [36] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:431
    [37] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
    [38] invokelatest
       @ .\essentials.jl:813 [inlined]
    [39] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
    [40] setindex!
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
    [41] (::Makie.var"#175#177"{Attributes, Observable{Tuple{Vector{Tuple{AbstractString, Point{2, Float32}}}}}, DataType})(kwargs::Tuple{}, args::Vector{Tuple{AbstractString, Point{2, Float32}}})
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\interfaces.jl:333
    [42] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
    [43] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
    [44] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
    [45] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
    [46] invokelatest
       @ .\essentials.jl:813 [inlined]
    [47] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
    [48] update_ticklabel_node(closure_args::Tuple{Observable{Bool}, Observable{Any}, Observable{Float32}, Observable{Any}, Observable{Vector{Float32}}}, ticklabel_annotation_obs::Observable{Vector{Tuple{AbstractString, Point{2, Float32}}}}, labelgap::Float32, flipped::Bool, tickpositions::Vector{Point{2, Float32}}, tickstrings::Vector{AbstractString})
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\makielayout\lineaxis.jl:161
    [49] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
    [50] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
    [51] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
    [52] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
    [53] invokelatest
       @ .\essentials.jl:813 [inlined]
    [54] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
    [55] setindex!
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
    [56] update_tickpos_string(closure_args::Tuple{Observable{Vector{AbstractString}}, Observable{Vector{Point{2, Float32}}}, Observable{Vector{Float32}}, Observable{Tuple{Float32, Tuple{Float32, Float32}, Bool}}, Observable{Tuple{Float32, Float32}}}, tickvalues_labels_unfiltered::Tuple{Vector{Float32}, Vector{AbstractString}}, reversed::Bool, scale::typeof(identity))
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\makielayout\lineaxis.jl:224
    [57] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
    [58] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
    [59] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
    [60] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
    [61] invokelatest
       @ .\essentials.jl:813 [inlined]
    [62] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
    [63] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
    [64] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:431
--- the last 5 lines are repeated 1 more time ---
    [70] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
    [71] invokelatest
       @ .\essentials.jl:813 [inlined]
    [72] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
    [73] setindex!
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
    [74] (::Observables.SetindexCallback)(x::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:111
    [75] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
    [76] invokelatest
       @ .\essentials.jl:813 [inlined]
    [77] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
    [78] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
    [79] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:431
    [80] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
    [81] invokelatest
       @ .\essentials.jl:813 [inlined]
    [82] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
    [83] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
    [84] adjustlimits!(la::Axis)
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\makielayout\blocks\axis.jl:1017
    [85] (::Makie.var"#1309#1339"{Axis})(pxa::GeometryBasics.HyperRectangle{2, Int64}, lims::GeometryBasics.HyperRectangle{2, Float32})
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\makielayout\blocks\axis.jl:500
    [86] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
    [87] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
    [88] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
    [89] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
    [90] invokelatest
       @ .\essentials.jl:813 [inlined]
    [91] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
    [92] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
    [93] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:431
--- the last 5 lines are repeated 1 more time ---
    [99] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
   [100] invokelatest
       @ .\essentials.jl:813 [inlined]
   [101] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
   [102] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
   [103] update_computedbbox!(computedbbox::Observable{GeometryBasics.HyperRectangle{2, Float32}}, suggestedbbox::GeometryBasics.HyperRectangle{2, Float32}, alignment::Tuple{Float32, Float32}, reporteddimensions::GridLayoutBase.Dimensions, alignmode::Inside, protrusions::GridLayoutBase.RectSides{Float32}, sizeattrs::Observable{Tuple{Union{Nothing, Float32, Auto, Fixed, Relative}, Union{Nothing, Float32, Auto, Fixed, Relative}}}, autosizeobservable::Observable{Tuple{Union{Nothing, Float32}, Union{Nothing, Float32}}})
       @ GridLayoutBase C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\layoutobservables.jl:356
   [104] (::GridLayoutBase.var"#106#108"{Observable{GridLayoutBase.Dimensions}, Observable{Tuple{Union{Nothing, Float32, Auto, Fixed, Relative}, Union{Nothing, Float32, Auto, Fixed, Relative}}}, Observable{Tuple{Union{Nothing, Float32}, Union{Nothing, Float32}}}, Observable{Any}, Observable{GridLayoutBase.RectSides{Float32}}, Observable{GeometryBasics.HyperRectangle{2, Float32}}})(sbbox::GeometryBasics.HyperRectangle{2, Float32}, ali::Tuple{Float32, Float32})
       @ GridLayoutBase C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\layoutobservables.jl:218
   [105] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
   [106] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
   [107] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
   [108] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
   [109] invokelatest
       @ .\essentials.jl:813 [inlined]
   [110] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
   [111] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
   [112] align_to_bbox!(gl::GridLayout, suggestedbbox::GeometryBasics.HyperRectangle{2, Float32})
       @ GridLayoutBase C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\gridlayout.jl:1084
   [113] (::GridLayoutBase.var"#11#12"{GridLayout})(bbox::GeometryBasics.HyperRectangle{2, Float32})
       @ GridLayoutBase C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\gridlayout.jl:157
   [114] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
   [115] invokelatest
       @ .\essentials.jl:813 [inlined]
   [116] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
   [117] update!
       @ C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\gridlayout.jl:192
   [118] update!
       @ C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\gridlayout.jl:1513 [inlined]
   [119] (::GridLayoutBase.var"#14#15"{GridLayoutBase.GridContent{GridLayout}, Axis})(c::GridLayoutBase.Dimensions)
       @ GridLayoutBase C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\gridlayout.jl:254
   [120] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
   [121] invokelatest
       @ .\essentials.jl:813 [inlined]
   [122] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
   [123] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
   [124] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:431
--- the last 5 lines are repeated 2 more times ---
   [135] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
   [136] invokelatest
       @ .\essentials.jl:813 [inlined]
   [137] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
   [138] setindex!
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
   [139] (::Makie.var"#1245#1258"{Observable{Any}})(idealspace::Float32, space::MakieCore.Automatic)
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\makielayout\lineaxis.jl:322
   [140] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
   [141] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
   [142] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
   [143] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
   [144] invokelatest
       @ .\essentials.jl:813 [inlined]
   [145] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
   [146] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
   [147] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:431
   [148] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
   [149] invokelatest
       @ .\essentials.jl:813 [inlined]
   [150] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
   [151] update_ticklabel_node(closure_args::Tuple{Observable{Bool}, Observable{Any}, Observable{Float32}, Observable{Any}, Observable{Vector{Float32}}}, ticklabel_annotation_obs::Observable{Vector{Tuple{AbstractString, Point{2, Float32}}}}, labelgap::Float32, flipped::Bool, tickpositions::Vector{Point{2, Float32}}, tickstrings::Vector{AbstractString})
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\makielayout\lineaxis.jl:161
   [152] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
   [153] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
   [154] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
   [155] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
   [156] invokelatest
       @ .\essentials.jl:813 [inlined]
   [157] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
   [158] setindex!
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
   [159] update_tickpos_string(closure_args::Tuple{Observable{Vector{AbstractString}}, Observable{Vector{Point{2, Float32}}}, Observable{Vector{Float32}}, Observable{Tuple{Float32, Tuple{Float32, Float32}, Bool}}, Observable{Tuple{Float32, Float32}}}, tickvalues_labels_unfiltered::Tuple{Vector{Float32}, Vector{AbstractString}}, reversed::Bool, scale::typeof(identity))
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\makielayout\lineaxis.jl:225
--- the last 103 lines are repeated 224 more times ---
 [23232] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
 [23233] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
 [23234] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
 [23235] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
 [23236] invokelatest
       @ .\essentials.jl:813 [inlined]
 [23237] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
 [23238] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
 [23239] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:431
--- the last 5 lines are repeated 1 more time ---
 [23245] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
 [23246] invokelatest
       @ .\essentials.jl:813 [inlined]
 [23247] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
 [23248] setindex!
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
 [23249] (::Observables.SetindexCallback)(x::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:111
 [23250] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
 [23251] invokelatest
       @ .\essentials.jl:813 [inlined]
 [23252] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
 [23253] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
 [23254] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:431
 [23255] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
 [23256] invokelatest
       @ .\essentials.jl:813 [inlined]
 [23257] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
 [23258] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
 [23259] adjustlimits!(la::Axis)
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\makielayout\blocks\axis.jl:1017
 [23260] (::Makie.var"#1309#1339"{Axis})(pxa::GeometryBasics.HyperRectangle{2, Int64}, lims::GeometryBasics.HyperRectangle{2, Float32})
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\makielayout\blocks\axis.jl:500
 [23261] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
 [23262] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
 [23263] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
 [23264] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
 [23265] invokelatest
       @ .\essentials.jl:813 [inlined]
 [23266] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
 [23267] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
 [23268] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:431
--- the last 5 lines are repeated 1 more time ---
 [23274] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
 [23275] invokelatest
       @ .\essentials.jl:813 [inlined]
 [23276] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
 [23277] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
 [23278] update_computedbbox!(computedbbox::Observable{GeometryBasics.HyperRectangle{2, Float32}}, suggestedbbox::GeometryBasics.HyperRectangle{2, Float32}, alignment::Tuple{Float32, Float32}, reporteddimensions::GridLayoutBase.Dimensions, alignmode::Inside, protrusions::GridLayoutBase.RectSides{Float32}, sizeattrs::Observable{Tuple{Union{Nothing, Float32, Auto, Fixed, Relative}, Union{Nothing, Float32, Auto, Fixed, Relative}}}, autosizeobservable::Observable{Tuple{Union{Nothing, Float32}, Union{Nothing, Float32}}})
       @ GridLayoutBase C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\layoutobservables.jl:356
 [23279] (::GridLayoutBase.var"#106#108"{Observable{GridLayoutBase.Dimensions}, Observable{Tuple{Union{Nothing, Float32, Auto, Fixed, Relative}, Union{Nothing, Float32, Auto, Fixed, Relative}}}, Observable{Tuple{Union{Nothing, Float32}, Union{Nothing, Float32}}}, Observable{Any}, Observable{GridLayoutBase.RectSides{Float32}}, Observable{GeometryBasics.HyperRectangle{2, Float32}}})(sbbox::GeometryBasics.HyperRectangle{2, Float32}, ali::Tuple{Float32, Float32})
       @ GridLayoutBase C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\layoutobservables.jl:218
 [23280] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
 [23281] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
 [23282] (::Observables.OnAny)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:415
 [23283] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
 [23284] invokelatest
       @ .\essentials.jl:813 [inlined]
 [23285] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
 [23286] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
 [23287] align_to_bbox!(gl::GridLayout, suggestedbbox::GeometryBasics.HyperRectangle{2, Float32})
       @ GridLayoutBase C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\gridlayout.jl:1084
 [23288] (::GridLayoutBase.var"#11#12"{GridLayout})(bbox::GeometryBasics.HyperRectangle{2, Float32})
       @ GridLayoutBase C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\gridlayout.jl:157
 [23289] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
 [23290] invokelatest
       @ .\essentials.jl:813 [inlined]
 [23291] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
 [23292] update!
       @ C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\gridlayout.jl:192
 [23293] update!
       @ C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\gridlayout.jl:1513 [inlined]
 [23294] (::GridLayoutBase.var"#14#15"{GridLayoutBase.GridContent{GridLayout}, Axis})(c::GridLayoutBase.Dimensions)
       @ GridLayoutBase C:\Users\sdani\.julia\packages\GridLayoutBase\lYdxT\src\gridlayout.jl:254
 [23295] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
 [23296] invokelatest
       @ .\essentials.jl:813 [inlined]
 [23297] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
 [23298] setindex!(observable::Observable, val::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
 [23299] (::Observables.MapCallback)(value::Any)
       @ Observables C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:431
--- the last 5 lines are repeated 2 more times ---
 [23310] #invokelatest#2
       @ .\essentials.jl:816 [inlined]
 [23311] invokelatest
       @ .\essentials.jl:813 [inlined]
 [23312] notify
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:169 [inlined]
 [23313] setindex!
       @ C:\Users\sdani\.julia\packages\Observables\PHGQ8\src\Observables.jl:86
 [23314] (::Makie.var"#1245#1258"{Observable{Any}})(idealspace::Float32, space::MakieCore.Automatic)
       @ Makie C:\Users\sdani\.julia\packages\Makie\LCBYx\src\makielayout\lineaxis.jl:322
 [23315] invokelatest(::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
       @ Base .\essentials.jl:816
 [23316] invokelatest(::Any, ::Any, ::Vararg{Any})
       @ Base .\essentials.jl:813
 [23317] (::Observables.OnAny)(value::Any)
AnHeuermann commented 1 year ago

I encountered a similar issue, but can only reproduce it when running my Julia code withing the Julia extension of VS Code.

How to reproduce

I created a new repo AnHeuermann/MakieStackOverflow that produces a stack overflow when I run test/runtest.jl with the VS Code Julia extension (Shift+Enter). The example is a bit large, but maybe can point someone into the right direction.

Versions 'n stuff

I'm using ssh to access the machine. It's headless (no X Server, no DISPLAY variable).

julia> versioninfo()
Julia Version 1.8.1
Commit afb6c60d69a (2022-09-06 15:09 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 48 × Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, cascadelake)
  Threads: 1 on 48 virtual cores
Environment:
  LD_LIBRARY_PATH = /usr/local/cuda-11.8/lib64
ffreyer commented 3 months ago

Has this been fixed/is this still an issue?

AnHeuermann commented 3 months ago

My example is no longer crashing on my server (CairoMakie v0.12.7, Makie 0.21.7, Julia 1.10.4, OS: Ubuntu 22.04.4 LTS) so I'll remove it.

SimonDanisch commented 3 months ago

I think we still have the timer object in axis code, which is likely not ideal and could possibly improved by using the new rendertick... But I haven't looked at the code in detail to know if it would improve things or is even easily possible.