Public bug reported:

The _uuid C extension module is not included in the libpython3.12-stdlib 
package (3.12.3-1ubuntu0.12) on Ubuntu 24.04 amd64.

Impact not on earlier versions using earlier versions of Ubuntu LTS,
such as 22.04.

This module is built by CPython's when uuid-dev (libuuid headers)  is
available at compile time. It provides the generate_time_safe()
function, which wraps libuuid's uuid_generate_time_safe(), enabling
uuid.uuid1() to return SafeUUID.safe when the uuidd daemon is running.

Without _uuid.cpython-312-x86_64-linux-gnu.so in lib-dynload/, Python's
uuid module falls back to pure-Python UUID generation, which always
returns  SafeUUID.unknown, even when uuidd is installed and running.
This makes it impossible for applications to verify the UUID uniqueness
safety.

Steps to reproduce:
  1. Fresh Ubuntu 24.04 install with python3.12 (default)
  2. apt install uuid-runtime
  3. systemctl start uuidd
  4. python3 -c "import uuid; print(uuid.uuid1().is_safe)"

Expected: SafeUUID.safe
Actual: SafeUUID.unknown

Cause: _uuid.cpython-312-x86_64-linux-gnu.so is not present in
/usr/lib/python3.12/lib-dynload/. Confirmed by checking the official
package file list at:
https://packages.ubuntu.com/noble/amd64/libpython3.12-stdlib/filelist

It is a critical feature for services that spawn multiple processes and
need to create unique incremental UUIDs, such as UUID1 in this case.
UUID4 does not solve the incremental part.

** Affects: python3.12 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2147343

Title:
  _uuid C extension module missing from libpython3.12-stdlib on Ubuntu
  24.04 (Noble)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python3.12/+bug/2147343/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to