Base.runtests() fails after make install


#1

Base.runtests() appears to fail when run from an account other than the one that ran ‘make install’. I have reproduced the issue on RHEL 7.3 with release 0.5.0 (compiled from source with stock gcc) and on CentOS 6.7 with release 0.5.0 and 0.5.1-pre+28 (compiled from source with CERN devtoolset-1.1).

Here are the steps I follow:

  1. Become root
    a. If on CentOS 6, set up development tools
    scl enable devtoolset-1.1 bash
    add python 2.7.13 and git 1.8.4 to path
  2. Check out Tag v0.5.0
    a. git checkout release-0.5
    b. git checkout release-0.5~11
  3. Add two lines to Make.user
    OPENBLAS_DYNAMIC_ARCH=0
    prefix=/usr/local/julia/0.5.0
  4. make
  5. make test (passes)
  6. make install
  7. As root, run Base.runtests() with /usr/local/julia/0.5.0/bin/julia (passes)
  8. As a regular user, run Base.runtests() with /usr/local/julia/0.5.0/bin/julia (fails)

Here are the error messages and versioninfo() for the three OS/Julia combinations I tried.

RHEL 7.3, Julia Version 0.5.0, Commit 3c9d753

Exception running test loading :
On worker 3:
LoadError: open: permission denied (EACCES)
 in uv_error at ./libuv.jl:68 [inlined]
 in open at ./filesystem.jl:81
 in touch at ./file.jl:189
 in include_string at ./loading.jl:441
 in include_from_node1 at ./loading.jl:491
 in macro expansion at ./util.jl:226 [inlined]
 in runtests at /usr/local/julia/0.5.0/share/julia/test/testdefs.jl:7
 in #16 at /usr/local/julia/0.5.0/share/julia/test/runtests.jl:44
 in #625 at ./multi.jl:1421
 in run_work_thunk at ./multi.jl:1001
 in macro expansion at ./multi.jl:1421 [inlined]
 in #624 at ./event.jl:68
while loading /usr/local/julia/0.5.0/share/julia/test/loading.jl, in expression starting on line 16
ERROR: LoadError: Some tests exited with errors.
 in (::##11#19)() at /usr/local/julia/0.5.0/share/julia/test/runtests.jl:72
 in cd(::##11#19, ::String) at ./file.jl:59
 in include_from_node1(::String) at ./loading.jl:488
 in process_options(::Base.JLOptions) at ./client.jl:262
 in _start() at ./client.jl:318
while loading /usr/local/julia/0.5.0/share/julia/test/runtests.jl, in expression starting on line 26
ERROR: A test has failed. Please submit a bug report (https://github.com/JuliaLang/julia/issues)
including error messages above and the output of versioninfo():
Julia Version 0.5.0
Commit 3c9d753 (2016-09-19 18:14 UTC)
Platform Info:
  System: Linux (x86_64-redhat-linux)
  CPU: Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT NO_AFFINITY NEHALEM)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.7.1 (ORCJIT, westmere)

 in runtests(::Array{String,1}, ::Int64) at ./interactiveutil.jl:567
 in runtests() at ./interactiveutil.jl:556

CentOS 6.7, Julia Version 0.5.0, Commit 3c9d753:

Exception running test loading :
On worker 3:
LoadError: open: permission denied (EACCES)
 in uv_error at ./libuv.jl:68 [inlined]
 in open at ./filesystem.jl:81
 in touch at ./file.jl:189
 in include_string at ./loading.jl:441
 in include_from_node1 at ./loading.jl:491
 in macro expansion at ./util.jl:226 [inlined]
 in runtests at /usr/local/julia/0.5.0/share/julia/test/testdefs.jl:7
 in #16 at /usr/local/julia/0.5.0/share/julia/test/runtests.jl:44
 in #625 at ./multi.jl:1421
 in run_work_thunk at ./multi.jl:1001
 in macro expansion at ./multi.jl:1421 [inlined]
 in #624 at ./event.jl:68
while loading /usr/local/julia/0.5.0/share/julia/test/loading.jl, in expression starting on line 16
ERROR: LoadError: Some tests exited with errors.
 in (::##11#19)() at /usr/local/julia/0.5.0/share/julia/test/runtests.jl:72
 in cd(::##11#19, ::String) at ./file.jl:59
 in include_from_node1(::String) at ./loading.jl:488
 in process_options(::Base.JLOptions) at ./client.jl:262
 in _start() at ./client.jl:318
while loading /usr/local/julia/0.5.0/share/julia/test/runtests.jl, in expression starting on line 26
ERROR: A test has failed. Please submit a bug report (https://github.com/JuliaLang/julia/issues)
including error messages above and the output of versioninfo():
Julia Version 0.5.0
Commit 3c9d753 (2016-09-19 18:14 UTC)
Platform Info:
  System: Linux (x86_64-redhat-linux)
  CPU: Intel(R) Xeon(R) CPU E7-8891 v2 @ 3.20GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT NO_AFFINITY SANDYBRIDGE)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.7.1 (ORCJIT, ivybridge)

 in runtests(::Array{String,1}, ::Int64) at ./interactiveutil.jl:567
 in runtests() at ./interactiveutil.jl:556

CentOS 6.7, Julia Version 0.5.1-pre+28 , Commit ac063ce:

Exception running test loading :
On worker 6:
LoadError: open: permission denied (EACCES)
 in uv_error at ./libuv.jl:68 [inlined]
 in open at ./filesystem.jl:81
 in touch at ./file.jl:189
 in include_string at ./loading.jl:441
 in include_from_node1 at ./loading.jl:491
 in macro expansion at ./util.jl:226 [inlined]
 in runtests at /usr/local/julia/0.5.1-pre/share/julia/test/testdefs.jl:7
 in #16 at /usr/local/julia/0.5.1-pre/share/julia/test/runtests.jl:44
 in #637 at ./multi.jl:1421
 in run_work_thunk at ./multi.jl:1001
 in macro expansion at ./multi.jl:1421 [inlined]
 in #636 at ./event.jl:68
while loading /usr/local/julia/0.5.1-pre/share/julia/test/loading.jl, in expression starting on line 16
ERROR: LoadError: Some tests exited with errors.
 in (::##11#19)() at /usr/local/julia/0.5.1-pre/share/julia/test/runtests.jl:72
 in cd(::##11#19, ::String) at ./file.jl:59
 in include_from_node1(::String) at ./loading.jl:488
 in process_options(::Base.JLOptions) at ./client.jl:262
 in _start() at ./client.jl:318
while loading /usr/local/julia/0.5.1-pre/share/julia/test/runtests.jl, in expression starting on line 26
ERROR: A test has failed. Please submit a bug report (https://github.com/JuliaLang/julia/issues)
including error messages above and the output of versioninfo():
Julia Version 0.5.1-pre+28
Commit ac063ce (2016-11-09 17:44 UTC)
Platform Info:
  System: Linux (x86_64-redhat-linux)
  CPU: Intel(R) Xeon(R) CPU E7-8891 v2 @ 3.20GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT NO_AFFINITY SANDYBRIDGE)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.7.1 (ORCJIT, ivybridge)

 in runtests(::Array{String,1}, ::Int64) at ./interactiveutil.jl:567
 in runtests() at ./interactiveutil.jl:556

#2

I should mention that I start with a fresh copy of the repository, either just cloned or cleaned with ‘git reset --hard’ and ‘git clean -x -f -d’.