Using an existing minimal example intended to demonstrate Gtk based Julia apps:
https://github.com/andrewkerr9000/GUIAppExample.jl/tree/master/example/CountClick
I don't know whether this issue would belong with Gtk, one of its dependencies, or PackageCompiler.
create_app does work as expected with Julia 1.4.2+0.x64 (and PackageCompiler 1.4.1, Gtk 3.24.29)
create_app creates a segfaulting app using Julia 1.8.0+0.x64 on Linux, installed via juliaup 1.7.22
Dependencies have been updated from original using ]update. Those dependencies are PackageCompiler (to 2.0.9) and Gtk (to 3.24.31). See log.
Running the app from source works as expected. i.e.:
cd here
julia --project
using CountClick
CountClick.julia_main()
However, creating an app from that directory:
using PackageCompiler
create_app("","target")
creates an app that segfaults when run:
Gtk-Message: 16:38:10.784: Failed to load module "canberra-gtk-module"
Gtk-Message: 16:38:10.803: Failed to load module "colorreload-gtk-module"
Gtk-Message: 16:38:10.803: Failed to load module "window-decorations-gtk-module"
(CountClick:32093): GLib-GObject-CRITICAL **: 16:38:10.853: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed
(CountClick:32093): GLib-CRITICAL **: 16:38:10.853: g_once_init_leave: assertion 'result != 0' failed
(CountClick:32093): GLib-GObject-CRITICAL **: 16:38:10.853: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed
(CountClick:32093): GLib-CRITICAL **: 16:38:10.853: g_once_init_leave: assertion 'result != 0' failed
(CountClick:32093): GLib-GObject-CRITICAL **: 16:38:10.854: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed
(CountClick:32093): GLib-CRITICAL **: 16:38:10.854: g_once_init_leave: assertion 'result != 0' failed
signal (11): Segmentation fault
in expression starting at none:1
ijl_subtype_env at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/subtype.c:1857
gc_ref at /home/<username>/.julia/packages/Gtk/OyCvN/src/GLib/gtype.jl:351
gc_ref_closure at /home/<username>/.julia/packages/Gtk/OyCvN/src/GLib/gtype.jl:371 [inlined]
_signal_connect at /home/<username>/.julia/packages/Gtk/OyCvN/src/GLib/signals.jl:42
signal_connect at /home/<username>/.julia/packages/Gtk/OyCvN/src/GLib/signals.jl:27 [inlined]
signal_connect at /home/<username>/.julia/packages/Gtk/OyCvN/src/GLib/signals.jl:27 [inlined]
handle_auto_idle at /home/<username>/.julia/packages/Gtk/OyCvN/src/base.jl:26 [inlined]
showall at /home/<username>/.julia/packages/Gtk/OyCvN/src/base.jl:51 [inlined]
julia_main at /home/<username>/code/GUIAppExample.jl/example/CountClick/Compile/CountClick/src/CountClick.jl:24
jfptr_julia_main_47207.clone_1 at /home/<username>/code/GUIAppExample.jl/example/CountClick/Compile/CountClick/target/lib/julia/sys.so (unknown line)
_jl_invoke at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2367 [inlined]
ijl_apply_generic at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/gf.c:2549
jl_apply at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/julia.h:1838 [inlined]
do_call at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:126
eval_value at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:215
eval_stmt_value at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:166 [inlined]
eval_body at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:612
jl_interpret_toplevel_thunk at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/interpreter.c:750
jl_toplevel_eval_flex at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:906
jl_toplevel_eval_flex at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:850
ijl_toplevel_eval_in at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/toplevel.c:965
ijl_eval_string at /cache/build/default-amdci4-3/julialang/julia-release-1-dot-8/src/jlapi.c:115
checked_eval_string at ./target/bin/CountClick (unknown line)
main at ./target/bin/CountClick (unknown line)
__libc_start_call_main at /lib64/libc.so.6 (unknown line)
__libc_start_main at /lib64/libc.so.6 (unknown line)
unknown function (ip: 0x402464)
Allocations: 874600 (Pool: 874115; Big: 485); GC: 1
Segmentation fault (core dumped)
Using an existing minimal example intended to demonstrate Gtk based Julia apps:
https://github.com/andrewkerr9000/GUIAppExample.jl/tree/master/example/CountClick
I don't know whether this issue would belong with Gtk, one of its dependencies, or PackageCompiler.
create_app does work as expected with Julia 1.4.2+0.x64 (and PackageCompiler 1.4.1, Gtk 3.24.29)
create_app creates a segfaulting app using Julia 1.8.0+0.x64 on Linux, installed via juliaup 1.7.22
Dependencies have been updated from original using
]update. Those dependencies arePackageCompiler(to 2.0.9) andGtk(to 3.24.31). See log.Running the app from source works as expected. i.e.:
cd here
julia --projectusing CountClickCountClick.julia_main()However, creating an app from that directory:
using PackageCompilercreate_app("","target")creates an app that segfaults when run: