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

Nextflow will hang during installation #995

Closed
rmhubley opened this issue Jan 8, 2019 · 16 comments
Closed

Nextflow will hang during installation #995

rmhubley opened this issue Jan 8, 2019 · 16 comments
Labels

Comments

@rmhubley
Copy link

rmhubley commented Jan 8, 2019

Bug report

Nextflow will hang during installation:

% cd /nfs/home/foo
% wget https://get.nextflow.io | bash

It will initially state that it's working and then it will just hang. It appears that the requirement that it operate on a fileystem with file-locking capabilities is getting in the way. While this may be apparent to seasoned users the script provides no feedback on this nor appropriately times-out with an error.

Expected behavior and actual behavior

Expected: Return with an error and/or a message indicating it's necessary to set NXF_HOME to a local or file-locking-capable fileystem.

Steps to reproduce the problem

See above

Program output

None...just hangs with the process:

/usr/bin/java -Dfile.encoding=UTF-8 -noverify -Dcapsule.trampoline -Dcapsule.java.cmd=/usr/bin/java -Djava.awt.headless=true -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -D3 -jar /home/rhubley/.nextflow/framework/18.10.1/nextflow-18.10.1-one.jar

doing nothing ( as it waits perhaps for a file lock that will never come )

Environment

  • Nextflow version: 18.10.1
  • Java version: OpenJDK 1.8.0_191
  • Operating system: linux

Additional context

@pditommaso
Copy link
Member

pditommaso commented Jan 8, 2019

Just using wget is not supposed to work, could you try:

wget -qO- https://get.nextflow.io | bash

or

curl https://get.nextflow.io | bash

@rmhubley
Copy link
Author

rmhubley commented Jan 8, 2019

I actually used ( from the main website ):
curl -s https://get.nextflow.io | bash
and I tried ( from github's README ):
curl -fsSL get.nextflow.io | bash

neither worked.

@pditommaso
Copy link
Member

I see. If so please export the variable NXF_DEBUG=x and run curl -s https://get.nextflow.io | bash. Then please paste the output here.

@pditommaso
Copy link
Member

Any feedback on this?

@rmhubley
Copy link
Author

rmhubley commented Jan 14, 2019

Same issue...not sure this will be helpful:

/home/rhubley/nf> setenv NXF_DEBUG x
/home/rhubley/nf> curl -s https://get.nextflow.io | bash
+ NXF_VER=18.10.1
+ NXF_ORG=nextflow-io
+ NXF_HOME=/home/rhubley/.nextflow
+ NXF_PROT=https
+ NXF_BASE=https://www.nextflow.io/releases
+ NXF_TEMP=
+ NXF_CLI='bash '
+ export NXF_CLI
+ export NXF_ORG
+ export NXF_HOME
+ [[ -n xterm-256color ]]
+ [[ xterm-256color != \d\u\m\b ]]
+ command -v tput
++ tput setaf 2
++ tput bold
+ GREEN=''
++ tput setaf 3
+ YELLOW=''
++ tput setaf 1
+ RED=''
++ tput sgr0
+ NORMAL=''
+ '[' bash = bash ']'
+ '[' -d nextflow ']'
+ install /home/rhubley/nf/nextflow install
++ make_temp
++ local base=/home/rhubley/nf
+++ uname
++ '[' Linux = Darwin ']'
++ mktemp -t nxf-tmp.XXXXXX -p /home/rhubley/nf
+ local tmpfile=/home/rhubley/nf/nxf-tmp.XtQHMT
++ set +u
++ [[ -n 18.10.1 ]]
++ printf v18.10.1
+ local version=v18.10.1
+ local action=a=install
+ get 'https://www.nextflow.io/releases/v18.10.1/nextflow?a=install' /home/rhubley/nf/nxf-tmp.XtQHMT /home/rhubley/nf/nextflow
+ command -v curl
+ GET='curl -fsSL '\''https://www.nextflow.io/releases/v18.10.1/nextflow?a=install'\'' -o '\''/home/rhubley/nf/nxf-tmp.XtQHMT'\'''
+ printf 'Downloading nextflow dependencies. It may require a few seconds, please wait .. '
Downloading nextflow dependencies. It may require a few seconds, please wait .. + eval curl -fsSL ''\''https://www.nextflow.io/releases/v18.10.1/nextflow?a=install'\''' -o ''\''/home/rhubley/nf/nxf-tmp.XtQHMT'\'''
++ curl -fsSL 'https://www.nextflow.io/releases/v18.10.1/nextflow?a=install' -o /home/rhubley/nf/nxf-tmp.XtQHMT
+ status=0
+ printf '\r\033[K'
+ '[' 0 -ne 0 ']'
+ mv /home/rhubley/nf/nxf-tmp.XtQHMT /home/rhubley/nf/nextflow
+ chmod +x /home/rhubley/nf/nextflow
+ bash /home/rhubley/nf/nextflow -download
+ NXF_VER=18.10.1
+ NXF_ORG=nextflow-io
+ NXF_HOME=/home/rhubley/.nextflow
+ NXF_PROT=https
+ NXF_BASE=https://www.nextflow.io/releases
+ NXF_TEMP=
+ NXF_CLI='/home/rhubley/nf/nextflow -download'
+ export NXF_CLI
+ export NXF_ORG
+ export NXF_HOME
+ [[ -n xterm-256color ]]
+ [[ xterm-256color != \d\u\m\b ]]
+ command -v tput
++ tput setaf 2
++ tput bold
+ GREEN=''
++ tput setaf 3
+ YELLOW=''
++ tput setaf 1
+ RED=''
++ tput sgr0
+ NORMAL=''
+ '[' /home/rhubley/nf/nextflow = bash ']'
+ '[' /home/rhubley/nf/nextflow = /bin/bash ']'
+ bg=
+ dockerize=
+ jvmopts=()
+ declare -a jvmopts
+ args=("$@")
+ declare -a args
+ commands=(clone config drop help history info ls pull run view node console kuberun)
+ declare -a commands
+ cmd=
+ [[ 1 != 0 ]]
+ case $1 in
+ [[ ! -n '' ]]
+ rm -rf /home/rhubley/.nextflow/framework/18.10.1
+ bash /home/rhubley/nf/nextflow -version
+ NXF_VER=18.10.1
+ NXF_ORG=nextflow-io
+ NXF_HOME=/home/rhubley/.nextflow
+ NXF_PROT=https
+ NXF_BASE=https://www.nextflow.io/releases
+ NXF_TEMP=
+ NXF_CLI='/home/rhubley/nf/nextflow -version'
+ export NXF_CLI
+ export NXF_ORG
+ export NXF_HOME
+ [[ -n xterm-256color ]]
+ [[ xterm-256color != \d\u\m\b ]]
+ command -v tput
++ tput setaf 2
++ tput bold
+ GREEN=''
++ tput setaf 3
+ YELLOW=''
++ tput setaf 1
+ RED=''
++ tput sgr0
+ NORMAL=''
+ '[' /home/rhubley/nf/nextflow = bash ']'
+ '[' /home/rhubley/nf/nextflow = /bin/bash ']'
+ bg=
+ dockerize=
+ jvmopts=()
+ declare -a jvmopts
+ args=("$@")
+ declare -a args
+ commands=(clone config drop help history info ls pull run view node console kuberun)
+ declare -a commands
+ cmd=
+ [[ 1 != 0 ]]
+ case $1 in
+ [[ -n -version ]]
+ [[ -version != -* ]]
+ shift
+ [[ 0 != 0 ]]
+ NXF_DOCKER_OPTS=
+ [[ -n '' ]]
+ CAPSULE_LOG=
+ CAPSULE_RESET=
+ CAPSULE_CACHE_DIR=/home/rhubley/.nextflow/capsule
+ NXF_PACK=one
+ NXF_MODE=
+ NXF_JAR=nextflow-18.10.1-one.jar
+ NXF_BIN=/home/rhubley/.nextflow/framework/18.10.1/nextflow-18.10.1-one.jar
++ dirname /home/rhubley/.nextflow/framework/18.10.1/nextflow-18.10.1-one.jar
+ NXF_PATH=/home/rhubley/.nextflow/framework/18.10.1
+ NXF_URL=https://www.nextflow.io/releases/v18.10.1/nextflow-18.10.1-one.jar
+ NXF_GRAB=
+ NXF_CLASSPATH=
+ NXF_MPIRUN=
+ NXF_HOST=dfam.systemsbiology.net
+ [[ -n '' ]]
+ NXF_LAUNCHER=/home/rhubley/.nextflow/tmp/launcher/nextflow-one_18.10.1/dfam.systemsbiology.net
+ [[ '' == ignite ]]
+ [[ one = all ]]
+ [[ -n '' ]]
+ '[' '!' -x '' ']'
+ '[' -d '' ']'
+ '[' -x /usr/libexec/java_home ']'
++ which java
+ JAVA_CMD=/usr/bin/java
++ resolve_link /usr/bin/java
++ sed s@/@.@g
++ [[ ! -f /usr/bin/java ]]
++ command -v realpath
++ realpath /usr/bin/java
+ JAVA_KEY=/home/rhubley/.nextflow/tmp/ver/.usr.lib.jvm.java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64.jre.bin.java
+ '[' -f /home/rhubley/.nextflow/tmp/ver/.usr.lib.jvm.java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64.jre.bin.java ']'
++ /usr/bin/java -version
+ JAVA_VER='openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)'
+ '[' 0 -ne 0 ']'
++ echo 'openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)'
++ awk '/version/ {gsub(/"/, "", $3); print $3}'
+ JAVA_VER=1.8.0_191
+ [[ ! 18.10.1 =~ ([0-9]+)\.([0-9]+)\.([0-9].*) ]]
+ major=18
+ minor=10
+ version_check='^(1.8|9|10|11)'
+ version_message='Java 8'
+ '[' 18 -eq 0 ']'
+ [[ ! 1.8.0_191 =~ ^(1.8|9|10|11) ]]
++ dirname /home/rhubley/.nextflow/tmp/ver/.usr.lib.jvm.java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64.jre.bin.java
+ mkdir -p /home/rhubley/.nextflow/tmp/ver
+ [[ -f 1.8.0_191 ]]
+ '[' '!' -f /home/rhubley/.nextflow/framework/18.10.1/nextflow-18.10.1-one.jar ']'
+ '[' -f /home/rhubley/.nextflow/framework/18.10.1 ']'
+ mkdir -p /home/rhubley/.nextflow/framework/18.10.1
++ make_temp
++ local base=/home/rhubley/nf
+++ uname
++ '[' Linux = Darwin ']'
++ mktemp -t nxf-tmp.XXXXXX -p /home/rhubley/nf
+ tmpfile=/home/rhubley/nf/nxf-tmp.y8HxxA
+ get https://www.nextflow.io/releases/v18.10.1/nextflow-18.10.1-one.jar /home/rhubley/nf/nxf-tmp.y8HxxA /home/rhubley/.nextflow/framework/18.10.1/nextflow-18.10.1-one.jar
+ command -v curl
+ GET='curl -fsSL '\''https://www.nextflow.io/releases/v18.10.1/nextflow-18.10.1-one.jar'\'' -o '\''/home/rhubley/nf/nxf-tmp.y8HxxA'\'''
+ printf 'Downloading nextflow dependencies. It may require a few seconds, please wait .. '
Downloading nextflow dependencies. It may require a few seconds, please wait .. + eval curl -fsSL ''\''https://www.nextflow.io/releases/v18.10.1/nextflow-18.10.1-one.jar'\''' -o ''\''/home/rhubley/nf/nxf-tmp.y8HxxA'\'''
++ curl -fsSL https://www.nextflow.io/releases/v18.10.1/nextflow-18.10.1-one.jar -o /home/rhubley/nf/nxf-tmp.y8HxxA
+ status=0
+ printf '\r\033[K'
+ '[' 0 -ne 0 ']'
+ mv /home/rhubley/nf/nxf-tmp.y8HxxA /home/rhubley/.nextflow/framework/18.10.1/nextflow-18.10.1-one.jar
+ [[ '' == \c\o\n\s\o\l\e ]]
+ [[ '' == \n\o\d\e ]]
++ tty -s
++ true
+ COLUMNS=
+ JAVA_OPTS=()
+ declare -a JAVA_OPTS
+ JAVA_OPTS+=(-Dfile.encoding=UTF-8 -noverify -Dcapsule.trampoline -Dcapsule.java.cmd="$JAVA_CMD")
+ [[ '' == console ]]
+ JAVA_OPTS+=(-Djava.awt.headless=true)
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ '' != \r\u\n ]]
+ [[ '' != \n\o\d\e ]]
+ JAVA_OPTS+=(-XX:+TieredCompilation -XX:TieredStopAtLevel=1)
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ export JAVA_CMD
+ export CAPSULE_CACHE_DIR
+ hash md5sum
+ MD5=md5sum
+ '[' '!' md5sum ']'
+ '[' '' ']'
+ [[ -f /.nextflow/dockerized ]]
++ env_md5
++ cat
++ cut -f1 '-d '
++ md5sum
+ LAUNCH_FILE=/home/rhubley/.nextflow/tmp/launcher/nextflow-one_18.10.1/dfam.systemsbiology.net/classpath-a3ac224ac5207c115b0fc43a671c56bb
+ '[' -s /home/rhubley/.nextflow/tmp/launcher/nextflow-one_18.10.1/dfam.systemsbiology.net/classpath-a3ac224ac5207c115b0fc43a671c56bb ']'
+ cli=($("$JAVA_CMD" "${JAVA_OPTS[@]}" -jar "$NXF_BIN"))
++ /usr/bin/java -Dfile.encoding=UTF-8 -noverify -Dcapsule.trampoline -Dcapsule.java.cmd=/usr/bin/java -Djava.awt.headless=true -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -jar /home/rhubley/.nextflow/framework/18.10.1/nextflow-18.10.1-one.jar

@pditommaso
Copy link
Member

What instead if you download the package nextflow-19.01.0-edge-all at this link, git it execute permission and launch it?

@rmhubley
Copy link
Author

rmhubley commented Jan 14, 2019

Same issue:

wget https://github.com/nextflow-io/nextflow/releases/download/v19.01.0-edge/nextflow-19.01.0-edge-all
chmod 755 nextflow-19.01.0-edge-all 
./nextflow-19.01.0-edge-all 
[hangs]
Ctrl-C

and

setenv NXF_DEBUG x
./nextflow-19.01.0-edge-all
 + NXF_VER=19.01.0-edge
+ NXF_ORG=nextflow-io
+ NXF_HOME=/home/rhubley/.nextflow
+ NXF_PROT=https
+ NXF_BASE=https://www.nextflow.io/releases
+ NXF_TEMP=
+ NXF_DIST=/home/rhubley/.nextflow/framework
+ NXF_CLI='./nextflow-19.01.0-edge-all '
+ export NXF_CLI
+ export NXF_ORG
+ export NXF_HOME
+ [[ -n xterm-256color ]]
+ [[ xterm-256color != \d\u\m\b ]]
+ command -v tput
++ tput setaf 2
++ tput bold
+ GREEN=''
++ tput setaf 3
+ YELLOW=''
++ tput setaf 1
+ RED=''
++ tput sgr0
+ NORMAL=''
+ '[' ./nextflow-19.01.0-edge-all = bash ']'
+ '[' ./nextflow-19.01.0-edge-all = /bin/bash ']'
+ bg=
+ dockerize=
+ jvmopts=()
+ declare -a jvmopts
+ args=("$@")
+ declare -a args
+ commands=(clone config drop help history info ls pull run view node console kuberun)
+ declare -a commands
+ cmd=
+ [[ 0 != 0 ]]
+ NXF_DOCKER_OPTS=
+ [[ -n '' ]]
+ CAPSULE_LOG=
+ CAPSULE_RESET=
+ CAPSULE_CACHE_DIR=/home/rhubley/.nextflow/capsule
+ NXF_PACK=all
+ NXF_MODE=
+ NXF_JAR=nextflow-19.01.0-edge-all.jar
+ NXF_BIN=/home/rhubley/.nextflow/framework/19.01.0-edge/nextflow-19.01.0-edge-all.jar
++ dirname /home/rhubley/.nextflow/framework/19.01.0-edge/nextflow-19.01.0-edge-all.jar
+ NXF_PATH=/home/rhubley/.nextflow/framework/19.01.0-edge
+ NXF_URL=https://www.nextflow.io/releases/v19.01.0-edge/nextflow-19.01.0-edge-all.jar
+ NXF_GRAB=
+ NXF_CLASSPATH=
+ NXF_MPIRUN=
+ NXF_HOST=dfam.systemsbiology.net
+ [[ -n '' ]]
+ NXF_LAUNCHER=/home/rhubley/.nextflow/tmp/launcher/nextflow-all_19.01.0-edge/dfam.systemsbiology.net
+ '[' '!' ']'
+ [[ '' == google ]]
+ '[' '!' ']'
+ [[ -n '' ]]
+ [[ '' == ignite ]]
+ [[ all = all ]]
++ which ./nextflow-19.01.0-edge-all
+ NXF_BIN=/u1/home/rhubley/nf/nextflow-19.01.0-edge-all
+ '[' 0 -gt 0 -a -f ./nextflow-19.01.0-edge-all ']'
+ [[ -n '' ]]
+ '[' '!' -x '' ']'
+ '[' -d '' ']'
+ '[' -x /usr/libexec/java_home ']'
++ which java
+ JAVA_CMD=/usr/bin/java
++ resolve_link /usr/bin/java
++ [[ ! -f /usr/bin/java ]]
++ command -v realpath
++ sed s@/@.@g
++ realpath /usr/bin/java
+ JAVA_KEY=/home/rhubley/.nextflow/tmp/ver/.usr.lib.jvm.java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64.jre.bin.java
+ '[' -f /home/rhubley/.nextflow/tmp/ver/.usr.lib.jvm.java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64.jre.bin.java ']'
++ /usr/bin/java -version
+ JAVA_VER='openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)'
+ '[' 0 -ne 0 ']'
++ echo 'openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)'
++ awk '/version/ {gsub(/"/, "", $3); print $3}'
+ JAVA_VER=1.8.0_191
+ [[ ! 19.01.0-edge =~ ([0-9]+)\.([0-9]+)\.([0-9].*) ]]
+ major=19
+ minor=01
+ version_check='^(1.8|9|10|11)'
+ version_message='Java 8'
+ '[' 19 -eq 0 ']'
+ [[ ! 1.8.0_191 =~ ^(1.8|9|10|11) ]]
++ dirname /home/rhubley/.nextflow/tmp/ver/.usr.lib.jvm.java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64.jre.bin.java
+ mkdir -p /home/rhubley/.nextflow/tmp/ver
+ [[ -f 1.8.0_191 ]]
+ '[' '!' -f /u1/home/rhubley/nf/nextflow-19.01.0-edge-all ']'
+ [[ '' == \c\o\n\s\o\l\e ]]
+ [[ '' == \n\o\d\e ]]
++ tty -s
++ tput cols
+ COLUMNS=80
+ JAVA_OPTS=()
+ declare -a JAVA_OPTS
+ JAVA_OPTS+=(-Dfile.encoding=UTF-8 -noverify -Dcapsule.trampoline -Dcapsule.java.cmd="$JAVA_CMD")
+ [[ '' == console ]]
+ JAVA_OPTS+=(-Djava.awt.headless=true)
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ '' != \r\u\n ]]
+ [[ '' != \n\o\d\e ]]
+ JAVA_OPTS+=(-XX:+TieredCompilation -XX:TieredStopAtLevel=1)
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n 80 ]]
+ export COLUMNS
+ [[ -n '' ]]
+ [[ -n '' ]]
+ [[ -n '' ]]
+ export JAVA_CMD
+ export CAPSULE_CACHE_DIR
+ hash md5sum
+ MD5=md5sum
+ '[' '!' md5sum ']'
+ '[' '' ']'
+ [[ -f /.nextflow/dockerized ]]
++ env_md5
++ cat
++ cut -f1 '-d '
++ md5sum
+ LAUNCH_FILE=/home/rhubley/.nextflow/tmp/launcher/nextflow-all_19.01.0-edge/dfam.systemsbiology.net/classpath-8f38de22856771e453e31c221edfffba
+ '[' -s /home/rhubley/.nextflow/tmp/launcher/nextflow-all_19.01.0-edge/dfam.systemsbiology.net/classpath-8f38de22856771e453e31c221edfffba ']'
+ cli=($("$JAVA_CMD" "${JAVA_OPTS[@]}" -jar "$NXF_BIN"))
++ /usr/bin/java -Dfile.encoding=UTF-8 -noverify -Dcapsule.trampoline -Dcapsule.java.cmd=/usr/bin/java -Djava.awt.headless=true -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -jar /u1/home/rhubley/nf/nextflow-19.01.0-edge-all

[hangs]

@pditommaso
Copy link
Member

Too bad. Launch it, when it hang put it background, use the ps to the process pid and run jstack <pid> and copy here the printed output.

@rmhubley
Copy link
Author

rmhubley commented Jan 14, 2019

./nextflow-19.01.0-edge-all
ps -elf | grep nextflow
0 S rhubley 46721 45688 0 80 0 - 28331 pipe_w 12:10 pts/2 00:00:00 /bin/bash ./nextflow-19.01.0-edge-all
0 S rhubley 46800 46721 2 80 0 - 9372019 futex_ 12:10 pts/2 00:00:00 /usr/bin/java -Dfile.encoding=UTF-8 -noverify -Dcapsule.trampoline -Dcapsule.java.cmd=/usr/bin/java -Djava.awt.headless=true -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -jar /u1/home/rhubley/nf/nextflow-19.01.0-edge-all

jstack 46800
2019-01-14 12:11:35
Full thread dump OpenJDK 64-Bit Server VM (25.191-b12 mixed mode):

"Attach Listener" #21 daemon prio=9 os_prio=0 tid=0x00007f1228001000 nid=0xb757 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Service Thread" #20 daemon prio=9 os_prio=0 tid=0x00007f134453a000 nid=0xb701 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread14" #19 daemon prio=9 os_prio=0 tid=0x00007f1344535000 nid=0xb700 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread13" #18 daemon prio=9 os_prio=0 tid=0x00007f1344533000 nid=0xb6ff waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread12" #17 daemon prio=9 os_prio=0 tid=0x00007f1344531000 nid=0xb6fe waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread11" #16 daemon prio=9 os_prio=0 tid=0x00007f134452f000 nid=0xb6fd waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread10" #15 daemon prio=9 os_prio=0 tid=0x00007f134452c800 nid=0xb6fc waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread9" #14 daemon prio=9 os_prio=0 tid=0x00007f134452a800 nid=0xb6fb waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread8" #13 daemon prio=9 os_prio=0 tid=0x00007f1344528800 nid=0xb6fa waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread7" #12 daemon prio=9 os_prio=0 tid=0x00007f1344526000 nid=0xb6f9 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread6" #11 daemon prio=9 os_prio=0 tid=0x00007f1344524000 nid=0xb6f8 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread5" #10 daemon prio=9 os_prio=0 tid=0x00007f1344521800 nid=0xb6f7 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread4" #9 daemon prio=9 os_prio=0 tid=0x00007f134451f800 nid=0xb6f6 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread3" #8 daemon prio=9 os_prio=0 tid=0x00007f134451d800 nid=0xb6f5 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0x00007f134451b000 nid=0xb6f4 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007f1344519000 nid=0xb6f3 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007f1344516800 nid=0xb6f2 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007f1344509800 nid=0xb6f1 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f13444dd800 nid=0xb6f0 in Object.wait() [0x00007f1300ecd000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x0000000580108ed0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
	- locked <0x0000000580108ed0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:165)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:216)

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f13444d9000 nid=0xb6ef in Object.wait() [0x00007f1300fce000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x0000000580106bf8> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Object.java:502)
	at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
	- locked <0x0000000580106bf8> (a java.lang.ref.Reference$Lock)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

"main" #1 prio=5 os_prio=0 tid=0x00007f134404a800 nid=0xb6d1 runnable [0x00007f134d5bb000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.FileDispatcherImpl.lock0(Native Method)
	at sun.nio.ch.FileDispatcherImpl.lock(FileDispatcherImpl.java:94)
	at sun.nio.ch.FileChannelImpl.lock(FileChannelImpl.java:1078)
	at java.nio.channels.FileChannel.lock(FileChannel.java:1053)
	at Capsule.lockAppCache(Capsule.java:2167)
	at Capsule.isAppCacheUpToDate1(Capsule.java:2104)
	at Capsule.buildAppCacheDir0(Capsule.java:2070)
	at Capsule.buildAppCacheDir(Capsule.java:2056)
	at Capsule.getOrCreateAppDir(Capsule.java:2004)
	at Capsule.appDir(Capsule.java:2016)
	at Capsule.simpleResolve(Capsule.java:3501)
	at Capsule.resolve00(Capsule.java:3490)
	at Capsule.resolve0(Capsule.java:3402)
	at Capsule.resolve(Capsule.java:3375)
	at Capsule.resolve00(Capsule.java:3421)
	at Capsule.resolve0(Capsule.java:3402)
	at Capsule.resolve(Capsule.java:3375)
	at Capsule.resolve(Capsule.java:3389)
	at Capsule.buildJavaProcess(Capsule.java:2228)
	at Capsule.buildProcess0(Capsule.java:1530)
	at Capsule.buildProcess(Capsule.java:1521)
	at Capsule.prelaunch0(Capsule.java:1494)
	at Capsule.prelaunch(Capsule.java:1487)
	at CapsuleLoader.prelaunch(CapsuleLoader.java:41)
	at Capsule.prepareForLaunch(Capsule.java:1339)
	at Capsule.launch(Capsule.java:1268)
	at Capsule.main0(Capsule.java:399)
	at Capsule.main(Capsule.java:379)

"VM Thread" os_prio=0 tid=0x00007f13444cf000 nid=0xb6ee runnable 

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f134405d800 nid=0xb6d2 runnable 

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f134405f000 nid=0xb6d3 runnable 

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f1344061000 nid=0xb6d4 runnable 

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f1344063000 nid=0xb6d5 runnable 

"GC task thread#4 (ParallelGC)" os_prio=0 tid=0x00007f1344064800 nid=0xb6d6 runnable 

"GC task thread#5 (ParallelGC)" os_prio=0 tid=0x00007f1344066800 nid=0xb6d7 runnable 

"GC task thread#6 (ParallelGC)" os_prio=0 tid=0x00007f1344068800 nid=0xb6d8 runnable 

"GC task thread#7 (ParallelGC)" os_prio=0 tid=0x00007f134406a000 nid=0xb6d9 runnable 

"GC task thread#8 (ParallelGC)" os_prio=0 tid=0x00007f134406c000 nid=0xb6da runnable 

"GC task thread#9 (ParallelGC)" os_prio=0 tid=0x00007f134406e000 nid=0xb6db runnable 

"GC task thread#10 (ParallelGC)" os_prio=0 tid=0x00007f1344070000 nid=0xb6dc runnable 

"GC task thread#11 (ParallelGC)" os_prio=0 tid=0x00007f1344071800 nid=0xb6dd runnable 

"GC task thread#12 (ParallelGC)" os_prio=0 tid=0x00007f1344073800 nid=0xb6de runnable 

"GC task thread#13 (ParallelGC)" os_prio=0 tid=0x00007f1344075800 nid=0xb6df runnable 

"GC task thread#14 (ParallelGC)" os_prio=0 tid=0x00007f1344077000 nid=0xb6e0 runnable 

"GC task thread#15 (ParallelGC)" os_prio=0 tid=0x00007f1344079000 nid=0xb6e1 runnable 

"GC task thread#16 (ParallelGC)" os_prio=0 tid=0x00007f134407b000 nid=0xb6e2 runnable 

"GC task thread#17 (ParallelGC)" os_prio=0 tid=0x00007f134407c800 nid=0xb6e3 runnable 

"GC task thread#18 (ParallelGC)" os_prio=0 tid=0x00007f134407e800 nid=0xb6e4 runnable 

"GC task thread#19 (ParallelGC)" os_prio=0 tid=0x00007f1344080800 nid=0xb6e5 runnable 

"GC task thread#20 (ParallelGC)" os_prio=0 tid=0x00007f1344082800 nid=0xb6e6 runnable 

"GC task thread#21 (ParallelGC)" os_prio=0 tid=0x00007f1344084000 nid=0xb6e7 runnable 

"GC task thread#22 (ParallelGC)" os_prio=0 tid=0x00007f1344086000 nid=0xb6e8 runnable 

"GC task thread#23 (ParallelGC)" os_prio=0 tid=0x00007f1344088000 nid=0xb6e9 runnable 

"GC task thread#24 (ParallelGC)" os_prio=0 tid=0x00007f1344089800 nid=0xb6ea runnable 

"GC task thread#25 (ParallelGC)" os_prio=0 tid=0x00007f134408b800 nid=0xb6eb runnable 

"GC task thread#26 (ParallelGC)" os_prio=0 tid=0x00007f134408d800 nid=0xb6ec runnable 

"GC task thread#27 (ParallelGC)" os_prio=0 tid=0x00007f134408f000 nid=0xb6ed runnable 

"VM Periodic Task Thread" os_prio=0 tid=0x00007f134453c800 nid=0xb702 waiting on condition 

JNI global references: 13

@pditommaso
Copy link
Member

Well, it looks that problem is that it hangs while try to create a file lock. Frankly I've never seen this before. What file system are you using?

@rmhubley
Copy link
Author

Yes, that's what I pointed out at the start. Home directories are often served via NFS on a cluster and file locking won't work ( /u1 nfs rw,tcp,vers=3,hard,intr,exec,bg 0 0 ). What I was pointing out is this should be recognized by the installer and error issued so the user has a clue as to what went wrong.

@pditommaso
Copy link
Member

I have no idea how this could be recognised, any suggestion?

@rmhubley
Copy link
Author

I would put a timeout on the attempt to acquire the lock. I assume the lock requirement has more to do with running Nextflow and less to do with the installation process. Therfore, another approach would be to not perform the tasks that require file locking during the installation phase.

-R

@pditommaso
Copy link
Member

This is a good idea. The point is that this is not strictly a NF issue because the hang is caused by Capsule, the package manager used by handle NF deps.

I've opened an issue in that project. puniverse/capsule#131

@pditommaso
Copy link
Member

Also a possible workaround consists on setting the Capsule cache to a local directory using the CAPSULE_CACHE_DIR env variable.

@pditommaso pditommaso modified the milestone: v19.01.0 Jan 21, 2019
@stale
Copy link

stale bot commented Apr 27, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants