StackOverflowError after unchecking all labels
Problem: the GUI crashes with:
StackOverflowError:
Stacktrace:
...
[48] (::LarvaTagger.var"#46#51"{LarvaTagger.ControllerHub, LarvaTagger.TimeController, Observables.Observable{String}, Observables.Observable{Vector{GeometryBasics.Point{2, Float32}}}, Observables.Observable{Bool}, Observables.Observable{LarvaTagger.LarvaModel}, Symbol})(larva::LarvaTagger.LarvaModel, timestep::Int64, tag_lut::Vector{LarvaTagger.ObservableTag}, usertags::Observables.Observable{Dict{Int64, Vector{LarvaTagger.ObservableTag}}})
@ LarvaTagger ~/Projects/Nyx/LarvaTagger/src/plots.jl:202
...
[53] (::LarvaTagger.var"#244#253"{LarvaTagger.TagController, Bool, Observables.Observable{Vector{Tuple{String, Observables.Observable{Bool}}}}, Observables.Observable{Vector{LarvaTagger.ObservableTag}}})(timestep::Int64, id::Int16, #unused#::Bool, #unused#::Vector{LarvaTagger.ObservableTag}, multitag::Bool)
@ LarvaTagger ~/Projects/Nyx/LarvaTagger/src/wgl.jl:753
...
[58] (::LarvaTagger.var"#242#251"{Observables.Observable{Bool}, Observables.Observable{Vector{Tuple{String, Observables.Observable{Bool}}}}, Vector{Observables.Observable{Bool}}})(names::Vector{String})
@ LarvaTagger ~/Projects/Nyx/LarvaTagger/src/wgl.jl:738
...
[63] (::LarvaTagger.var"#241#250"{Observables.Observable{Vector{String}}, LarvaTagger.var"#getnames#247"})(tags::Vector{LarvaTagger.ObservableTag})
@ LarvaTagger ~/Projects/Nyx/LarvaTagger/src/wgl.jl:715
--- the last 14 lines are repeated 2071 more times ---
...
[29061] (::LarvaTagger.var"#130#134"{LarvaTagger.ControllerHub})(#unused#::Bool, #unused#::String, #unused#::String)
@ LarvaTagger ~/Projects/Nyx/LarvaTagger/src/controllers.jl:384
Steps to reproduce: open a trx.mat file (e.g. with larvatagger.jl open
), select a larva and uncheck all behavior tags in the Tags panel. Any further interaction that causes the 2D view to be redrawn triggers the above error. For example, pressing the Play/Pause button, or zooming in.
A big thank-you to Ben Jones for the bug report.