Skip to content

Freeze when retrieving a task #388

@PGijsbers

Description

@PGijsbers

I just installed OpenML on a new machine, running Windows 10 and Python 3.6.3. I installed the master branch as of today (4.1.2018). I can not retrieve a task, as the process simply freezes when I call get_task. MWE:

import openml
t = openml.tasks.get_task(3)

it seems to have to do with the locking mechanism, as interrupting this call gives the following stack trace:

  File "\openml\tasks\functions.py", line 239, in get_task
    dataset = get_dataset(task.dataset_id)

  File "openml\datasets\functions.py", line 284, in get_dataset
    lock_path=os.path.join(config.get_cache_directory(), 'locks'),

  File "\lib\site-packages\fasteners-0.14.1-py3.6.egg\fasteners\process_lock.py", line 174, in __enter__
    self.acquire()

  File "\lib\site-packages\fasteners-0.14.1-py3.6.egg\fasteners\process_lock.py", line 156, in acquire
    gotten = r(self._try_acquire, blocking, watch)

  File "\lib\site-packages\fasteners-0.14.1-py3.6.egg\fasteners\_utils.py", line 91, in __call__
    return fn(*args, **kwargs)

  File "\lib\site-packages\fasteners-0.14.1-py3.6.egg\fasteners\process_lock.py", line 94, in _try_acquire
    self.trylock()

It seems the process gets stuck trying to acquire the lock.
Removing the locking mechanism manually (editing out the code) resolves any lock-related issues.*
I am not sure if this means perhaps the issue is with oslo_concurrency.lockutils, or OpenML's use of it. Any idea?

* It introduces a new issue where an xmlquality is assumed to always have a value entry here, this turns out to be a false assumption, generating a KeyError.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions