This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kulikjak
Recipients kulikjak
Date 2019-07-11.08:33:09
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1562833990.12.0.316941845993.issue37558@roundup.psfhosted.org>
In-reply-to
Content
Hi,

with the addition of shared memory into Python 3.8, we now have three tests failing on Solaris, namely `test_multiprocessing_fork`, `test_multiprocessing_forkserver` and `test_multiprocessing_spawn`. All of them fail in the same way:

======================================================================
ERROR: test_shared_memory_cleaned_after_process_termination (test.test_multiprocessing_fork.WithProcessesTestSharedMemory)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ".../Python-3.8.0b2/Lib/test/_test_multiprocessing.py", line 4013, in test_shared_memory_cleaned_after_process_termination
    smm = shared_memory.SharedMemory(name, create=False)
  File ".../Python-3.8.0b2/Lib/multiprocessing/shared_memory.py", line 100, in __init__
    self._fd = _posixshmem.shm_open(
OSError: [Errno 22] Invalid argument: '//psm_5c1b5800'

The reason for this, in my opinion, is that the test suite is accessing private `sm._name` instead of the normalized `sm.name`. Returned value already has one slash prepended, and another one is prepended SharedMemory init is called, resulting in double slashes, which is incorrect.

Change to `sm.name` fixes this problem.
History
Date User Action Args
2019-07-11 08:33:10kulikjaksetrecipients: + kulikjak
2019-07-11 08:33:10kulikjaksetmessageid: <1562833990.12.0.316941845993.issue37558@roundup.psfhosted.org>
2019-07-11 08:33:10kulikjaklinkissue37558 messages
2019-07-11 08:33:09kulikjakcreate