[Bug 2143933] [NEW] cryptsetup luks2-reencryption-mangle-test fails: dd returns with SIGPIPE

Benjamin Drung 2143933 at bugs.launchpad.net
Wed Mar 11 17:35:34 UTC 2026


Public bug reported:

cryptsetup 2:2.8.4-1ubuntu3 fails to build from source on arm64 and
armhf because luks2-reencryption-mangle-test fails:

```
[1] Reencryption with old flag is rejected
[2] Old reencryption in-progress (journal)
[3] Old reencryption in-progress (checksum)
FAILED backtrace:
140 img_update_json ./luks2-reencryption-mangle-test
300 main ./luks2-reencryption-mangle-test
FAIL: luks2-reencryption-mangle-test
```

The failing code:

```
img_update_json() {
 [...]
 local SUM1_HEX=$(_dd if=$_hdr count=$JSON_MSIZE | sha256sum | cut -d ' ' -f 1)
 echo $SUM1_HEX | xxd -r -p | _dd of=$_hdr seek=$LUKS2_BIN1_OFFSET count=64 || fail

 local SUM2_HEX=$(_dd if=$_hdr skip=$JSON_MSIZE count=$JSON_MSIZE | sha256sum | cut -d ' ' -f 1)
 echo $SUM2_HEX | xxd -r -p | _dd of=$_hdr seek=$LUKS2_BIN2_OFFSET count=64 || fail
}
```

_dd just calls dd with additional parameters. Enhancing the fail
functions show that dd exits with code 141 (SIGPIPE).

rust-coreutils 0.6.0-0ubuntu1 is affected. switching to gnudd solved
this failure.

I could reproduce this behavior on a Raspberry Pi 5 running resolute
with linux 7.0.0-1003.3

** Affects: cryptsetup (Ubuntu)
     Importance: High
     Assignee: Benjamin Drung (bdrung)
         Status: New

** Affects: rust-coreutils (Ubuntu)
     Importance: Undecided
         Status: New

** Also affects: rust-coreutils (Ubuntu)
   Importance: Undecided
       Status: New

** Description changed:

  cryptsetup 2:2.8.4-1ubuntu3 fails to build from source on arm64 and
  armhf because luks2-reencryption-mangle-test fails:
  
  ```
  [1] Reencryption with old flag is rejected
  [2] Old reencryption in-progress (journal)
  [3] Old reencryption in-progress (checksum)
  FAILED backtrace:
  140 img_update_json ./luks2-reencryption-mangle-test
  300 main ./luks2-reencryption-mangle-test
  FAIL: luks2-reencryption-mangle-test
  ```
  
  The failing code:
  
  ```
  img_update_json() {
- 	[...]
- 	local SUM1_HEX=$(_dd if=$_hdr count=$JSON_MSIZE | sha256sum | cut -d ' ' -f 1)
- 	echo $SUM1_HEX | xxd -r -p | _dd of=$_hdr seek=$LUKS2_BIN1_OFFSET count=64 || fail
+  [...]
+  local SUM1_HEX=$(_dd if=$_hdr count=$JSON_MSIZE | sha256sum | cut -d ' ' -f 1)
+  echo $SUM1_HEX | xxd -r -p | _dd of=$_hdr seek=$LUKS2_BIN1_OFFSET count=64 || fail
  
- 	local SUM2_HEX=$(_dd if=$_hdr skip=$JSON_MSIZE count=$JSON_MSIZE | sha256sum | cut -d ' ' -f 1)
- 	echo $SUM2_HEX | xxd -r -p | _dd of=$_hdr seek=$LUKS2_BIN2_OFFSET count=64 || fail
+  local SUM2_HEX=$(_dd if=$_hdr skip=$JSON_MSIZE count=$JSON_MSIZE | sha256sum | cut -d ' ' -f 1)
+  echo $SUM2_HEX | xxd -r -p | _dd of=$_hdr seek=$LUKS2_BIN2_OFFSET count=64 || fail
  }
  ```
  
  _dd just calls dd with additional parameters. Enhancing the fail
  functions show that dd exits with code 141 (SIGPIPE).
+ 
+ rust-coreutils 0.6.0-0ubuntu1 is affected. switching to gnudd solved
+ this failure.

** Description changed:

  cryptsetup 2:2.8.4-1ubuntu3 fails to build from source on arm64 and
  armhf because luks2-reencryption-mangle-test fails:
  
  ```
  [1] Reencryption with old flag is rejected
  [2] Old reencryption in-progress (journal)
  [3] Old reencryption in-progress (checksum)
  FAILED backtrace:
  140 img_update_json ./luks2-reencryption-mangle-test
  300 main ./luks2-reencryption-mangle-test
  FAIL: luks2-reencryption-mangle-test
  ```
  
  The failing code:
  
  ```
  img_update_json() {
   [...]
   local SUM1_HEX=$(_dd if=$_hdr count=$JSON_MSIZE | sha256sum | cut -d ' ' -f 1)
   echo $SUM1_HEX | xxd -r -p | _dd of=$_hdr seek=$LUKS2_BIN1_OFFSET count=64 || fail
  
   local SUM2_HEX=$(_dd if=$_hdr skip=$JSON_MSIZE count=$JSON_MSIZE | sha256sum | cut -d ' ' -f 1)
   echo $SUM2_HEX | xxd -r -p | _dd of=$_hdr seek=$LUKS2_BIN2_OFFSET count=64 || fail
  }
  ```
  
  _dd just calls dd with additional parameters. Enhancing the fail
  functions show that dd exits with code 141 (SIGPIPE).
  
  rust-coreutils 0.6.0-0ubuntu1 is affected. switching to gnudd solved
  this failure.
+ 
+ I could reproduce this behavior on a Raspberry Pi 5 running resolute
+ with linux 7.0.0-1003.3

** Changed in: cryptsetup (Ubuntu)
     Assignee: (unassigned) => Benjamin Drung (bdrung)

** Changed in: cryptsetup (Ubuntu)
   Importance: Undecided => High

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

Title:
  cryptsetup luks2-reencryption-mangle-test fails: dd returns with
  SIGPIPE

Status in cryptsetup package in Ubuntu:
  New
Status in rust-coreutils package in Ubuntu:
  New

Bug description:
  cryptsetup 2:2.8.4-1ubuntu3 fails to build from source on arm64 and
  armhf because luks2-reencryption-mangle-test fails:

  ```
  [1] Reencryption with old flag is rejected
  [2] Old reencryption in-progress (journal)
  [3] Old reencryption in-progress (checksum)
  FAILED backtrace:
  140 img_update_json ./luks2-reencryption-mangle-test
  300 main ./luks2-reencryption-mangle-test
  FAIL: luks2-reencryption-mangle-test
  ```

  The failing code:

  ```
  img_update_json() {
   [...]
   local SUM1_HEX=$(_dd if=$_hdr count=$JSON_MSIZE | sha256sum | cut -d ' ' -f 1)
   echo $SUM1_HEX | xxd -r -p | _dd of=$_hdr seek=$LUKS2_BIN1_OFFSET count=64 || fail

   local SUM2_HEX=$(_dd if=$_hdr skip=$JSON_MSIZE count=$JSON_MSIZE | sha256sum | cut -d ' ' -f 1)
   echo $SUM2_HEX | xxd -r -p | _dd of=$_hdr seek=$LUKS2_BIN2_OFFSET count=64 || fail
  }
  ```

  _dd just calls dd with additional parameters. Enhancing the fail
  functions show that dd exits with code 141 (SIGPIPE).

  rust-coreutils 0.6.0-0ubuntu1 is affected. switching to gnudd solved
  this failure.

  I could reproduce this behavior on a Raspberry Pi 5 running resolute
  with linux 7.0.0-1003.3

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cryptsetup/+bug/2143933/+subscriptions




More information about the foundations-bugs mailing list