Attached is a debdiff for resolute: rust-coreutils
0.10.0-1ubuntu2~26.04.2.

It adds one patch, upstream commit bf423f3 backported to 0.10.0. The code
hunk applies unchanged (offset only). The upstream test
test_mkdir_concurrent_non_recursive is appended to tests/by-util/test_mkdir.rs,
because its upstream context does not exist in 0.10.0. The patch follows the
format of cp-fix-symlink-target-permissions.patch (LP: #2165041).

Tested in a clean ubuntu:26.04 container (arm64), with the reproducer from the
[Test Plan]:

  before (0.10.0-1ubuntu2~26.04.1):
    mkdir (uutils coreutils) 0.10.0: 39 of 100 rounds had more than one winner 
(20 contenders)
  after (0.10.0-1ubuntu2~26.04.2):
    mkdir (uutils coreutils) 0.10.0: 0 of 100 rounds had more than one winner 
(20 contenders)
    mkdir (uutils coreutils) 0.10.0: 0 of 100 rounds had more than one winner 
(20 contenders)

Regression checks with the fixed package:
  mkdir existing-dir       -> "File exists", exit 1 (unchanged)
  mkdir -p existing-dir    -> exit 0 (unchanged)
  mkdir -p new/nested/path -> exit 0, created (unchanged)
  mkdir -pv a/../e         -> "created directory 'a/../e'", exit 0 (unchanged)
  cargo test test_mkdir    -> 43 passed, 0 failed; with the code hunk reverted,
                              test_mkdir_concurrent_non_recursive fails in 
round 0

Additional impact: GitHub Actions' ubuntu-latest runners now use Ubuntu 26.04,
so every CI job there that uses a mkdir lock is affected. We hit this in a
project's CI. Twelve concurrent writers serialized by `mkdir "$lock"` lost
updates in about 1 of 4 rounds, while every writer exited 0. In a separate
race test, uutils mkdir had more than one winner in 102 of 200 races; GNU
mkdir had 0 of 200.

** Patch added: "debdiff for resolute (0.10.0-1ubuntu2~26.04.2), backports 
upstream bf423f3"
   
https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2171333/+attachment/6014715/+files/rust-coreutils_0.10.0-1ubuntu2~26.04.2.debdiff

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

Title:
  [SRU] mkdir exits 0 when another process creates the directory
  concurrently (breaks mkdir-as-lock); please backport upstream bf423f3
  to 26.04

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rust-coreutils/+bug/2171333/+subscriptions


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

Reply via email to