-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
signal (4): Illegal instruction #74
Comments
Run the following commands in a terminal: docker rm $(docker ps -a -q)
docker rmi $(docker images -q)
docker rmi $(docker images -q) --force Then try again and see if you can still reproduce the issue. |
I tried and the same error persists. |
Hmmm. How much memory (RAM) is Docker Desktop allowed to use? |
I am having trouble reproducing this. Can you reproduce this on two different machines? |
Can you reproduce this on two different machines? Or is this bug only present on a single machine? |
Also, can you try with |
It might be my package's problem. I can create images with either |
Let's try something more complicated. Try creating an image with Also, what is the package you are trying to use? Can you share a link to the package's repository? |
It's EquationsOfState.jl. You can try the latest release. |
I can't. I tried twice, same error.
|
Try this example: import SimpleContainerGenerator
mkpath("my_image_name")
cd("my_image_name")
pkgs = [
"GLM",
]
SimpleContainerGenerator.create_dockerfile(pkgs, pwd(); julia_version = v"1.4.0", no_test = String["GLM"])
run(`docker build -t my_docker_username/my_image_name .`) |
Same error here. |
I am not able to reproduce this. Are you able to reproduce this error on two or more different machines? Or does the error only occur on one machine? |
It occurs on two of my macs, 1 MacBook, 1 iMac. But they have similar settings, so I am not sure whether that counts 2. |
Can you post details of the CPUs in each of those machines? |
Can you try this example and post the output: import SimpleContainerGenerator
mkpath("my_image_name")
cd("my_image_name")
pkgs = [
"GLM",
]
SimpleContainerGenerator.create_dockerfile(pkgs, pwd(); julia_version = "nightly", no_test = String["GLM"])
run(`docker build -t my_docker_username/my_image_name .`) |
It works: Successfully tagged my_docker_username/my_image_name:latest
Process(`docker build -t my_docker_username/my_image_name .`, ProcessExited(0)) |
Now try this: import SimpleContainerGenerator
mkpath("my_image_name")
cd("my_image_name")
pkgs = [
"GLM",
]
SimpleContainerGenerator.create_dockerfile(pkgs, pwd(); julia_version = "nightly")
run(`docker build -t my_docker_username/my_image_name .`) |
errors: Step 63/80 : RUN cd /tmp && SIMPLECONTAINERGENERATOR_CONTAINER_NO_TEMP_DEPOT="true" /usr/bin/no_sysimage_julia /opt/simplecontainergenerator_containers/packagecompiler_run.jl
---> Running in d3d8c791a32c
The length of pkgnames_symbols is 80
The length of pkgnames_nonstdlib_symbols is 51
The length of pkgnames_stdlib_symbols is 29
pkgnames_symbols: (n = 80)
1. Arpack
2. Arpack_jll
3. Base64
4. CRC32c
5. CSV
6. CategoricalArrays
7. CodecZlib
8. Compat
9. CompilerSupportLibraries_jll
10. DataAPI
11. DataFrames
12. DataStructures
13. DataValueInterfaces
14. Dates
15. DelimitedFiles
16. Distributed
17. Distributions
18. ExprTools
19. EzXML
20. FileIO
21. FilePathsBase
22. FileWatching
23. FillArrays
24. Future
25. GLM
26. InteractiveUtils
27. InvertedIndices
28. IteratorInterfaceExtensions
29. JSON
30. LibGit2
31. Libdl
32. Libiconv_jll
33. LinearAlgebra
34. Logging
35. Markdown
36. Missings
37. Mmap
38. Mocking
39. OpenBLAS_jll
40. OpenSpecFun_jll
41. OrderedCollections
42. PDMats
43. Parsers
44. Pkg
45. PooledArrays
46. Printf
47. Profile
48. QuadGK
49. RData
50. RDatasets
51. REPL
52. Random
53. RecipesBase
54. Reexport
55. Requires
56. Rmath
57. Rmath_jll
58. SHA
59. Serialization
60. SharedArrays
61. ShiftedArrays
62. Sockets
63. SortingAlgorithms
64. SparseArrays
65. SpecialFunctions
66. Statistics
67. StatsBase
68. StatsFuns
69. StatsModels
70. SuiteSparse
71. TableTraits
72. Tables
73. Test
74. TimeZones
75. TranscodingStreams
76. UUIDs
77. Unicode
78. WeakRefStrings
79. XML2_jll
80. Zlib_jll
pkgnames_nonstdlib_symbols: (n = 51)
1. Arpack
2. Arpack_jll
3. CSV
4. CategoricalArrays
5. CodecZlib
6. Compat
7. CompilerSupportLibraries_jll
8. DataAPI
9. DataFrames
10. DataStructures
11. DataValueInterfaces
12. Distributions
13. ExprTools
14. EzXML
15. FileIO
16. FilePathsBase
17. FillArrays
18. GLM
19. InvertedIndices
20. IteratorInterfaceExtensions
21. JSON
22. Libiconv_jll
23. Missings
24. Mocking
25. OpenBLAS_jll
26. OpenSpecFun_jll
27. OrderedCollections
28. PDMats
29. Parsers
30. PooledArrays
31. QuadGK
32. RData
33. RDatasets
34. RecipesBase
35. Reexport
36. Requires
37. Rmath
38. Rmath_jll
39. ShiftedArrays
40. SortingAlgorithms
41. SpecialFunctions
42. StatsBase
43. StatsFuns
44. StatsModels
45. TableTraits
46. Tables
47. TimeZones
48. TranscodingStreams
49. WeakRefStrings
50. XML2_jll
51. Zlib_jll
pkgnames_stdlib_symbols: (n = 29)
1. Base64
2. CRC32c
3. Dates
4. DelimitedFiles
5. Distributed
6. FileWatching
7. Future
8. InteractiveUtils
9. LibGit2
10. Libdl
11. LinearAlgebra
12. Logging
13. Markdown
14. Mmap
15. Pkg
16. Printf
17. Profile
18. REPL
19. Random
20. SHA
21. Serialization
22. SharedArrays
23. Sockets
24. SparseArrays
25. Statistics
26. SuiteSparse
27. Test
28. UUIDs
29. Unicode
[ Info: PackageCompiler: creating system image object file, this might take a while...
FATAL ERROR: Symbol "ccalllib_libRmath-julia.so40135"not found
signal (6): Aborted
in expression starting at none:0
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
addModule at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:640
jl_add_to_ee at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:893 [inlined]
jl_add_to_ee at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:901
_jl_compile_codeinst at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:102
jl_generate_fptr at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:302
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:1994
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:1945 [inlined]
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2255 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
walk_to_defs at ./compiler/ssair/passes.jl:228
getfield_elim_pass! at ./compiler/ssair/passes.jl:670
run_passes at ./compiler/ssair/driver.jl:143
optimize at ./compiler/optimize.jl:176
typeinf at ./compiler/typeinfer.jl:33
typeinf_ext at ./compiler/typeinfer.jl:589
typeinf_ext_toplevel at ./compiler/typeinfer.jl:622
typeinf_ext_toplevel at ./compiler/typeinfer.jl:618
unknown function (ip: 0x7ff909203875)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2245 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2429
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1701 [inlined]
jl_type_infer at /buildworker/worker/package_linux64/build/src/gf.c:300
jl_ci_cache_lookup at /buildworker/worker/package_linux64/build/src/aotcompile.cpp:270 [inlined]
jl_create_native at /buildworker/worker/package_linux64/build/src/aotcompile.cpp:325
jl_precompile at /buildworker/worker/package_linux64/build/src/precompile.c:408
jl_write_compiler_output at /buildworker/worker/package_linux64/build/src/precompile.c:33
jl_atexit_hook at /buildworker/worker/package_linux64/build/src/init.c:218
main at /buildworker/worker/package_linux64/build/ui/repl.c:228
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
_start at /opt/bin/julia (unknown line)
Allocations: 242519561 (Pool: 242433980; Big: 85581); GC: 243
ERROR: LoadError: failed process: Process(`/opt/bin/julia --color=yes --startup-file=no '--cpu-target=generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1);native' --sysimage=/opt/lib/julia/sys.so --project=/opt/simplecontainergenerator_containers/julia_project --output-o=/tmp/jl_ZhRgLI.o -e 'Base.reinit_stdio()
@eval Sys BINDIR = ccall(:jl_get_julia_bindir, Any, ())::String
Base.init_load_path()
Base.init_depot_path()
using Arpack
using Arpack_jll
using Base64
using CRC32c
using CSV
using CategoricalArrays
using CodecZlib
using Compat
using CompilerSupportLibraries_jll
using DataAPI
using DataFrames
using DataStructures
using DataValueInterfaces
using Dates
using DelimitedFiles
using Distributed
using Distributions
using ExprTools
using EzXML
using FileIO
using FilePathsBase
using FileWatching
using FillArrays
using Future
using GLM
using InteractiveUtils
using InvertedIndices
using IteratorInterfaceExtensions
using JSON
using LibGit2
using Libdl
using Libiconv_jll
using LinearAlgebra
using Logging
using Markdown
using Missings
using Mmap
using Mocking
using OpenBLAS_jll
using OpenSpecFun_jll
using OrderedCollections
using PDMats
using Parsers
using Pkg
using PooledArrays
using Printf
using Profile
using QuadGK
using RData
using RDatasets
using REPL
using Random
using RecipesBase
using Reexport
using Requires
using Rmath
using Rmath_jll
using SHA
using Serialization
using SharedArrays
using ShiftedArrays
using Sockets
using SortingAlgorithms
using SparseArrays
using SpecialFunctions
using Statistics
using StatsBase
using StatsFuns
using StatsModels
using SuiteSparse
using TableTraits
using Tables
using Test
using TimeZones
using TranscodingStreams
using UUIDs
using Unicode
using WeakRefStrings
using XML2_jll
using Zlib_jll
# This @eval prevents symbols from being put into Main
@eval Module() begin
PrecompileStagingArea = Module()
for (_pkgid, _mod) in Base.loaded_modules
if !(_pkgid.name in ("Main", "Core", "Base"))
eval(PrecompileStagingArea, :(const $(Symbol(_mod)) = $_mod))
end
end
precompile_statements = String[]
append!(precompile_statements, readlines("/tmp/jl_zuztVI"))
for statement in sort(precompile_statements)
# println(statement)
try
Base.include_string(PrecompileStagingArea, statement)
catch
# See julia issue #28808
@debug "failed to execute $statement"
end
end
end # module
empty!(LOAD_PATH)
empty!(DEPOT_PATH)
'`, ProcessSignaled(6)) [0]
Stacktrace:
[1] pipeline_error at ./process.jl:525 [inlined]
[2] run(::Cmd; wait::Bool) at ./process.jl:440
[3] run at ./process.jl:438 [inlined]
[4] create_sysimg_object_file(::String, ::Array{String,1}; project::String, base_sysimage::String, precompile_execution_file::Array{String,1}, precompile_statements_file::Array{String,1}, cpu_target::String, script::Nothing, isapp::Bool) at /opt/simplecontainergenerator_containers/packagecompiler_depot/packages/PackageCompiler/xtztx/src/PackageCompiler.jl:292
[5] create_sysimage(::Array{Symbol,1}; sysimage_path::String, project::String, precompile_execution_file::String, precompile_statements_file::Array{String,1}, incremental::Bool, filter_stdlibs::Bool, replace_default::Bool, cpu_target::String, script::Nothing, base_sysimage::Nothing, isapp::Bool) at /opt/simplecontainergenerator_containers/packagecompiler_depot/packages/PackageCompiler/xtztx/src/PackageCompiler.jl:423
[6] top-level scope at /opt/simplecontainergenerator_containers/packagecompiler_run.jl:47
in expression starting at /opt/simplecontainergenerator_containers/packagecompiler_run.jl:46
The command '/bin/sh -c cd /tmp && SIMPLECONTAINERGENERATOR_CONTAINER_NO_TEMP_DEPOT="true" /usr/bin/no_sysimage_julia /opt/simplecontainergenerator_containers/packagecompiler_run.jl' returned a non-zero code: 1
ERROR: failed process: Process(`docker build -t my_docker_username/my_image_name .`, ProcessExited(1)) [1]
Stacktrace:
[1] pipeline_error
@ Base /Applications/Julia-1.5.app/Contents/Resources/julia/bin/../share/julia/base/process.jl:525 [inlined]
[2] #run#592(wait::Bool, ::typeof(run), cmds::Cmd)
@ Base /Applications/Julia-1.5.app/Contents/Resources/julia/bin/../share/julia/base/process.jl:440
[3] run(cmds::Cmd)
@ Base /Applications/Julia-1.5.app/Contents/Resources/julia/bin/../share/julia/base/process.jl:438
[4] top-level scope
@ REPL[6]:1 |
Ah that's a different error, one specific to GLM.jl. What package were you trying to compile? EquationsOfState.jl, right? Can you try this example and post the output: import SimpleContainerGenerator
mkpath("my_image_name")
cd("my_image_name")
pkgs = [
"EquationsOfState",
]
SimpleContainerGenerator.create_dockerfile(pkgs, pwd(); julia_version = "nightly", no_test = String["EquationsOfState"])
run(`docker build -t my_docker_username/my_image_name .`) |
It seems to work: Successfully built 7b13281b70b8
Successfully tagged my_docker_username/my_image_name:latest
Process(`docker build -t my_docker_username/my_image_name .`, ProcessExited(0)) |
Awesome. So I figured out what this bug is. Basically, for this bug to happen, you need three parts to happen together:
If all three of those parts happen together, then we get this bug. You are using Docker for Mac, which includes a virtualization layer, so that meets part 2. Your Xeon is Skylake and your i9 is Coffee Lake, so that meets part 3. Julia 1.4 has an old version of OpenBLAS that has this bug, so using Julia 1.4 fulfills part 1. So on Julia 1.4, all three necessary pieces are met, so we see this bug. Fortunately, Julia 1.5/Julia 1.6/Julia nightly/Julia master have a newer version of OpenBLAS that fixes this bug. So when you use Julia nightly, part 1 is not met, so the bug does not occur. For now, your solution will be to set:
Once Julia 1.5 has been released, you can instead set:
Does that make sense? If so, let me know, and I will close this issue, since it seems that you are now able to successfully build a Docker image with the EquationsOfState.jl package. |
Related discussions: |
Great! Thank you! |
Thank you for your patience! |
I cannot even run the first example:
The error is from the last step:
I suspected because
docker
does not have full-disk access on macOS. But this error still occurs after I gave it.on macOS 10.15.4.
The text was updated successfully, but these errors were encountered: