Gtk build fail, Ubuntu 16.04, Julia v0.6.0

build
error

#1

I built Julia v0.6.0 from source on Ubuntu 16.04.
Then the first thing I try to do is to install Gtk, which fails,
the complete output and backtrace is given below.

I get the same error when I try with the latest binary release. The exact error message varies from time to time though,
sometimes the error is reported as

*** Error in `/home/skalet/lib/julia/usr/bin/julia': free(): invalid size: 0x00000000030d3160 ***

and sometimes as

*** Error in `/home/skalet/lib/julia/usr/bin/julia': double free or corruption (out): 0x00000000041d5b50 ***

if that is for any help.

I have not found anyone else getting this error, any ideas what the problem might be?

Pkg.add("Gtk");
INFO: Initializing package repository /home/skalet/.julia/v0.6
INFO: Cloning METADATA from https://github.com/JuliaLang/METADATA.jl
INFO: Cloning cache of BinDeps from https://github.com/JuliaLang/BinDeps.jl.git
INFO: Cloning cache of Cairo from https://github.com/JuliaGraphics/Cairo.jl.git
INFO: Cloning cache of ColorTypes from https://github.com/JuliaGraphics/ColorTypes.jl.git
INFO: Cloning cache of Colors from https://github.com/JuliaGraphics/Colors.jl.git
INFO: Cloning cache of Compat from https://github.com/JuliaLang/Compat.jl.git
INFO: Cloning cache of FixedPointNumbers from https://github.com/JuliaMath/FixedPointNumbers.jl.git
INFO: Cloning cache of Graphics from https://github.com/JuliaGraphics/Graphics.jl.git
INFO: Cloning cache of Gtk from https://github.com/JuliaGraphics/Gtk.jl.git
INFO: Cloning cache of NaNMath from https://github.com/mlubin/NaNMath.jl.git
INFO: Cloning cache of Reexport from https://github.com/simonster/Reexport.jl.git
INFO: Cloning cache of SHA from https://github.com/staticfloat/SHA.jl.git
INFO: Cloning cache of URIParser from https://github.com/JuliaWeb/URIParser.jl.git
INFO: Installing BinDeps v0.8.2
INFO: Installing Cairo v0.4.0
INFO: Installing ColorTypes v0.6.6
INFO: Installing Colors v0.8.2
INFO: Installing Compat v0.44.0
INFO: Installing FixedPointNumbers v0.4.3
INFO: Installing Graphics v0.2.0
INFO: Installing Gtk v0.13.1
INFO: Installing NaNMath v0.3.0
INFO: Installing Reexport v0.1.0
INFO: Installing SHA v0.5.2
INFO: Installing URIParser v0.3.0
INFO: Building Cairo
INFO: Building Gtk
*** Error in `/home/skalet/lib/julia/usr/bin/julia': double free or corruption (out): 0x00000000041d5b50 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fbb1d2c27e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7fbb1d2cb37a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7fbb1d2cf53c]
/usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9(_ZN6google8protobuf8internal28DestroyDefaultRepeatedFieldsEv+0x1f)[0x7fbaf9b9a49f]
/usr/lib/x86_64-linux-gnu/libprotobuf.so.9(_ZN6google8protobuf23ShutdownProtobufLibraryEv+0x8b)[0x7fbb1e38fb3b]
/usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3(+0x233b9)[0x7fbafa4743b9]
/lib64/ld-linux-x86-64.so.2(+0x16427)[0x7fbb1e9f8427]
/lib64/ld-linux-x86-64.so.2(+0x171fa)[0x7fbb1e9f91fa]
/lib64/ld-linux-x86-64.so.2(+0x10564)[0x7fbb1e9f2564]
/lib/x86_64-linux-gnu/libdl.so.2(+0x1571)[0x7fbb1da3b571]
/lib/x86_64-linux-gnu/libdl.so.2(dlclose+0x1f)[0x7fbb1da3afff]
[0x7fbb05d772bb]
[0x7fbb05d7807b]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(jl_invoke+0x11a)[0x7fbb1dc7a31a]
[0x7fbb05d6ca69]
[0x7fbb05d6cdbb]
[0x7fbb05d6d02e]
[0x7fbb05d6d72a]
[0x7fbb05d6ac91]
[0x7fbb05d6c999]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(jl_apply_generic+0x467)[0x7fbb1dc7a077]
[0x7fbb05d6a1bd]
[0x7fbb05d6a204]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(jl_apply_generic+0x467)[0x7fbb1dc7a077]
[0x7fbb05d65638]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x697b1)[0x7fbb1dca77b1]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x4513f)[0x7fbb1dc8313f]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(jl_load+0x63)[0x7fbb1dca78f3]
/home/skalet/lib/julia/usr/lib/julia/sys.so(+0x2a7e6f)[0x7fbb17eabe6f]
/home/skalet/lib/julia/usr/lib/julia/sys.so(+0x2a804c)[0x7fbb17eac04c]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(jl_apply_generic+0x467)[0x7fbb1dc7a077]
/home/skalet/lib/julia/usr/lib/julia/sys.so(+0x14b7f3)[0x7fbb17d4f7f3]
/home/skalet/lib/julia/usr/lib/julia/sys.so(+0x14b85c)[0x7fbb17d4f85c]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(jl_apply_generic+0x467)[0x7fbb1dc7a077]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x5090e)[0x7fbb1dc8e90e]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x4f90a)[0x7fbb1dc8d90a]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x50844)[0x7fbb1dc8e844]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x67c4b)[0x7fbb1dca5c4b]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x67d2d)[0x7fbb1dca5d2d]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(jl_toplevel_eval_in+0x126)[0x7fbb1dc88476]
[0x7fbb05d32d6d]
[0x7fbb05d33035]
[0x7fbb05d342e9]
[0x7fbb05d323a7]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(jl_apply_generic+0x467)[0x7fbb1dc7a077]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x5090e)[0x7fbb1dc8e90e]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x4f90a)[0x7fbb1dc8d90a]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x515c0)[0x7fbb1dc8f5c0]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x51d58)[0x7fbb1dc8fd58]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x67f4e)[0x7fbb1dca5f4e]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(+0x67d2d)[0x7fbb1dca5d2d]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(jl_toplevel_eval_in+0x126)[0x7fbb1dc88476]
/home/skalet/lib/julia/usr/lib/julia/sys.so(+0x27177a)[0x7fbb17e7577a]
/home/skalet/lib/julia/usr/lib/julia/sys.so(+0x271790)[0x7fbb17e75790]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(jl_apply_generic+0x467)[0x7fbb1dc7a077]
/home/skalet/lib/julia/usr/lib/julia/sys.so(+0x2b090b)[0x7fbb17eb490b]
/home/skalet/lib/julia/usr/lib/julia/sys.so(+0x2b30b3)[0x7fbb17eb70b3]
/home/skalet/lib/julia/usr/lib/julia/sys.so(+0x2b3b39)[0x7fbb17eb7b39]
/home/skalet/lib/julia/usr/bin/../lib/libjulia.so.0.6(jl_apply_generic+0x467)[0x7fbb1dc7a077]
/home/skalet/lib/julia/usr/bin/julia[0x401df1]
/home/skalet/lib/julia/usr/bin/julia[0x4015b3]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fbb1d26b830]
/home/skalet/lib/julia/usr/bin/julia[0x401669]
======= Memory map: ========
...
...
...
====== ( End Memory map ) =====
signal (6): Aborted
while loading /home/skalet/.julia/v0.6/Gtk/deps/build.jl, in expression starting on line 63
raise at /build/glibc-bfm8X4/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54
abort at /build/glibc-bfm8X4/glibc-2.23/stdlib/abort.c:89
__libc_message at /build/glibc-bfm8X4/glibc-2.23/libio/../sysdeps/posix/libc_fatal.c:175
malloc_printerr at /build/glibc-bfm8X4/glibc-2.23/malloc/malloc.c:5006 [inlined]
_int_free at /build/glibc-bfm8X4/glibc-2.23/malloc/malloc.c:3867
__libc_free at /build/glibc-bfm8X4/glibc-2.23/malloc/malloc.c:2968
_ZN6google8protobuf8internal28DestroyDefaultRepeatedFieldsEv at /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9 (unknown line)
_ZN6google8protobuf23ShutdownProtobufLibraryEv at /usr/lib/x86_64-linux-gnu/libprotobuf.so.9 (unknown line)
unknown function (ip: 0x7fbafa4743b8)
unknown function (ip: 0x7fbb1e9f8426)
unknown function (ip: 0x7fbb1e9f91f9)
unknown function (ip: 0x7fbb1e9f2563)
_dlerror_run at /build/glibc-bfm8X4/glibc-2.23/dlfcn/dlerror.c:163
__dlclose at /build/glibc-bfm8X4/glibc-2.23/dlfcn/dlclose.c:46
dlclose at ./libdl.jl:119 [inlined]
#_find_library#48 at /home/skalet/.julia/v0.6/BinDeps/src/dependencies.jl:679
unknown function (ip: 0x7fbb05d7807a)
jl_call_fptr_internal at /home/skalet/lib/julia/src/julia_internal.h:339 [inlined]
jl_call_method_internal at /home/skalet/lib/julia/src/julia_internal.h:358 [inlined]
jl_invoke at /home/skalet/lib/julia/src/gf.c:41
_find_library at /home/skalet/.julia/v0.6/BinDeps/src/dependencies.jl:641
next at ./generator.jl:45
collect_to! at ./array.jl:474
collect at ./array.jl:442
allf at /home/skalet/.julia/v0.6/BinDeps/src/dependencies.jl:804 [inlined]
satisfied_providers at /home/skalet/.julia/v0.6/BinDeps/src/dependencies.jl:806 [inlined]
satisfy! at /home/skalet/.julia/v0.6/BinDeps/src/dependencies.jl:872
unknown function (ip: 0x7fbb05d6c998)
jl_call_fptr_internal at /home/skalet/lib/julia/src/julia_internal.h:339 [inlined]
jl_call_method_internal at /home/skalet/lib/julia/src/julia_internal.h:358 [inlined]
jl_apply_generic at /home/skalet/lib/julia/src/gf.c:1933
satisfy! at /home/skalet/.julia/v0.6/BinDeps/src/dependencies.jl:872
unknown function (ip: 0x7fbb05d6a203)
jl_call_fptr_internal at /home/skalet/lib/julia/src/julia_internal.h:339 [inlined]
jl_call_method_internal at /home/skalet/lib/julia/src/julia_internal.h:358 [inlined]
jl_apply_generic at /home/skalet/lib/julia/src/gf.c:1933
macro expansion at /home/skalet/.julia/v0.6/BinDeps/src/dependencies.jl:975 [inlined]
anonymous at ./<missing> (unknown line)
jl_call_fptr_internal at /home/skalet/lib/julia/src/julia_internal.h:339 [inlined]
jl_call_method_internal at /home/skalet/lib/julia/src/julia_internal.h:358 [inlined]
jl_toplevel_eval_flex at /home/skalet/lib/julia/src/toplevel.c:589
jl_parse_eval_all at /home/skalet/lib/julia/src/ast.c:873
jl_load at /home/skalet/lib/julia/src/toplevel.c:616
include_from_node1 at ./loading.jl:569
unknown function (ip: 0x7fbb17eac04b)
jl_call_fptr_internal at /home/skalet/lib/julia/src/julia_internal.h:339 [inlined]
jl_call_method_internal at /home/skalet/lib/julia/src/julia_internal.h:358 [inlined]
jl_apply_generic at /home/skalet/lib/julia/src/gf.c:1933
include at ./sysimg.jl:14
unknown function (ip: 0x7fbb17d4f85b)
jl_call_fptr_internal at /home/skalet/lib/julia/src/julia_internal.h:339 [inlined]
jl_call_method_internal at /home/skalet/lib/julia/src/julia_internal.h:358 [inlined]
jl_apply_generic at /home/skalet/lib/julia/src/gf.c:1933
do_call at /home/skalet/lib/julia/src/interpreter.c:75
eval at /home/skalet/lib/julia/src/interpreter.c:242
jl_interpret_toplevel_expr at /home/skalet/lib/julia/src/interpreter.c:34
jl_toplevel_eval_flex at /home/skalet/lib/julia/src/toplevel.c:577
jl_toplevel_eval_flex at /home/skalet/lib/julia/src/toplevel.c:551
jl_toplevel_eval_in at /home/skalet/lib/julia/src/builtins.c:496
evalfile at ./loading.jl:603
cd at ./file.jl:70
#1 at ./none:11
open at ./iostream.jl:152
jl_call_fptr_internal at /home/skalet/lib/julia/src/julia_internal.h:339 [inlined]
jl_call_method_internal at /home/skalet/lib/julia/src/julia_internal.h:358 [inlined]
jl_apply_generic at /home/skalet/lib/julia/src/gf.c:1933
do_call at /home/skalet/lib/julia/src/interpreter.c:75
eval at /home/skalet/lib/julia/src/interpreter.c:242
eval_body at /home/skalet/lib/julia/src/interpreter.c:539
jl_interpret_toplevel_thunk at /home/skalet/lib/julia/src/interpreter.c:692
jl_toplevel_eval_flex at /home/skalet/lib/julia/src/toplevel.c:592
jl_toplevel_eval_flex at /home/skalet/lib/julia/src/toplevel.c:551
jl_toplevel_eval_in at /home/skalet/lib/julia/src/builtins.c:496
eval at ./boot.jl:235
unknown function (ip: 0x7fbb17e7578f)
jl_call_fptr_internal at /home/skalet/lib/julia/src/julia_internal.h:339 [inlined]
jl_call_method_internal at /home/skalet/lib/julia/src/julia_internal.h:358 [inlined]
jl_apply_generic at /home/skalet/lib/julia/src/gf.c:1933
process_options at ./client.jl:286
_start at ./client.jl:371
unknown function (ip: 0x7fbb17eb7b38)
jl_call_fptr_internal at /home/skalet/lib/julia/src/julia_internal.h:339 [inlined]
jl_call_method_internal at /home/skalet/lib/julia/src/julia_internal.h:358 [inlined]
jl_apply_generic at /home/skalet/lib/julia/src/gf.c:1933
jl_apply at /home/skalet/lib/julia/ui/../src/julia.h:1424 [inlined]
true_main at /home/skalet/lib/julia/ui/repl.c:127
main at /home/skalet/lib/julia/ui/repl.c:264
__libc_start_main at /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:291
unknown function (ip: 0x401668)
Allocations: 3023181 (Pool: 3021909; Big: 1272); GC: 4
ERROR: Build process failed.
build!(::Array{String,1}, ::Set{Any}, ::String) at ./pkg/entry.jl:627
build!(::Array{String,1}, ::Dict{Any,Any}, ::Set{Any}) at ./pkg/entry.jl:635
build(::Array{String,1}) at ./pkg/entry.jl:650
resolve(::Dict{String,Base.Pkg.Types.VersionSet}, ::Dict{String,Dict{VersionNumber,Base.Pkg.Types.Available}}, ::Dict{String,Tuple{VersionNumber,Bool}}, ::Dict{String,Base.Pkg.Types.Fixed}, ::Dict{String,VersionNumber}, ::Set{String}) at ./pkg/entry.jl:570
resolve(::Dict{String,Base.Pkg.Types.VersionSet}, ::Dict{String,Dict{VersionNumber,Base.Pkg.Types.Available}}, ::Dict{String,Tuple{VersionNumber,Bool}}, ::Dict{String,Base.Pkg.Types.Fixed}) at ./pkg/entry.jl:479
edit(::Function, ::String, ::Base.Pkg.Types.VersionSet, ::Vararg{Base.Pkg.Types.VersionSet,N} where N) at ./pkg/entry.jl:30
(::Base.Pkg.Entry.##1#3{String,Base.Pkg.Types.VersionSet})() at ./task.jl:335
Stacktrace:
 [1] sync_end() at ./task.jl:287
 [2] macro expansion at ./task.jl:303 [inlined]
 [3] add(::String, ::Base.Pkg.Types.VersionSet) at ./pkg/entry.jl:51
 [4] (::Base.Pkg.Dir.##4#7{Array{Any,1},Base.Pkg.Entry.#add,Tuple{String}})() at ./pkg/dir.jl:36
 [5] cd(::Base.Pkg.Dir.##4#7{Array{Any,1},Base.Pkg.Entry.#add,Tuple{String}}, ::String) at ./file.jl:70
 [6] #cd#1(::Array{Any,1}, ::Function, ::Function, ::String, ::Vararg{String,N} where N) at ./pkg/dir.jl:36
 [7] add(::String) at ./pkg/pkg.jl:117

#2

i have no clear answer, but you could reconsider building v0.6.0 and move to v0.6.2. In similar cases i build julia in debug - this creates a julia-dbg - and run this in gdb to see more output. From a first glance i’d see this as interaction of your display system (Mir?) and the terminal + julia REPL.


#3

so not a specific Gtk (and BinDeps) problem, but a julia problem showing up in this place.


#4

I do not see how this could not be a problem related to Gtk since I can successfully install many other libraries except this one.

Can you give the exact lines how to build Julia in debug mode please?
I have tried with make debug which gives an executable with name “julia”, not “julia-dbg”, so I guess there is some other way to build that.


#5

I think you are right, make debug builds also a julia as target - i think i mixed this up, because i rename it locally …