New submission from Felix Yan <felixonm...@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 <rep...@bugs.python.org>
<https://bugs.python.org/issue41346>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to