Skip to content

Unable to compile system image in Docker #296

@opus111

Description

@opus111

I was trying to build a Docker containing a custom system image. I created the image in my Dockerfile. Unfortunately it blows up

[ Info: Compiling system image...
Activating environment at `/tmp/tmp.pyjulia.sysimage.7sjkrpb1/Project.toml`
ERROR: LoadError: LoadError: 
signal (11): Segmentation fault
in expression starting at none:1
unknown function (ip: 0x7fc012b28bff)
_pycall! at /root/.julia/packages/PyCall/ttONZ/src/pyfncall.jl:29
_pycall! at /root/.julia/packages/PyCall/ttONZ/src/pyfncall.jl:11 [inlined]
#pycall#109 at /root/.julia/packages/PyCall/ttONZ/src/pyfncall.jl:83 [inlined]
pycall at /root/.julia/packages/PyCall/ttONZ/src/pyfncall.jl:83 [inlined]
show at /root/.julia/packages/PyCall/ttONZ/src/exception.jl:41
showerror at ./errorshow.jl:30 [inlined]
#626 at ./errorshow.jl:80
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2197
#with_output_color#674 at ./util.jl:366
with_output_color at ./util.jl:364
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2197
#showerror#625 at ./errorshow.jl:79
#showerror at ./none:0
unknown function (ip: 0x7fc015284d9b)
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2197
#showerror#628 at ./errorshow.jl:89
#showerror at ./none:0
unknown function (ip: 0x7fc01528413b)
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2191
#showerror#628 at ./errorshow.jl:89
#showerror at ./none:0
unknown function (ip: 0x7fc01528413b)
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2197
show_exception_stack at ./errorshow.jl:652
display_error at ./client.jl:110
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2197
display_error at ./client.jl:112
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2197
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1614 [inlined]
jl_f__apply at /buildworker/worker/package_linux64/build/src/builtins.c:563
jl_f__apply_latest at /buildworker/worker/package_linux64/build/src/builtins.c:601
#invokelatest#1 at ./essentials.jl:790 [inlined]
invokelatest at ./essentials.jl:789 [inlined]
exec_options at ./client.jl:297
_start at ./client.jl:464
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2197
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1614 [inlined]
jl_f__apply at /buildworker/worker/package_linux64/build/src/builtins.c:563
jl_f__apply_latest at /buildworker/worker/package_linux64/build/src/builtins.c:601
#invokelatest#1 at ./essentials.jl:790 [inlined]
invokelatest at ./essentials.jl:789
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2197
do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:323
eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:411
eval_stmt_value at /buildworker/worker/package_linux64/build/src/interpreter.c:362 [inlined]
eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:772
jl_interpret_toplevel_thunk_callback at /buildworker/worker/package_linux64/build/src/interpreter.c:884
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x7fc01806ad0f)
unknown function (ip: 0x1)
jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:893
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:815
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:764
jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/toplevel.c:844
jl_eval_string at /buildworker/worker/package_linux64/build/src/jlapi.c:94
ffi_call_unix64 at /usr/lib/x86_64-linux-gnu/libffi.so.6 (unknown line)
ffi_call at /usr/lib/x86_64-linux-gnu/libffi.so.6 (unknown line)
_ctypes_callproc at /usr/lib/python3.7/lib-dynload/_ctypes.cpython-37m-x86_64-linux-gnu.so (unknown line)
unknown function (ip: 0x7fc02807f683)
_PyObject_FastCallKeywords at /usr/bin/python3 (unknown line)
unknown function (ip: 0x54aec0)
_PyEval_EvalFrameDefault at /usr/bin/python3 (unknown line)
_PyEval_EvalCodeWithName at /usr/bin/python3 (unknown line)
_PyFunction_FastCallDict at /usr/bin/python3 (unknown line)
_PyEval_EvalFrameDefault at /usr/bin/python3 (unknown line)
_PyEval_EvalCodeWithName at /usr/bin/python3 (unknown line)
_PyFunction_FastCallKeywords at /usr/bin/python3 (unknown line)
_PyEval_EvalFrameDefault at /usr/bin/python3 (unknown line)
_PyEval_EvalCodeWithName at /usr/bin/python3 (unknown line)
PyEval_EvalCode at /usr/bin/python3 (unknown line)
unknown function (ip: 0x630af1)
PyRun_FileExFlags at /usr/bin/python3 (unknown line)
PyRun_SimpleFileExFlags at /usr/bin/python3 (unknown line)
unknown function (ip: 0x653f7d)
_Py_UnixMain at /usr/bin/python3 (unknown line)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
_start at /usr/bin/python3 (unknown line)
Allocations: 7688631 (Pool: 7686558; Big: 2073); GC: 16
ERROR: LoadError: failed process: Process(`/usr/bin/julia-py --optimize=3 --output-o=/root/.julia/packages/PackageCompiler/4yNnV/sysimg/sys.a -g1 --track-allocation=none --startup-file=no --code-coverage=none --history-file=yes --inline=yes --math-mode=ieee --handle-signals=yes --warn-overwrite=no --compile=yes --depwarn=yes --cpu-target=native --track-allocation=none --sysimage-native-code=yes --sysimage=/usr/local/julia/lib/julia/sys.so -g1 --compiled-modules=yes --optimize=2 /root/.julia/packages/PackageCompiler/4yNnV/sysimg/run_julia_code.jl`, ProcessSignaled(11)) [0]

Stacktrace:
 [1] pipeline_error at ./process.jl:813 [inlined]
 [2] #run#536(::Bool, ::typeof(run), ::Cmd) at ./process.jl:728
 [3] #run_julia#1 at ./process.jl:726 [inlined]
 [4] #run_julia at ./none:0 [inlined]
 [5] #compile_incremental#62(::Bool, ::Bool, ::Bool, ::Nothing, ::typeof(compile_incremental), ::String, ::String) at /root/.julia/packages/PackageCompiler/4yNnV/src/incremental.jl:137
 [6] compile_incremental(::String, ::String) at /root/.julia/packages/PackageCompiler/4yNnV/src/incremental.jl:134
 [7] top-level scope at /usr/local/lib/python3.7/dist-packages/julia/compile.jl:27
 [8] include at ./boot.jl:328 [inlined]
 [9] include_relative(::Module, ::String) at ./loading.jl:1094
 [10] include(::Module, ::String) at ./Base.jl:31
 [11] exec_options(::Base.JLOptions) at ./client.jl:295
 [12] _start() at ./client.jl:464
 [13] #invokelatest#1 at ./essentials.jl:790 [inlined]
 [14] invokelatest(::Any) at ./essentials.jl:789
 [15] top-level scope at none:1
in expression starting at /usr/local/lib/python3.7/dist-packages/julia/compile.jl:27
Command '['/usr/bin/julia-py', '--julia', 'julia', '/usr/local/lib/python3.7/dist-packages/julia/compile.jl', '/tmp/tmp.pyjulia.sysimage.7sjkrpb1/compiler_env', '/usr/local/lib/python3.7/dist-packages/julia/precompile.jl', '/app/bug.so']' returned non-zero exit status 1.
The command '/bin/sh -c python3 -m julia.sysimage  /app/bug.so' returned a non-zero code: 1

Dockerfile to recreate problem

FROM julia:latest

WORKDIR /app

RUN apt-get update
RUN apt-get install python3 python3-pip -y
RUN pip3 install --upgrade pip

RUN python3 -m pip install julia
RUN python3 -c "import julia; julia.install()"

RUN cp -r /usr/local/bin/* /usr/bin
RUN python3 -m julia.sysimage  /app/bug.so

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