Skip to content

rename os module's exit function to _exit as thats how it is defined in cpython#4887

Merged
youknowone merged 8 commits into
RustPython:mainfrom
itsankitkp:rename-os-exit-function
Apr 21, 2023
Merged

rename os module's exit function to _exit as thats how it is defined in cpython#4887
youknowone merged 8 commits into
RustPython:mainfrom
itsankitkp:rename-os-exit-function

Conversation

@itsankitkp

@itsankitkp itsankitkp commented Apr 18, 2023

Copy link
Copy Markdown
Contributor

Cpython's os module doesn't have exit function, instead it is defined as _exit.
In rustpython, opposite is the case. This PR aims to fix this discrepancy and rename os.exit to os._exit

Note: noticed during developement of 4877
as forked processes are called to kill themself using os._exit() but that used to fail and process didn't die out.

@itsankitkp itsankitkp marked this pull request as ready for review April 18, 2023 17:35
@fanninpm

Copy link
Copy Markdown
Contributor

Your profile picture is not showing up next to the commit. Did you set up your git email correctly?

@itsankitkp

Copy link
Copy Markdown
Contributor Author

Your profile picture is not showing up next to the commit. Did you set up your git email correctly?

It was apprently not setup up properly. Git used to throw error when I didn't set it properly but not sure why it doesn't do that now.
Anyways, I have properly set it up. Done git commit --amend, that should fix it.

@fanninpm

Copy link
Copy Markdown
Contributor

git commit --amend

I usually use some sort of git rebase command, followed by git push --force.

@itsankitkp

Copy link
Copy Markdown
Contributor Author

git commit --amend

I usually use some sort of git rebase command, followed by git push --force.

That would have been better, now I have three commits just for adding _ :-)
But one question, how did you find this issue? I can't see it anywhere, anything complaining about it.

@fanninpm

Copy link
Copy Markdown
Contributor

But one question, how did you find this issue? I can't see it anywhere, anything complaining about it.

Look at the bottom of your other pull request (about os.fork and related functions).

@itsankitkp

Copy link
Copy Markdown
Contributor Author

But one question, how did you find this issue? I can't see it anywhere, anything complaining about it.

Look at the bottom of your other pull request (about os.fork and related functions).

Okay got it, thanks for head up.

@fanninpm

Copy link
Copy Markdown
Contributor

In Lib/test/test_import/test_threaded_import.py, it appears that test_multiprocessing_pool_circular_import now fails on all platforms.

@youknowone

Copy link
Copy Markdown
Member

how is this happening? looking so irrelevent.

@itsankitkp

Copy link
Copy Markdown
Contributor Author

on this branch, if I run script directly target/release/rustpython pylib/Lib/test/test_importlib/partial/pool_in_threads.py
Build is done using cargo build --release --features ssl,jit on Linux system (Ubuntu 22.10)
I get error:

Traceback (most recent call last):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock

On main branch I get this (long traceback warning)

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
Traceback (most recent call last):
ImportError: cannot import name 'SemLock'
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink

During handling of the above exception, another exception occurred:

ImportError: cannot import name 'SemLock'
Traceback (most recent call last):

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
ImportError: cannot import name 'SemLock'
Traceback (most recent call last):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock

During handling of the above exception, another exception occurred:

  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
Traceback (most recent call last):
Exception in thread Thread-9 (t):
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")

ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
Exception in thread Thread-5 (t):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
Exception in thread Thread-3 (t):
Exception in thread Thread-14 (t):
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
AttributeError: module 'os' has no attribute '_exit'
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
Exception in thread Thread-1 (t):
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
AttributeError: module 'os' has no attribute '_exit'
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
Exception in thread Thread-19 (t):
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'
Traceback (most recent call last):

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()

During handling of the above exception, another exception occurred:

  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
Exception in thread Thread-11 (t):Traceback (most recent call last):

  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
Exception in thread Thread-4 (t):
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
AttributeError: module 'os' has no attribute '_exit'
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
Traceback (most recent call last):
Exception in thread Thread-12 (t):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
ImportError: cannot import name 'SemLock'
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
Traceback (most recent call last):

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
Exception in thread Thread-15 (t):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
Exception in thread Thread-2 (t):
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

During handling of the above exception, another exception occurred:

  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
Traceback (most recent call last):
AttributeError: module 'os' has no attribute '_exit'
Traceback (most recent call last):
Traceback (most recent call last):
ImportError: cannot import name 'SemLock'
Traceback (most recent call last):
Traceback (most recent call last):
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
ImportError: cannot import name 'SemLock'
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())

During handling of the above exception, another exception occurred:

  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
Traceback (most recent call last):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
AttributeError: module 'os' has no attribute '_exit'
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
Exception in thread Thread-6 (t):  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
Traceback (most recent call last):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
AttributeError: module 'os' has no attribute '_exit'
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
Traceback (most recent call last):
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
Exception in thread Thread-13 (t):
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
AttributeError: module 'os' has no attribute '_exit'
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):

  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()

During handling of the above exception, another exception occurred:

  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: cannot import name 'SemLock'
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
Exception in thread Thread-16 (t):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
ImportError: cannot import name 'SemLock'
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
Exception in thread Thread-17 (t):  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
Traceback (most recent call last):
Exception in thread Thread-10 (t):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
Exception in thread Thread-8 (t):
During handling of the above exception, another exception occurred:

ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

During handling of the above exception, another exception occurred:

  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
ImportError: cannot import name 'SemLock'
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
Exception in thread Thread-18 (t):
Traceback (most recent call last):


  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
AttributeError: module 'os' has no attribute '_exit'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
ImportError: cannot import name 'SemLock'
ImportError: cannot import name 'SemLock'
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
AttributeError: module 'os' has no attribute '_exit'
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
AttributeError: module 'os' has no attribute '_exit'
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()

During handling of the above exception, another exception occurred:


During handling of the above exception, another exception occurred:

  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
Traceback (most recent call last):
Exception in thread Thread-7 (t):
Traceback (most recent call last):
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
AttributeError: module 'os' has no attribute '_exit'
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

During handling of the above exception, another exception occurred:

  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 33, in <module>
    " function, see issue 3770.")
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
Traceback (most recent call last):
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 120, in Pool
    context=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 191, in __init__
    self._setup_queues()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/pool.py", line 343, in _setup_queues
    self._inqueue = self._ctx.SimpleQueue()
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock'
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
Traceback (most recent call last):

During handling of the above exception, another exception occurred:

  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/queues.py", line 341, in __init__
    self._rlock = ctx.Lock()
  File "/home/ankit/RustPython/pylib/Lib/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 957, in run
    del self._target, self._args, self._kwargs
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 13, in t
    os._exit(1)
Traceback (most recent call last):
AttributeError: module 'os' has no attribute '_exit'

During handling of the above exception, another exception occurred:


During handling of the above exception, another exception occurred:

  File "pylib/Lib/test/test_importlib/partial/pool_in_threads.py", line 9, in t
    with multiprocessing.Pool(1):
  File "/home/ankit/RustPython/pylib/Lib/threading.py", line 1016, in _bootstrap_inner

on cpython it runs fine
python3 pylib/Lib/test/test_importlib/partial/pool_in_threads.py

 /usr/local/lib/python3.12/multiprocessing/popen_fork.py:66: DeprecationWarning: This process (pid=38245) is multi-threaded, use of fork() may lead to deadlocks in the child.
  self.pid = os.fork()

Also

import multiprocessing
multiprocessing.Pool(1)

works fine on cpython, but it doesn't work in rustpython raising error from _multiprocessing import SemLock, sem_unlink ImportError: cannot import name 'SemLock (similar as seen above)

Bottom line:
For some reason this test case used to pass but it doesn't work well if we run manually due to missing imports.
I have added skipIf tag to check required modules before running the test

Comment thread Lib/test/test_importlib/test_threaded_import.py Outdated
@fanninpm

Copy link
Copy Markdown
Contributor

The CI failures on Windows seem to be unrelated.

Co-authored-by: fanninpm <fanninpm@miamioh.edu>
@youknowone

Copy link
Copy Markdown
Member

Nice catch, thank you!

@itsankitkp

Copy link
Copy Markdown
Contributor Author

Is there anything pending for this PR?

@youknowone youknowone left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am sorry. I was going to investigate if the windows failure is related to this changes - but forgot about the PR after stuck by that.
Thank you!

@youknowone youknowone merged commit f0db832 into RustPython:main Apr 21, 2023
@itsankitkp

Copy link
Copy Markdown
Contributor Author

I am sorry. I was going to investigate if the windows failure is related to this changes - but forgot about the PR after stuck by that. Thank you!

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants