GNU bug report logs - #9780
sort -u throws out non-duplicates

Previous Next

Package: coreutils;

Reported by: Bernhard Rosenkraenzer <bero <at> bero.eu>

Date: Tue, 18 Oct 2011 01:04:02 UTC

Severity: normal

Tags: moreinfo

Done: Jim Meyering <jim <at> meyering.net>

Bug is archived. No further changes may be made.

Full log


Message #16 received at 9780 <at> debbugs.gnu.org (full text, mbox):

From: Bernhard Rosenkraenzer <bero <at> bero.eu>
To: Eric Blake <eblake <at> redhat.com>
Cc: 9780 <at> debbugs.gnu.org
Subject: Re: bug#9780: sort -u throws out non-duplicates
Date: Tue, 18 Oct 2011 09:48:00 +0100
On Mon, 17 Oct 2011 20:22:52 -0600, Eric Blake wrote:
> On 10/17/2011 06:59 PM, Bernhard Rosenkraenzer wrote:
> Thanks for the report.  Unfortunately, you did not provide enough
> information to reproduce this - for example, what platform are you
> running on?

Fairly current Linux -- kernel 3.1-rc9, eglibc 2.14.1

>  Can you narrow it down to a single file of say 5 or so
> lines?  Can you reproduce the problem with shorter input lines?

Yes:
[bero <at> matterhorn ~]$ echo 
'libcore/luni/src/main/java/java/security/cert/X509CRLSelector.java 
libcore/luni/src/main/java/java/security/cert/X509CertSelector.java 
libcore/luni/src/main/java/java/security/cert/X509Certificate.java 
libcore/luni/src/main/java/javax/security/cert/X509Certificate.java' |tr 
' ' '\n' |sort -u --debug
sort: using `en_US' sorting rules
libcore/luni/src/main/java/java/security/cert/X509CertSelector.java
___________________________________________________________________
libcore/luni/src/main/java/java/security/cert/X509CRLSelector.java
__________________________________________________________________
libcore/luni/src/main/java/javax/security/cert/X509Certificate.java
___________________________________________________________________


It starts working correctly if any of the entries are removed, yet none 
of those should match as a duplicate as far as I can see.

> My guess, although I need more info to confirm it, is that this is
> not a bug, but rather that java-source-list contains some lines that
> differ in case and/or punctuation but happen to collate identically.
> If so, then sort -u is picking the lower-case version as the unique
> line, at which point your grep for the case-sensitive X509Certificate
> is obviously failing.

FWIW changing everything to lower case doesn't change anything
[bero <at> matterhorn ~]$ echo 
'libcore/luni/src/main/java/java/security/cert/x509crlselector.java 
libcore/luni/src/main/java/java/security/cert/x509certselector.java 
libcore/luni/src/main/java/java/security/cert/x509certificate.java 
libcore/luni/src/main/java/javax/security/cert/x509certificate.java' |tr 
' ' '\n' |sort -u --debug
sort: using `en_US' sorting rules
libcore/luni/src/main/java/java/security/cert/x509certselector.java
___________________________________________________________________
libcore/luni/src/main/java/java/security/cert/x509crlselector.java
__________________________________________________________________
libcore/luni/src/main/java/javax/security/cert/x509certificate.java
___________________________________________________________________


ttyl
bero




This bug report was last modified 12 years and 278 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.