[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[coreutils] new snapshot available: coreutils-8.7.66-561f8

From: Jim Meyering
Subject: [coreutils] new snapshot available: coreutils-8.7.66-561f8
Date: Fri, 17 Dec 2010 11:07:11 +0100

Here's a preview of what should soon appear as coreutils-8.8.
This is mostly a bug-fix release, with numerous fixes to our
newly-parallelized sort.  Any testing you can perform over
the weekend would be most welcome.

coreutils snapshot: (.gz files are here, too)      4.6 MB

There are .gz and .sig files here, too:

Thanks to Paul Eggert, Chen Guo and Pádraig Brady for all the
time they spent contributing to this release.

The only significant non-bug-fix change was to add a useful set of
features to split that lets you split input into N roughly-equal pieces,
with options to split on line boundaries or not, and, when honoring line
boundaries, to distribute lines in a round-robin fashion or not.

Here are some split examples that I'll add to coreutils.texi:

Notice how, by default, one line may be split onto two or more:

    $ seq -w 6 10 > k; split -n3 k; head xa?                                    
    ==> xaa <==
    ==> xab <==

    ==> xac <==

Use the "l/" modifier to suppress that:

    $ seq -w 6 10 > k; split -nl/3 k; head xa?                                  
    ==> xaa <==

    ==> xab <==

    ==> xac <==

Use the "r/" modifier to distribute lines in a round-robin fashion:

    $ seq -w 6 10 > k; split -nr/3 k; head xa?                                  
    ==> xaa <==

    ==> xab <==

    ==> xac <==

You can also extract just the Kth chunk.
This extracts and prints just the 7th "chunk" of 33:

    $ seq 100 > k; split -nl/7/33 k

Here is the NEWS:

** Bug fixes

  cp -u no longer does unnecessary copying merely because the source
  has finer-grained time stamps than the destination.

  od now prints floating-point numbers without losing information, and
  it no longer omits spaces between floating-point columns in some cases.

  sort -u with at least two threads could attempt to read through a
  corrupted pointer. [bug introduced in coreutils-8.6]

  sort with at least two threads and with blocked output would busy-loop
  (spinlock) all threads, often using 100% of available CPU cycles to
  do no work.  I.e., "sort < big-file | less" could waste a lot of power.
  [bug introduced in coreutils-8.6]

  sort with at least two threads no longer segfaults due to use of pointers
  into the stack of an expired thread. [bug introduced in coreutils-8.6]

  sort --compress no longer mishandles subprocesses' exit statuses,
  no longer hangs indefinitely due to a bug in waiting for subprocesses,
  and no longer generates many more than NMERGE subprocesses.

  sort -m -o f f ... f no longer dumps core when file descriptors are limited.

** New features

  split accepts the --number option to generate a specific number of files.

Here is "git shortlog" output:
Changes in coreutils since v8.7:

Chen Guo (3):
      split: add --number to generate a particular number of files
      sort: use mutexes, not spinlocks (avoid busy loop on blocked output)
      sort: preallocate merge tree nodes to heap.

Jim Meyering (27):
      post-release administrivia
      maint: add a NEWS-checking syntax-check rule
      tests: move a comment so automated conversion works
      tests: convert first batch of tests from to
      tests: convert 'if test "$VERBOSE" = yes; then' to test ... &&
      tests: convert remaining uses of to
      tests: remove; now all tests use gnulib's
      tests: factor out VERBOSE-only --version-printing code
      tests: substitute the single-program $VERBOSE/--version uses
      tests: convert "... env -- prog --version" uses
      tests: convert the multi-prog $VERBOSE/--version uses
      tests: convert tests/misc/selinux manually
      maint: syntax-check: prevent new $VERBOSE/--version tests
      maint: avoid NEWS-related syntax-check failure
      build: update gnulib to fix a syntax error in a test
      tests: test for parallel sort spinlock abuse
      tests: don't let the OMP_NUM_THREADS envvar affect sort tests
      tests: add test for parallel sort -u segfault bug
      tests: make it harder to lose a race in spinlock-abuse
      tests: remove useless definition of $SORT in sort-compress
      sort: syntax cleanup
      sort: avoid segfault when using two or more threads
      tests: avoid FP failure when run under valgrind
      tests: mark new test as very expensive
      tests: tweak basic-1 to use warn_ rather than literal "exit 77"
      doc: tail: semi-deprecate --sleep-interval and --max-unchanged-stats
      build: update gnulib submodule to latest

Paul R. Eggert (27):
      doc: tweak NEWS and coreutils.texi
      build: update gnulib submodule to latest
      od: fix bugs in displaying floating-point values
      cp: give a better diagnostic for nonexistent dest/
      sort -u: fix a thread-race pointer corruption bug
      sort: fix bug on 64-bit hosts with at least 32768 processors
      build: update gnulib submodule to latest
      cp: fix bug with fine-grained src to nearby coarse-grained dest
      tests: cleanup rm -rf fails under NFS
      sort: Clarify comments
      sort: tune struct_merge_node slightly
      sort: put queue arg first
      sort: simplify write_unique
      sort: fix problems with merge node dest pointer
      sort: clarify queue_check_insert
      sort: merge_queue -> queue
      sort: comment fix
      sort: integer overflow checks in thread counts, etc.
      tests: test for access to stale thread memory
      tests: typo fix
      sort: fix some --compress reaper bugs
      tests: default to /tmp as the temporary directory
      sort: document --compress reaper fixes
      sort: fix very-unlikely buffer overrun when merging to input file
      sort: don't dump core when merging from input twice
      sort: fix hang with sort --compress
      sort: do not generate thousands of subprocesses for 16-way merge

Pádraig Brady (9):
      maint: add a missed fadvise-tests module
      build: enable the -Wpointer-sign gcc warning
      maint: fix a new -Wpointer-sign gcc warning
      truncate: fix a very unlikely case for undiagnosed errors
      split: fail immediately if impossible to create a large file
      build: add `patch` as a bootstrap dependency
      maint: update the valgrind support script
      tsort: suppress a valgrind memory leak warning
      split: fix a case where --elide-empty causes invalid chunking

Changes in gnulib since v8.7:

* gnulib a14bd22...c96bccb (71):
  > memmem: rearrange memmem and expand memmem-simple modules
  > Improve cross-compilation guesses for uClibc.
  > configmake: provide fallbacks for oldest supported autotools
  > read-file: reorganize to avoid various issues
  > cloexec, fcntl: relax license
  > autoupdate
  > Tweak last ChangeLog entry.
  > Tests for module 'pipe-posix.
  > Oops, fix mistake in last commit.
  > pipe-posix: Make it work in C++ mode.
  > Rename module 'pipe' to 'spawn-pipe'.
  > pipe-posix: new module
  > * build-aux/ restore x bit
  > autoupdate
  > unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
  > Update internal documentation.
  > Put more information about failed tests into the test return codes.
  > Update for Solaris 11 2010-11.
  > nproc: Relax license.
  > maint: restore executable bit
  > utimecmp: fine-grained src to nearby coarse-grained dest
  > strerror_r-posix: Fix autoconf test.
  > Tests for module 'getdomainname'.
  > getdomainname: Use the system function when possible.
  > sys_socket: Ensure ss_family field on AIX.
  > readline: Improve configure output.
  > *printf-posix: Detect a bug on Solaris 10/x86.
  > Fix link error when module libunistring-optional is in use.
  > regex: Mention link dependencies.
  > ftoastr: Fix compilation error on Solaris.
  > Oops, fix typo in last commit.
  > autoupdate
  > autoupdate
  > getloadavg: Update documentation.
  > sys_socket: Fix test whether the functions are declared.
  > getpass: Make sure to get system declaration on some platforms.
  > iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
  > ftoastr: comment fix
  > stdint: port to GCC 4.3 + OSX + Octave
  > doc: Corrections regarding MacOS X 10.4 and 10.5.
  > autoupdate
  > Uninstall ".bin" files installed by relocwrapper.
  > Update for NetBSD 5.0.
  > Update for HP-UX 11.23 and HP-UX 11.31.
  > Update for MacOS X 10.5.
  > bootstrap: add bootstrap_sync option.
  > Oops, fix incomplete ChangeLog entry.
  > Ensure that <features.h> is included before __GLIBC__ is tested.
  > memmem: Fix autoconf test.
  > Port to uClibc.
  > nproc: Fix condition.
  > Fix a comment. * lib/vasnprintf.c (VASNPRINTF): Fix comment.
  > ftoastr: don't assume snprintf
  > test-rename.h: fix compilation failure
  > add a URL discussing the address@hidden policy
  > ftoastr: depend on snprintf, improve comments
  > ftoastr: port to hosts lacking strtof and strtold
  > c-strtold: Avoid link error on AIX 7.
  > intprops: new macro INT_BITS_STRLEN_BOUND
  > ftoastr: new module, for lossless conversion of floats to short strings
  > autoupdate
  > autoupdate
  > bootstrap: port to Solaris sed
  > rename variable: s/noteworthy/gl_noteworthy_news_/
  > remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
  > Line-wrap a ChangeLog entry.
  > rename, renameat: Avoid test failures at NFS mounted locations.
  > rename, renameat: Document Linux bug with NFS.
  > rename test: Add comments.
  > maintainer-makefile: cover a few more files
  > unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.

Attachment: pgp2QRTP22j3P.pgp
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]