Gtk.jl
Gtk.jl copied to clipboard
sigatomic_end called in non-sigatomic region
MacOS 14.0, M1Max chip Gtk.jl v1.3.0
I get this error when calling dataFileName = open_dialog_native("Pick a file", GtkNullContainer() ), but only when I'm using the VScode debugger. If I'm not using the debugger, I do not get the crash, but I only have a 50% chance the file dialog will allow me to select a file.
Edit: this sounds like #664 and #691
┌ Warning: Executing yield:
└ @ Gtk.GLib ~/.julia/packages/Gtk/oo3cW/src/GLib/signals.jl:106
ERROR: sigatomic_end called in non-sigatomic region
Stacktrace:
[1] sigatomic_end
@ ./c.jl:452 [inlined]
[2] g_siginterruptible(f::typeof(yield), cb::Any)
@ Gtk.GLib ~/.julia/packages/Gtk/oo3cW/src/GLib/signals.jl:214
[3] g_yield(data::UInt64)
@ Gtk.GLib ~/.julia/packages/Gtk/oo3cW/src/GLib/signals.jl:237
[4] uv_dispatch(src::Ptr{Nothing}, callback::Ptr{Nothing}, data::Int64)
@ Gtk.GLib ~/.julia/packages/Gtk/oo3cW/src/GLib/signals.jl:333
[5] var"##compiled_ccall#311"(arg1::Ptr{GObject}, arg2::GtkFileChooserNativeLeaf)
@ VSCodeDebugger.JuliaInterpreter.CompiledCalls ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/optimize.jl:346
[6] invoke_in_world(::UInt64, ::Any, ::Any, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Base ./essentials.jl:850
[7] invoke_in_world(::UInt64, ::Any, ::Any, ::Vararg{Any})
@ Base ./essentials.jl:847
[8] bypass_builtins(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, call_expr::Expr, pc::Int64)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:195
[9] evaluate_call_recurse!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, call_expr::Expr; enter_generated::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:222
[10] evaluate_call_recurse!
@ ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:220 [inlined]
[11] eval_rhs(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, node::Expr)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:393
[12] step_expr!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, node::Any, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:547
[13] step_expr!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:597
[14] finish!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:14
[15] finish_and_return!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:30
[16] evaluate_call_recurse!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, call_expr::Expr; enter_generated::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:260
[17] evaluate_call_recurse!
@ ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:220 [inlined]
[18] eval_rhs(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, node::Expr)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:393
[19] step_expr!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, node::Any, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:468
[20] step_expr!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:597
[21] finish!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:14
[22] finish_and_return!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:30
[23] evaluate_call_recurse!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, call_expr::Expr; enter_generated::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:260
--- the last 14 lines are repeated 1 more time ---
[38] evaluate_call_recurse!
@ ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:220 [inlined]
[39] eval_rhs(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, node::Expr)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:393
[40] step_expr!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, node::Any, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:547
[41] step_expr!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:597
[42] finish!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:14
[43] finish_and_return!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:30
[44] evaluate_call_recurse!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, call_expr::Expr; enter_generated::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:260
--- the last 7 lines are repeated 1 more time ---
[52] evaluate_call_recurse!
@ ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:220 [inlined]
[53] eval_rhs(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, node::Expr)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:393
[54] step_expr!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, node::Any, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:468
[55] step_expr!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:597
[56] finish!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:14
[57] finish_and_return!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:30
[58] evaluate_call_recurse!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, call_expr::Expr; enter_generated::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:260
[59] evaluate_call_recurse!
@ ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:220 [inlined]
[60] eval_rhs(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, node::Expr)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:393
[61] step_expr!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, node::Any, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:542
[62] step_expr!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/interpret.jl:597
[63] finish!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:14
[64] finish_and_return!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, istoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:30
[65] finish_stack!(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, rootistoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:60
[66] debug_command(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, cmd::Symbol, rootistoplevel::Bool; line::Nothing)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:516
[67] debug_command(recurse::Any, frame::VSCodeDebugger.JuliaInterpreter.Frame, cmd::Symbol, rootistoplevel::Bool)
@ VSCodeDebugger.JuliaInterpreter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/JuliaInterpreter/src/commands.jl:448
[68] #invokelatest#2
@ ./essentials.jl:816 [inlined]
[69] invokelatest
@ ./essentials.jl:813 [inlined]
[70] our_debug_command(cmd::Symbol, state::VSCodeDebugger.DebugAdapter.DebuggerState)
@ VSCodeDebugger.DebugAdapter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/DebugAdapter/src/debugger_core.jl:67
[71] startdebug(socket::Base.PipeEndpoint, error_handler::VSCodeDebugger.var"#3#4"{Tuple{String, String}})
@ VSCodeDebugger.DebugAdapter ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/DebugAdapter/src/packagedef.jl:106
[72] startdebugger()
@ VSCodeDebugger ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/packages/VSCodeDebugger/src/VSCodeDebugger.jl:43
[73] top-level scope
@ ~/.vscode/extensions/julialang.language-julia-1.54.2/scripts/debugger/run_debugger.jl:10
[74] include(mod::Module, _path::String)
@ Base ./Base.jl:457
[75] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:307
As it turns out, Gtk is the source of this GLMakie crash. If I comment out my open_dialog_native() function call, and instead hardwire the filename into my code, the GLMakie crash goes away.
It might be related to this issue.