Skip to content

Getting segfault's from workers, but not sure what's causing it #6

Open
@rajarshi

Description

@rajarshi

Hi - thanks for the nicely packaged code. I've been running it on some internal data so can't share the inputs data. The code I'm running is

from molskill.scorer import MolSkillScorer
import numpy as np

d= [x.strip() for x in open("d.smi").read().split("\n")]

scorer = MolSkillScorer()
scores = scorer.score(d)
np.savetxt("d-molskill.csv", scores, delimiter=",")

However I see the follow errors - and as far as I can tell the input SMILES are all valid (they've been cleaned). Do you know what might cause this error?

Traceback (most recent call last):
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/site-packages/rdkit/ML/Descriptors/MoleculeDescriptors.py", line 88, in CalcDescriptors
    res[i] = fn(mol)
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/site-packages/rdkit/Chem/EState/EState.py", line 76, in MaxEStateIndex
    return max(EStateIndices(mol, force))
ValueError: max() arg is an empty sequence
Traceback (most recent call last):
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/site-packages/rdkit/ML/Descriptors/MoleculeDescriptors.py", line 88, in CalcDescriptors
    res[i] = fn(mol)
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/site-packages/rdkit/Chem/EState/EState.py", line 83, in MinEStateIndex
    return min(EStateIndices(mol, force))
ValueError: min() arg is an empty sequence
Traceback (most recent call last):
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/site-packages/rdkit/ML/Descriptors/MoleculeDescriptors.py", line 88, in CalcDescriptors
    res[i] = fn(mol)
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/site-packages/rdkit/Chem/EState/EState.py", line 90, in MaxAbsEStateIndex
    return max(abs(x) for x in EStateIndices(mol, force))
ValueError: max() arg is an empty sequence
Traceback (most recent call last):
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/site-packages/rdkit/ML/Descriptors/MoleculeDescriptors.py", line 88, in CalcDescriptors
    res[i] = fn(mol)
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/site-packages/rdkit/Chem/EState/EState.py", line 97, in MinAbsEStateIndex
    return min(abs(x) for x in EStateIndices(mol, force))
ValueError: min() arg is an empty sequence
ERROR: Unexpected segmentation fault encountered in worker.
@Traceback (most recent call last):
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 1120, in _try_get_data
    data = self._data_queue.get(timeout=timeout)
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/multiprocessing/queues.py", line 113, in get
    if not self._poll(timeout):
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/multiprocessing/connection.py", line 257, in poll
    return self._poll(timeout)
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/multiprocessing/connection.py", line 424, in _poll
    r = wait([self], timeout)
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/multiprocessing/connection.py", line 931, in wait
    ready = selector.select(timeout)
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/selectors.py", line 416, in select
    fd_event_list = self._selector.poll(timeout)
  File "/cluster/home/guha/miniconda3/envs/molskill/lib/python3.9/site-packages/torch/utils/data/_utils/signal_handling.py", line 66, in handler
    _error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 171390) is killed by signal: Segmentation fault. 

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions