ReproNim / containers

Containers "distribution" for reproducible neuroimaging
Apache License 2.0
26 stars 14 forks source link

flake: README example mriqc script, RuntimeError: Xvfb did not start #125

Open asmacdo opened 3 months ago

asmacdo commented 3 months ago

When running locally using current master 0a39776e08e319af63cdb596849bbf8ef9b3ce4d

Of the last few runs, I have seen this error --almost-- every time. It did work once... (?!?).

It appears to work every time on our server:

$ ./run-README-example

prints a traceback, and the process appears to hang indefinitely. RuntimeError: Xvfb did not start

Full traceback: (including kb interrupt)

>> mktemp -d /tmp/repro-XXXXXXX
> cd /tmp/repro-QMXiNm8
> datalad create -d ds000003-qc -c text2git
[INFO   ] Running procedure cfg_text2git 
[INFO   ] == Command start (output follows) ===== 
[INFO   ] == Command exit (modification check follows) =====                                                                               
run(ok): /tmp/repro-QMXiNm8/ds000003-qc (dataset) [/home/austin/miniconda3/bin/python /home...]                                            
create(ok): . (dataset)
action summary:
  create (ok: 1)
  run (ok: 1)
> cd ds000003-qc
> datalad install -d . ///repronim/containers
install(ok): containers (dataset)                                                                                                          
add(ok): containers (dataset)                                                                                                              
add(ok): .gitmodules (file)                                                                                                                
save(ok): . (dataset)                                                                                                                      
add(ok): .gitmodules (file)                                                                                                                
save(ok): . (dataset)                                                                                                                      
action summary:                                                                                                                            
  add (ok: 3)
  install (ok: 1)
  save (ok: 2)
> containers/scripts/freeze_versions --save-dataset=. bids-mriqc=0.16.0
I: We will be copying/freezing versions in .
I: bids-mriqc -> 0.16.0
add(ok): .datalad/config (file)                                                                                                            
save(ok): . (dataset)                                                                                                                      
action summary:                                                                                                                            
  add (ok: 1)
  save (ok: 1)
> datalad install -d . -s https://github.com/ReproNim/ds000003-demo sourcedata
[INFO   ] Remote origin not usable by git-annex; setting annex-ignore                                                                      
[INFO   ] https://github.com/ReproNim/ds000003-demo/config download failed: Not Found                                                      
[INFO   ] access to 1 dataset sibling s3-PRIVATE not auto-enabled, enable with:
|       datalad siblings -d "/tmp/repro-QMXiNm8/ds000003-qc/sourcedata" enable -s s3-PRIVATE 
install(ok): sourcedata (dataset)
add(ok): sourcedata (dataset)                                                                                                              
add(ok): .gitmodules (file)                                                                                                                
save(ok): . (dataset)                                                                                                                      
add(ok): .gitmodules (file)                                                                                                                
save(ok): . (dataset)                                                                                                                      
action summary:                                                                                                                            
  add (ok: 3)
  install (ok: 1)
  save (ok: 2)
> echo workdir/
> datalad save -m 'Ignore workdir' .gitignore
add(ok): .gitignore (file)                                                                                                                 
save(ok): . (dataset)                                                                                                                      
action summary:                                                                                                                            
  add (ok: 1)
  save (ok: 1)
> datalad containers-run -n bids-mriqc --input sourcedata --output . '{inputs}' '{outputs}' participant group -w workdir
[INFO   ] Making sure inputs are available (this may take some time) 
get(ok): sourcedata/sub-02/anat/sub-02_T1w.nii.gz (file) [from s3-PUBLIC...]                                                               
get(ok): sourcedata/sub-02/anat/sub-02_inplaneT2.nii.gz (file) [from s3-PUBLIC...]                                                         
get(ok): sourcedata/sub-02/func/sub-02_task-rhymejudgment_bold.nii.gz (file) [from s3-PUBLIC...]
get(ok): sourcedata/sub-13/anat/sub-13_T1w.nii.gz (file) [from s3-PUBLIC...]
get(ok): sourcedata/sub-13/anat/sub-13_inplaneT2.nii.gz (file) [from s3-PUBLIC...]
get(ok): sourcedata/sub-13/func/sub-13_task-rhymejudgment_bold.nii.gz (file) [from s3-PUBLIC...]
get(ok): containers/images/bids/bids-mriqc--0.16.0.sing (file) [from origin...]                                                            
[INFO   ] == Command start (output follows) =====                                                                                          
You are using MRIQC v0.16.0, and a newer version is available: 24.0.0.
240605-14:36:58,504 cli IMPORTANT:

    Running MRIQC version 0.16.0:
      * BIDS dataset path: /tmp/repro-QMXiNm8/ds000003-qc/sourcedata.
      * Output folder: /tmp/repro-QMXiNm8/ds000003-qc.
      * Analysis levels: ['group', 'participant'].

240605-14:36:59,154 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:00,294 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:05,564 cli WARNING:
     IMPORTANT: Anonymized quality metrics (IQMs) will be submitted to MRIQC's metrics repository. Submission of IQMs can be disabled using the ``--no-sub`` argument. Please visit https://mriqc.readthedocs.io/en/latest/dsa.html to revise MRIQC's Data Sharing Agreement.
240605-14:37:07,105 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,106 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,116 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,211 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,211 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,215 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,219 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,219 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,222 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,223 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,224 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,226 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,235 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,235 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,264 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,272 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,272 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,286 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,286 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0
240605-14:37:07,288 nipype.utils WARNING:
     A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0

240605-14:39:19,931 nipype.workflow WARNING:
     Storing result file without outputs
240605-14:39:19,932 nipype.workflow WARNING:
     [Node] Error on "mriqc_wf.anatMRIQC.AFNISkullStripWorkflow.skullstrip" (/tmp/repro-QMXiNm8/ds000003-qc/workdir/mriqc_wf/anatMRIQC/AFNISkullStripWorkflow/_in_file_..tmp..repro-QMXiNm8..ds000003-qc..sourcedata..sub-13..anat..sub-13_T1w.nii.gz/skullstrip)
240605-14:39:21,763 nipype.workflow ERROR:
     Node skullstrip.a1 failed to run on host fancy.
240605-14:39:21,765 nipype.workflow ERROR:
     Saving crash info to /tmp/repro-QMXiNm8/ds000003-qc/logs/crash-20240605-143921-bidsapp-skullstrip.a1-77aacae5-f9af-4b66-9c86-706b2323a741.txt
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
    result["result"] = node.run(updatehash=updatehash)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 516, in run
    result = self._run_interface(execute=True)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 635, in _run_interface
    return self._run_command(execute)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 741, in _run_command
    result = self._interface.run(cwd=outdir)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 400, in run
    env["DISPLAY"] = config.get_display()
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/utils/config.py", line 353, in get_display
    self._display.start()
  File "/usr/local/miniconda/lib/python3.7/site-packages/xvfbwrapper.py", line 79, in start
    raise RuntimeError('Xvfb did not start')
RuntimeError: Xvfb did not start

Traceback (most recent call last):
  File "/usr/local/miniconda/bin/mriqc", line 10, in <module>
    sys.exit(main())
  File "/usr/local/miniconda/lib/python3.7/site-packages/mriqc/cli/run.py", line 69, in main
    mriqc_wf.run(**config.nipype.get_plugin())
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/workflows.py", line 632, in run
    runner.run(execgraph, updatehash=updatehash, config=self.config)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/base.py", line 164, in run
    self._clean_queue(jobid, graph, result=result)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/base.py", line 227, in _clean_queue
    raise RuntimeError("".join(result["traceback"]))
RuntimeError: Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/plugins/multiproc.py", line 67, in run_node
    result["result"] = node.run(updatehash=updatehash)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 516, in run
    result = self._run_interface(execute=True)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 635, in _run_interface
    return self._run_command(execute)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/pipeline/engine/nodes.py", line 741, in _run_command
    result = self._interface.run(cwd=outdir)
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/interfaces/base/core.py", line 400, in run
    env["DISPLAY"] = config.get_display()
  File "/usr/local/miniconda/lib/python3.7/site-packages/nipype/utils/config.py", line 353, in get_display
    self._display.start()
  File "/usr/local/miniconda/lib/python3.7/site-packages/xvfbwrapper.py", line 79, in start
    raise RuntimeError('Xvfb did not start')
RuntimeError: Xvfb did not start

^CProcess ForkServerProcess-19:
Error in atexit._run_exitfuncs:
Process ForkServerProcess-18:
Traceback (most recent call last):
Process ForkServerProcess-16:
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 103, in _python_exit
Process ForkServerProcess-5:
Process ForkServerProcess-4:
Process ForkServerProcess-9:
Process ForkServerProcess-21:
Process ForkServerProcess-8:
Process ForkServerProcess-6:
Process ForkServerProcess-17:
Process ForkServerProcess-12:
Process ForkServerProcess-15:
Process ForkServerProcess-14:
Process ForkServerProcess-20:
Process ForkServerProcess-22:
    t.join()
  File "/usr/local/miniconda/lib/python3.7/threading.py", line 1032, in join
Process ForkServerProcess-11:
Process ForkServerProcess-3:
Process ForkServerProcess-10:
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
KeyboardInterrupt
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
KeyboardInterrupt
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
KeyboardInterrupt
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/threading.py", line 1048, in _wait_for_tstate_lock
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
Traceback (most recent call last):
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
KeyboardInterrupt
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
KeyboardInterrupt
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 94, in get
    res = self._recv_bytes()
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/connection.py", line 216, in recv_bytes
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/connection.py", line 407, in _recv_bytes
KeyboardInterrupt
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/connection.py", line 379, in _recv
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
KeyboardInterrupt
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
Traceback (most recent call last):
Traceback (most recent call last):
KeyboardInterrupt
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
Fatal Python error: Traceback (most recent call last):
Bus error  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:

KeyboardInterrupt
Thread 0x  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
00007faafe000700  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
 (most recent call first):
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File   File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
"  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
KeyboardInterrupt
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
/  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
KeyboardInterrupt
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
u  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
s  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
KeyboardInterrupt
r  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
/lo  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
ca  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
l/KeyboardInterrupt
m  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
inic  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
oKeyboardInterrupt
KeyboardInterrupt
n  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
da/  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
lib  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
/python3.7/threadinKeyboardInterrupt
g.py", line 296 in wait
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 224 in _feed
  File "/usr/local/miniconda/lib/python3.7/threading.py", line 865 in run
  File "/usr/local/miniconda/lib/python3.7/threading.py", line 917 in _bootstrap_inner
  File "/usr/local/miniconda/lib/python3.7/threading.py", line 885 in _bootstrap

Thread 0x00007faafea00700 (most recent call first):
  File "/usr/local/miniconda/lib/python3.7/selectors.py", line 415 in select
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/connection.py", line 920 in wait
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 354 in _queue_management_worker
  File "/usr/local/miniconda/lib/python3.7/threading.py", line 865 in run
  File "/usr/local/miniconda/lib/python3.7/threading.py", line 917 in _bootstrap_inner
  File "/usr/local/miniconda/lib/python3.7/threading.py", line 885 in _bootstrap  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__

Current thread 0x00007fab2ca28700 (most recent call first):
KeyboardInterrupt
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
KeyboardInterrupt
Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/miniconda/lib/python3.7/concurrent/futures/process.py", line 226, in _process_worker
    call_item = call_queue.get(block=True)
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/queues.py", line 93, in get
    with self._rlock:
  File "/usr/local/miniconda/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
KeyboardInterrupt
ERROR: 
Interrupted by user while doing magic: KeyboardInterrupt()
asmacdo commented 3 months ago

Since it worked for me once, (still just that one time this morning) I suspect this could be related to the similar issue involving a race condition. https://github.com/nipreps/mriqc/issues/25

A fix to nypipe was merged in 2016, and has been present since MRIQC 0.12. But that does suggest there might be a problem related to AFNI?

yarikoptic commented 3 months ago

nice digging, and great to meet another flaky bugs magnet. But given that

 A newer version (1.8.4) of nipy/nipype is available. You are using 1.6.0

so we are using 1.6.0 and https://github.com/oesteban/nipype/commit/2ed1624c791c77b00b246062e446b1880fd9a3e8 where the fix is if I got it right -- was of 1.0.0 times... and indeed we use 0.16 mriqc and you mentioned that the fix was present in 0.12 . So might be smth else and I wish we did not have to dig it :-/ Since it is just a demo, let's keep it "filed" but we might just switch to some other bids app as demo at some point to avoid this.