I am trying to determine what GUI toolkit to use in Julia. I want to avoid pursuing a toolkit which is unstable and prone to crashes forcing me to switch toolkit midstream.
I am interested in using Gtk but I know from the past that it has often not been great on macOS. I get simple toy examples to work fine, but I am uncertain about how stable things will be with more complex GUIs. E.g. I have noticed that Glade UI builder which I installed through Homebrew is prone to crashing very easily.
My worry is that this is not merely a Glade problem but an underlying problem with Gtk, which I will hit as well as I build a more complex solution. Can anyone who has used Gtk on macOS verify whether Gtk works well?
If it doesn’t what is the recommended solution which is most mature and stable?
I am including description of my Glade errors. While not related directly to Julia, it may inform you whether this is a general problem with Gtk on Mac or likely Glade specific.
In the console I get this when a crash happens:
$ GladeUI-Message: 16:16:54.601: Glade needs artwork; a default icon will be used for the following classes:
    GtkFileChooserNative    needs an icon named 'widget-gtk-filechoosernative'
    GtkApplicationWindow    needs an icon named 'widget-gtk-applicationwindow'
    GThemedIcon needs an icon named 'widget-gtk-themedicon'
    GFileIcon   needs an icon named 'widget-gtk-fileicon'
    GladeInstantiableGtkBin needs an icon named 'widget-gtk-bin'
GladeUI-Message: 16:16:54.633: No DevHelp installed on your system, devhelp feature will be disabled.
** Message: 16:16:55.237: No TLS support in GIO, Registration & User Survey disabled. (missing glib-networking package)
fish: 'glade &' terminated by signal SIGSEGV (Address boundary error)
While the Apple Problem report dialog gives the following info (I have just extracted what I thought might be useful):
Crashed Thread:        0
Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x00000001112337d8
Exception Note:        EXC_CORPSE_NOTIFY
Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [15386]
VM Regions Near 0x1112337d8:
    CoreAnimation               10d297000-10d434000    [ 1652K] rw-/rwx SM=PRV  
--> 
    STACK GUARD              70000291a000-70000291b000 [    4K] ---/rwx SM=NUL  stack guard for thread 1
Thread 0 Crashed:
0   libobjc.A.dylib                 0x00007fff202837a9 0x7fff2027d000 + 26537
1   libgdk-3.0.dylib                0x0000000101146ec0 _gdk_quartz_display_queue_events + 1360
2   libgdk-3.0.dylib                0x000000010114987a gdk_event_dispatch + 26
3   libglib-2.0.0.dylib             0x000000010087603e g_main_context_dispatch + 366
4   libglib-2.0.0.dylib             0x00000001008763bd g_main_context_iterate + 525
5   libglib-2.0.0.dylib             0x0000000100876702 g_main_loop_run + 258
6   libgtk-3.0.dylib                0x0000000100a4b74e gtk_dialog_run + 350
7   glade