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
