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