[Bug 2125504] Re: /usr/bin/sort: -k option does not behave as GNU's sort

Launchpad Bug Tracker 2125504 at bugs.launchpad.net
Wed Feb 11 00:17:14 UTC 2026


This bug was fixed in the package rust-coreutils - 0.6.0-0ubuntu1

---------------
rust-coreutils (0.6.0-0ubuntu1) resolute; urgency=medium

  * New usptream version (LP: #2139697)
  * Fixes:
    - comm does not work as expected with process substitution (LP: #2138315)
    - git: FTBFS in Resolute (LP: #2138217)
    - tee with multiple --append fails in rust corutils (LP: #2134578)
    - echo 1 | sort | head -n0: sort: write failed: 'standard output':
      Broken pipe (LP: #2133156)
    - env: Rust unwrap with UTF-8 symbols in environment variables
      (LP: #2132941)
    - "du" is double-counting hard links when multiple arguments specified
      (LP: #2132245)
    - dd: O_DIRECT partial block writes fail (LP: #2132150)
    - date does not support localized output (LP: #2130859)
    - SSH sessions blocked on unavailable automounts by default in Ubuntu 25.10
      (LP: #2130843)
    - rust-coreutils 'shred' refuses to write to a device (LP: #2130396)
    - rust-coreutils stats handling breaks wireguard's wg-quick (LP: #2127851)
    - rust-coreutils:dd: Broken pipe (LP: #2125943)
    - /usr/bin/sort: -k option does not behave as GNU's sort (LP: #2125504)
    - uutils wc crashed with SIGABRT on logout (LP: #2122166)
    - who, pinky are empty - need to talk to logind (LP: #2117771)
  * Drop applied patches:
    - use-mem-zeroed.diff: The timespec C-binding struct has been replaced
      by the safe abstraction nix::sys::time::TimeSpec. Padding should now
      be handled internally for 32-bit architectures.
  * Refresh patches:
    - Tweak-release-build-profile.patch
    - build-stty.patch
    - dd-ensure-full-writes.patch
    - fix-prefix.diff
    - glibc-2.42.patch
    - require-utilities-to-be-invoked-using-matching-path.patch
    - use-l10n-translations-in-makefile.patch
    - workspace-exclude.patch
  * Add patch:
    - prevent-stty-termios2-on-ppc64el.patch: The termios2 header is not
      always available or exposed on ppc64el systems. Use the standard termios
      interface instead to avoid build failures on such systems.
  * Skip failing tests:
    (s390x)
    - test_env::test_simulation_of_terminal_for_stdout_only
    - test_nohup::test_nohup_stderr_to_stdout
    - test_nohup::test_nohup_with_pseudo_terminal_emulation_on_stdin_stdout_stderr_get_replaced
    - test_touch::test_touch_changes_time_of_file_in_stdout
    (amd64v3)
    - test_dd::test_stdin_stdout_skip_w_multiplier
  * Re-enable previously failing tests:
    - test_chown::test_chown_only_group_id_nonexistent_group
    - test_chown::test_chown_only_user_id_nonexistent_user
    - test_expr::test_long_input
    - test_factor::test_parallel
    - test_install::test_install_and_strip
    - test_install::test_install_and_strip_with_program
    - test_ls::test_device_number
    - test_ls::test_localized_possible_values
    - test_od::test_od_options_after_filename
    - test_od::test_suppress_duplicates
    - test_sort::
      + test_argument_suggestion
      + test_clap_localization_help_message
      + test_clap_localization_invalid_value
      + test_clap_localization_unknown_argument
      + test_error_colors_disabled
      + test_error_colors_enabled
      + test_french_translations
      + test_help_colors_disabled
      + test_help_colors_enabled
    - test_stat::
      + test_mount_point_basic
      + test_mount_point_combined_with_other_specifiers
      + test_multi_files
      + test_normal_format
      + test_printf
      + test_symlinks
      + test_terse_fs_format
    - test_error_messages_french_translation
    - test_french_colored_error_messages
    - test_help_messages_french_translation
    - util_invalid_name_invalid_command

 -- Simon Johnsson <simon.johnsson at canonical.com>  Tue, 03 Feb 2026
17:53:04 +0100

** Changed in: rust-coreutils (Ubuntu)
       Status: Triaged => Fix Released

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

Title:
   /usr/bin/sort: -k option does not behave as GNU's sort

Status in rust-coreutils:
  Fix Released
Status in rust-coreutils package in Ubuntu:
  Fix Released

Bug description:
  As discussed in LP: #2125057, when GNU's sort takes the following
  input

  ```
  17 new1 5434 online postgres /var/lib/postgresql/17/new1 /var/log/postgresql/postgresql-17-new1.log
  17 new2 5440 online postgres /var/lib/postgresql/17/new2 /var/log/postgresql/postgresql-17-new2.log
  17 old  5435 online postgres /var/lib/postgresql/17/old /var/log/postgresql/postgresql-17-old.log
  ```

  and sorts it with `-k3`, it outputs:

  ```
  17 new1 5434 online postgres /var/lib/postgresql/17/new1 /var/log/postgresql/postgresql-17-new1.log
  17 old 5435 online postgres /var/lib/postgresql/17/old /var/log/postgresql/postgresql-17-old.log
  17 new2 5440 online postgres /var/lib/postgresql/17/new2 /var/log/postgresql/postgresql-17-new2.log
  ```

  while uutils' sort outputs:

  ```
  17 old 5435 online postgres /var/lib/postgresql/17/old /var/log/postgresql/postgresql-17-old.log
  17 new1 5434 online postgres /var/lib/postgresql/17/new1 /var/log/postgresql/postgresql-17-new1.log
  17 new2 5440 online postgres /var/lib/postgresql/17/new2 /var/log/postgresql/postgresql-17-new2.log
  ```

  Note that he line being sorted in the first position has an additional space before the third field ("  5435").
  It seems that uutils' sort is including that second space in the string being sorted, while GNU's sort ignores it.

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




More information about the foundations-bugs mailing list