Skip to content

PackageCompiler.create_app() with Gtk creates an executable that segfaults #665

@andrewkerr9000

Description

@andrewkerr9000

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions