SemLock as user permission denied after update to 14.1

From: Reshad Patuck <reshadpatuck1_at_gmail.com>
Date: Fri, 12 Jul 2024 05:30:08 UTC
Hi,

I have just updated one of my systems from FreeBSD 14.0 to 14.1 (using
pkg-base).
One of my python programs that runs as a non-root user fails to get a
SemLock when running as a non-root user.
This works fine on my other FreeBSD 14.0 systems.
Is there anything I am missing here or during my update?
Any steps to find out what permissions are missing/what has changed
will be really helpful.

pkg base has been complied from git hash -
1eba659e2f689d4014136048a8e470e852bdc69b
ports have been compiled via poudriere from git hash -
1d024a4a0a853573d8586dc097ee9762b41c671b

##### Output from FreeBSD 14.1 running as the admin user #####
$ id
uid=2000(admin) gid=2000(admin) groups=2000(admin),0(wheel)
$ uname -iKmoprUv
FreeBSD 14.1-RELEASE-p2 FreeBSD 14.1-RELEASE-p2 #0 1eba659e2-dirty:
Thu Jul  4 14:46:15 UTC 2024
root@freebsd-zfs:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 amd64
GENERIC 1401000 1401000
$ python3.11
Python 3.11.9 (main, Jul  4 2024, 09:04:54) [Clang 16.0.6
(https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a on
freebsd14
Type "help", "copyright", "credits" or "license" for more information.
>>> import multiprocessing
>>> multiprocessing.Queue()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.11/multiprocessing/context.py", line
103, in Queue
    return Queue(maxsize, ctx=self.get_context())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/multiprocessing/queues.py", line 43,
in __init__
    self._rlock = ctx.Lock()
                  ^^^^^^^^^^
  File "/usr/local/lib/python3.11/multiprocessing/context.py", line 68, in Lock
    return Lock(ctx=self.get_context())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/multiprocessing/synchronize.py",
line 169, in __init__
    SemLock.__init__(self, SEMAPHORE, 1, 1, ctx=ctx)
  File "/usr/local/lib/python3.11/multiprocessing/synchronize.py",
line 57, in __init__
    sl = self._semlock = _multiprocessing.SemLock(
                         ^^^^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied
>>>

##### Output from FreeBSD 14.1 running as the root user #####
# id
uid=0(root) gid=0(wheel) groups=0(wheel),5(operator)
# uname -iKmoprUv
FreeBSD 14.1-RELEASE-p2 FreeBSD 14.1-RELEASE-p2 #0 1eba659e2-dirty:
Thu Jul  4 14:46:15 UTC 2024
root@freebsd-zfs:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 amd64
GENERIC 1401000 1401000
# python3.11
Python 3.11.9 (main, Jul  4 2024, 09:04:54) [Clang 16.0.6
(https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a on
freebsd14
Type "help", "copyright", "credits" or "license" for more information.
>>> import multiprocessing
>>> multiprocessing.Queue()
<multiprocessing.queues.Queue object at 0x1f9d8e0f4b10>
>>>

##### Output from FreeBSD 14.0 running as the admin user #####
$ id
uid=2000(admin) gid=2000(admin) groups=2000(admin),0(wheel)
$ uname -iKmoprUv
FreeBSD 14.0-RELEASE-p8 FreeBSD 14.0-RELEASE-p8 #0 5e2380679-dirty:
Thu Jul  4 08:31:06 UTC 2024
root@freebsd-zfs:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 amd64
GENERIC 1400097 1400097
$ python3.11
Python 3.11.9 (main, Jul  4 2024, 09:04:54) [Clang 16.0.6
(https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a on
freebsd14
Type "help", "copyright", "credits" or "license" for more information.
>>> import multiprocessing
>>> multiprocessing.Queue()
<multiprocessing.queues.Queue object at 0x275315928f10>
>>>

Best,
Reshad