Xavier de Gaye <[email protected]> added the comment:
Too hasty again, remembering now why I linked this failure with sem_open :-(
Re-opening this issue as the test does fail because Android lacks a functioning
sem_open implementation. And tagging this issue as a dependency of bpo-35978 as
we should wait for the solution on bpo-35978 before fixing this one, if it is
still needed.
The link between the failure and sem_open shows up when running the python
statements of test_multiprocessing() in the interpreter on Android:
generic_x86_64:/data/local/tmp/python $ python
Python 3.8.0a2+ (heads/bpo-36341-dirty:41f0b78cbf, Mar 18 2019, 10:43:05)
[Clang 3.8.275480 ] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from multiprocessing import Pool
>>> print(Pool(1).apply_async("Python".lower).get(3))
Traceback (most recent call last):
File "/data/local/tmp/python/lib/python3.8/multiprocessing/synchronize.py",
line 28, in <module>
from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock' from '_multiprocessing'
(/data/local/tmp/python/lib/python3.8/lib-dynload/_multiprocessing.cpython-38dm.so)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/data/local/tmp/python/lib/python3.8/multiprocessing/context.py", line
118, in Pool
return Pool(processes, initializer, initargs, maxtasksperchild,
File "/data/local/tmp/python/lib/python3.8/multiprocessing/pool.py", line
166, in __init__
self._setup_queues()
File "/data/local/tmp/python/lib/python3.8/multiprocessing/pool.py", line
300, in _setup_queues
self._inqueue = self._ctx.SimpleQueue()
File "/data/local/tmp/python/lib/python3.8/multiprocessing/context.py", line
112, in SimpleQueue
return SimpleQueue(ctx=self.get_context())
File "/data/local/tmp/python/lib/python3.8/multiprocessing/queues.py", line
336, in __init__
self._rlock = ctx.Lock()
File "/data/local/tmp/python/lib/python3.8/multiprocessing/context.py", line
66, in Lock
from .synchronize import Lock
File "/data/local/tmp/python/lib/python3.8/multiprocessing/synchronize.py",
line 30, in <module>
raise ImportError("This platform lacks a functioning sem_open" +
ImportError: This platform lacks a functioning sem_open implementation,
therefore, the required synchronization primitives needed will not function,
see issue 3770.
>>>
----------
dependencies: +test_venv fails in Travis with GCC
resolution: duplicate ->
stage: resolved ->
status: closed -> open
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue36342>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com