[New-bugs-announce] [issue41346] test_thousand and compileall hangs on riscv64

Felix Yan report at bugs.python.org
Mon Jul 20 08:56:10 EDT 2020


New submission from Felix Yan <felixonmars at archlinux.org>:

In my riscv64 build, test_thousand (test.test_multiprocessing_forkserver.WithProcessesTestBarrier) always hangs on some locking thing, and the compileall part during installation hangs the same way. I am not sure if it's toolchain related or something else, though.

Some relevant versions:

Linux riscv64-unknown-linux-gnu
Python 3.8.4
glibc 2.31
gcc 10.1.0

configure switches:

  ./configure --prefix=/usr \
              --enable-shared \
              --with-computed-gotos \
              --enable-optimizations \
              --with-lto \
              --enable-ipv6 \
              --with-system-expat \
              --with-dbmliborder=gdbm:ndbm \
              --with-system-ffi \
              --with-system-libmpdec \
              --enable-loadable-sqlite-extensions \
              --without-ensurepip

When Ctrl-C:

test_thousand (test.test_multiprocessing_forkserver.WithProcessesTestBarrier) ... ^CProcess Process-1305:
Traceback (most recent call last):
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/build/python/src/Python-3.8.4/Lib/test/_test_multiprocessing.py", line 1970, in _test_thousand_f
    barrier.wait()
  File "/build/python/src/Python-3.8.4/Lib/threading.py", line 610, in wait
    self._enter() # Block while the barrier drains.
  File "/build/python/src/Python-3.8.4/Lib/threading.py", line 631, in _enter
    self._cond.wait()
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/synchronize.py", line 261, in wait
    return self._wait_semaphore.acquire(True, timeout)
KeyboardInterrupt
Process Process-1304:
Traceback (most recent call last):
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/build/python/src/Python-3.8.4/Lib/test/_test_multiprocessing.py", line 1970, in _test_thousand_f
    barrier.wait()
  File "/build/python/src/Python-3.8.4/Lib/threading.py", line 610, in wait
    self._enter() # Block while the barrier drains.
  File "/build/python/src/Python-3.8.4/Lib/threading.py", line 631, in _enter
    self._cond.wait()
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/synchronize.py", line 261, in wait
    return self._wait_semaphore.acquire(True, timeout)
KeyboardInterrupt
Process Process-1306:
Traceback (most recent call last):
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/build/python/src/Python-3.8.4/Lib/test/_test_multiprocessing.py", line 1970, in _test_thousand_f
    barrier.wait()
  File "/build/python/src/Python-3.8.4/Lib/threading.py", line 610, in wait
    self._enter() # Block while the barrier drains.
  File "/build/python/src/Python-3.8.4/Lib/threading.py", line 631, in _enter
    self._cond.wait()
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/synchronize.py", line 261, in wait
    return self._wait_semaphore.acquire(True, timeout)
KeyboardInterrupt
Process Process-1302:
Traceback (most recent call last):
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/build/python/src/Python-3.8.4/Lib/test/_test_multiprocessing.py", line 1970, in _test_thousand_f
    barrier.wait()
  File "/build/python/src/Python-3.8.4/Lib/threading.py", line 610, in wait
    self._enter() # Block while the barrier drains.
  File "/build/python/src/Python-3.8.4/Lib/threading.py", line 631, in _enter
    self._cond.wait()
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/synchronize.py", line 261, in wait
    return self._wait_semaphore.acquire(True, timeout)
KeyboardInterrupt
Process Process-1303:
Traceback (most recent call last):
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/process.py", line 315, in _bootstrap
    self.run()
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/build/python/src/Python-3.8.4/Lib/test/_test_multiprocessing.py", line 1970, in _test_thousand_f
    barrier.wait()
  File "/build/python/src/Python-3.8.4/Lib/threading.py", line 610, in wait
    self._enter() # Block while the barrier drains.
  File "/build/python/src/Python-3.8.4/Lib/threading.py", line 631, in _enter
    self._cond.wait()
  File "/build/python/src/Python-3.8.4/Lib/multiprocessing/synchronize.py", line 261, in wait
    return self._wait_semaphore.acquire(True, timeout)
KeyboardInterrupt
Warning -- multiprocessing.process._dangling was modified by test_multiprocessing_forkserver
  Before: set()
  After:  {<weakref at 0x42d7274db0; to 'Process' at 0x42d608aaf0>, <weakref at 0x42d72746d0; to 'Process' at 0x42d608af10>, <weakref at 0x42d7274400; to 'Process' at 0x42d608a9a0>, <weakref at 0x42d7274d10; to 'Process' at 0x42d608abb0>, <weakref at 0x42d7274270; to 'Process' at 0x42d608a5e0>}

test_multiprocessing_fork passed in 1 min 46 sec

== Tests result: FAILURE, INTERRUPTED ==
Test suite interrupted by signal SIGINT.

----------
components: Library (Lib)
files: configure.output
messages: 374005
nosy: felixonmars
priority: normal
severity: normal
status: open
title: test_thousand and compileall hangs on riscv64
type: behavior
versions: Python 3.8
Added file: https://bugs.python.org/file49327/configure.output

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue41346>
_______________________________________


More information about the New-bugs-announce mailing list