YuSugihara / QTL-seq

QTL-seq pipeline to identify causative mutations responsible for a phenotype
46 stars 23 forks source link

assert not _current_process._config.get('daemon') #43

Open jiuhai opened 1 year ago

jiuhai commented 1 year ago

I got an error like this and it stopped.

[QTL-seq:2023-07-17 23:05:13] start to run QTL-seq. [QTL-seq:2023-07-17 23:05:13] maximum number of threads which you can use is up to 16. [QTL-seq:2023-07-17 23:05:13] start to index reference fasta. [QTL-seq:2023-07-17 23:05:14] indexing of reference successfully finished. [QTL-seq:2023-07-17 23:05:14] start to align reads of parent.0000 by BWA. [QTL-seq:2023-07-17 23:05:19] alignment parent.0000 successfully finished. [QTL-seq:2023-07-17 23:05:19] start to align reads of bulk1.0000 by BWA. [QTL-seq:2023-07-17 23:05:23] alignment bulk1.0000 successfully finished. [QTL-seq:2023-07-17 23:05:23] start to align reads of bulk2.0000 by BWA. [QTL-seq:2023-07-17 23:05:28] alignment bulk2.0000 successfully finished. [QTL-seq:2023-07-17 23:05:28] start to merge BAMs. [QTL-seq:2023-07-17 23:05:30] merging process successfully finished. [QTL-seq:2023-07-17 23:05:30] start to call variants. Process SpawnPoolWorker-2: Traceback (most recent call last): File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap self.run() File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/process.py", line 108, in run self._target(*self._args, self._kwargs) File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/pool.py", line 114, in worker task = get() File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/queues.py", line 367, in get return _ForkingPickler.loads(res) File "/Users/jiuhaizhao/Documents/QTLseq/QTL-seq/qtlseq/mpileup.py", line 7, in from qtlseq.vcf2index import Vcf2Index File "/Users/jiuhaizhao/Documents/QTLseq/QTL-seq/qtlseq/vcf2index.py", line 10, in cache = Manager().dict() File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/context.py", line 57, in Manager m.start() File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/managers.py", line 554, in start self._process.start() File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/process.py", line 118, in start assert not _current_process._config.get('daemon'), \ AssertionError: daemonic processes are not allowed to have children ^CProcess SpawnPoolWorker-4: Process SpawnPoolWorker-3: Traceback (most recent call last): File "/Users/jiuhaizhao/miniconda3/bin/qtlseq", line 33, in sys.exit(load_entry_point('qtlseq', 'console_scripts', 'qtlseq')()) File "/Users/jiuhaizhao/Documents/QTLseq/QTL-seq/qtlseq/qtlseq.py", line 171, in main Traceback (most recent call last): File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap self.run() File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/process.py", line 108, in run self._target(*self._args, *self._kwargs) File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/pool.py", line 114, in worker task = get() File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/queues.py", line 364, in get with self._rlock: File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/synchronize.py", line 95, in enter return self._semlock.enter() Traceback (most recent call last): KeyboardInterrupt QTLseq(args).run() File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap self.run() File "/Users/jiuhaizhao/Documents/QTLseq/QTL-seq/qtlseq/qtlseq.py", line 166, in run File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/process.py", line 108, in run self._target(self._args, self._kwargs) File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/pool.py", line 114, in worker task = get() File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/queues.py", line 365, in get res = self._reader.recv_bytes() File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/connection.py", line 221, in recv_bytes buf = self._recv_bytes(maxlength) File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/connection.py", line 419, in _recv_bytes buf = self._recv(4) File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/connection.py", line 384, in _recv chunk = read(handle, remaining) KeyboardInterrupt self.mpileup() File "/Users/jiuhaizhao/Documents/QTLseq/QTL-seq/qtlseq/qtlseq.py", line 122, in mpileup mp.run() File "/Users/jiuhaizhao/Documents/QTLseq/QTL-seq/qtlseq/mpileup.py", line 228, in run p.map(self.mpileup, chr_names) File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/pool.py", line 364, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/pool.py", line 765, in get self.wait(timeout) File "/Users/jiuhaizhao/miniconda3/lib/python3.9/multiprocessing/pool.py", line 762, in wait self._event.wait(timeout) File "/Users/jiuhaizhao/miniconda3/lib/python3.9/threading.py", line 581, in wait signaled = self._cond.wait(timeout) File "/Users/jiuhaizhao/miniconda3/lib/python3.9/threading.py", line 312, in wait waiter.acquire() KeyboardInterrupt

YuSugihara commented 11 months ago

Sorry for my late response.

Thank you very much for reporting the error.

I actually found an error related to multiprocessing on Mac which I could not observe in Linux. I'm not sure if this error is relevant to your error, but I have already fixed this bug and have released as v2.2.4. Therefore, if you have an opportunity, please try test dataset with new version.

Best regards, Yu