Skip to content
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

Precompilation with Unitful segfaults #29673

Closed
cstjean opened this issue Oct 16, 2018 · 7 comments
Closed

Precompilation with Unitful segfaults #29673

cstjean opened this issue Oct 16, 2018 · 7 comments
Assignees
Labels
bug Indicates an unexpected problem or unintended behavior compiler:precompilation Precompilation of modules

Comments

@cstjean
Copy link
Contributor

cstjean commented Oct 16, 2018

Possibly related: #29584

MWE (julia 1.0.1 downloaded binary):

module DummyMod

using Unitful
using DataFrames
using Unitful: Pa, @unit
import Unitful

@unit inchwc "inchwc" InchWC 249.082Pa false

end
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.1 (2018-09-29)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(DummyEnv) pkg> st
    Status `~/DummyEnv/Project.toml`
  [a93c6f00] DataFrames v0.14.1
  [5570af46] DummyMod v0.0.1 [`~/jdev/DummyMod`]
  [1986cc42] Unitful v0.12.0

(DummyEnv) pkg> st --manifest
    Status `~/DummyEnv/Manifest.toml`
  [b99e7846] BinaryProvider v0.5.2
  [324d7699] CategoricalArrays v0.4.0
  [944b1d66] CodecZlib v0.5.0
  [34da2185] Compat v1.3.0
  [a93c6f00] DataFrames v0.14.1
  [9a8bc11e] DataStreams v0.4.1
  [864edb3b] DataStructures v0.14.0
  [5570af46] DummyMod v0.0.1 [`~/jdev/DummyMod`]
  [82899510] IteratorInterfaceExtensions v0.1.1
  [682c06a0] JSON v0.19.0
  [e1d29d7a] Missings v0.3.1
  [bac558e1] OrderedCollections v1.0.2
  [189a3867] Reexport v0.2.0
  [ae029012] Requires v0.5.2
  [a2af1166] SortingAlgorithms v0.3.1
  [2913bbd2] StatsBase v0.25.0
  [3783bdb8] TableTraits v0.3.1
  [bd369af6] Tables v0.1.9
  [3bb67fe8] TranscodingStreams v0.8.1
  [1986cc42] Unitful v0.12.0
  [ea10d353] WeakRefStrings v0.5.3
  [2a0f44e3] Base64 
  [ade2ca70] Dates 
  [8bb1440f] DelimitedFiles 
  [8ba89e20] Distributed 
  [9fa8497b] Future 
  [b77e0a4c] InteractiveUtils 
  [76f85450] LibGit2 
  [8f399da3] Libdl 
  [37e2e46d] LinearAlgebra 
  [56ddb016] Logging 
  [d6f4376e] Markdown 
  [a63ad114] Mmap 
  [44cfe95a] Pkg 
  [de0858da] Printf 
  [3fa0cd96] REPL 
  [9a3f8284] Random 
  [ea8e919c] SHA 
  [9e88b42a] Serialization 
  [1a1011a3] SharedArrays 
  [6462fe0b] Sockets 
  [2f01184e] SparseArrays 
  [10745b16] Statistics 
  [8dfed614] Test 
  [cf7118a7] UUIDs 
  [4ec0a83e] Unicode 

julia> versioninfo()
Julia Version 1.0.1
Commit 0d713926f8 (2018-09-29 19:05 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.0 (ORCJIT, haswell)

julia> using DummyMod
[ Info: Precompiling DummyMod [5570af46-b12d-5143-b4e4-6f3fbba47b61]

signal (11): Segmentation fault
in expression starting at /home/cst-jean/jdev/DummyMod/src/DummyMod.jl:9
jl_compile_linfo at /buildworker/worker/package_linux64/build/src/codegen.cpp:1191
emit_invoke at /buildworker/worker/package_linux64/build/src/codegen.cpp:3094
emit_expr at /buildworker/worker/package_linux64/build/src/codegen.cpp:3893
emit_ssaval_assign at /buildworker/worker/package_linux64/build/src/codegen.cpp:3615
emit_stmtpos at /buildworker/worker/package_linux64/build/src/codegen.cpp:3801 [inlined]
emit_function at /buildworker/worker/package_linux64/build/src/codegen.cpp:6254
jl_compile_linfo at /buildworker/worker/package_linux64/build/src/codegen.cpp:1159
emit_invoke at /buildworker/worker/package_linux64/build/src/codegen.cpp:3094
emit_expr at /buildworker/worker/package_linux64/build/src/codegen.cpp:3893
emit_ssaval_assign at /buildworker/worker/package_linux64/build/src/codegen.cpp:3615
emit_stmtpos at /buildworker/worker/package_linux64/build/src/codegen.cpp:3801 [inlined]
emit_function at /buildworker/worker/package_linux64/build/src/codegen.cpp:6254
jl_compile_linfo at /buildworker/worker/package_linux64/build/src/codegen.cpp:1159
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1796
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2184
do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:324
eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:430
eval_stmt_value at /buildworker/worker/package_linux64/build/src/interpreter.c:363 [inlined]
eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:682
jl_interpret_toplevel_thunk_callback at /buildworker/worker/package_linux64/build/src/interpreter.c:795
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x7f0d77a2734f)
unknown function (ip: 0x10)
jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:804
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:813
jl_eval_module_expr at /buildworker/worker/package_linux64/build/src/toplevel.c:233
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:651
jl_parse_eval_all at /buildworker/worker/package_linux64/build/src/ast.c:838
jl_load at /buildworker/worker/package_linux64/build/src/toplevel.c:847
include at ./boot.jl:317 [inlined]
include_relative at ./loading.jl:1041
include at ./sysimg.jl:29
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2184
do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:324
eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:430
eval_stmt_value at /buildworker/worker/package_linux64/build/src/interpreter.c:363 [inlined]
eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:682
eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:613
jl_interpret_toplevel_thunk_callback at /buildworker/worker/package_linux64/build/src/interpreter.c:795
unknown function (ip: 0xfffffffffffffffe)
unknown function (ip: 0x7f0d777997cf)
unknown function (ip: 0x2)
jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:804
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:813
jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/builtins.c:622
eval at ./boot.jl:319 [inlined]
eval at ./client.jl:389
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2184
top-level scope at ./none:3
jl_fptr_trampoline at /buildworker/worker/package_linux64/build/src/gf.c:1831
jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:807
jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/builtins.c:622
eval at ./boot.jl:319
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2184
macro expansion at ./logging.jl:317 [inlined]
exec_options at ./client.jl:219
_start at ./client.jl:421
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2184
jl_apply at /buildworker/worker/package_linux64/build/ui/../src/julia.h:1537 [inlined]
true_main at /buildworker/worker/package_linux64/build/ui/repl.c:112
main at /buildworker/worker/package_linux64/build/ui/repl.c:233
__libc_start_main at /build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:291
_start at /home/cst-jean/julia-1.0.1/bin/julia (unknown line)
Allocations: 5192292 (Pool: 5191671; Big: 621); GC: 8
ERROR: Failed to precompile DummyMod [5570af46-b12d-5143-b4e4-6f3fbba47b61] to /home/cst-jean/.julia/compiled/v1.0/DummyMod/KbqDT.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] macro expansion at ./logging.jl:313 [inlined]
 [3] compilecache(::Base.PkgId, ::String) at ./loading.jl:1187
 [4] _require(::Base.PkgId) at ./logging.jl:311
 [5] require(::Base.PkgId) at ./loading.jl:855
 [6] macro expansion at ./logging.jl:311 [inlined]
 [7] require(::Module, ::Symbol) at ./loading.jl:837
@cstjean
Copy link
Contributor Author

cstjean commented Oct 16, 2018

If I turn 249.082Pa into 0.249082kPa, it works fine.

@fredrikekre
Copy link
Member

Maybe the pressure it too high?

@JeffBezanson JeffBezanson added bug Indicates an unexpected problem or unintended behavior compiler:precompilation Precompilation of modules labels Nov 4, 2018
@JeffBezanson
Copy link
Member

Should try this again after #31047.

@iamed2
Copy link
Contributor

iamed2 commented Feb 12, 2019

I can replicate on 1.0.3 but not on 1.1, so either this was fixed previously or it's dependent on some other piece of state not represented here.

I will see if backporting this to 1.0 fixes this MWE, and I will also try to run more complicated Unitful stuff that previously segfaulted.

@iamed2
Copy link
Contributor

iamed2 commented Feb 12, 2019

Adding that commit did not fix the issue on 1.0.3, so it must be separate issue. I will git bisect to try to figure out what fixed it.

@JeffBezanson JeffBezanson self-assigned this Feb 13, 2019
@iamed2

This comment has been minimized.

@iamed2
Copy link
Contributor

iamed2 commented Feb 13, 2019

A bisect between git merge-base master release-1.1 and v1.1.0 showed 6329be9 fixed this. Same with a bisect between the same start point and master (the commit there was the original, 735d755). That commit does not seem related. Can you think of any way it could have actually fixed the issue here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Indicates an unexpected problem or unintended behavior compiler:precompilation Precompilation of modules
Projects
None yet
Development

No branches or pull requests

5 participants