[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#31472: tsort reporting false loop in input. unix2dos fixes the probl
From: |
Bernhard Voelker |
Subject: |
bug#31472: tsort reporting false loop in input. unix2dos fixes the problem. |
Date: |
Wed, 16 May 2018 18:16:26 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 |
On 05/16/2018 11:23 AM, Ivan Ivanov wrote:
> Hi all,
>
> tsort is reporting loop in my input file, but the loop doesn't exist
> really.
>
> I have checked this manually, examining the contents of the file,
> related to the reported loop.
>
> Further more, if I run the input file trhough unix2dos – it works, so I
> suspect some strange problem with the unix newlines.
>
> The input file is generated with python script on the Ubuntu 16.04.3 so
> all newlines should be the same.
>
> Test environments (acting the same way):
> ---------------------------------------
>
> Ubuntu 16.04.3 LTS
> tsort (coreutils) 8.25
>
> and
>
> Debian GNU/Linux 9 (stretch)
> tsort (coreutils) 8.26
>
>
> Reproduction steps:
> ---------------------------------------
> $ unxz for-tsort-bug-example.txt.xz
> $ tsort for-tsort-bug-example.txt > /dev/null
>
> the above command should produce:
> tsort: for-tsort-bug-example.txt: input contains a loop:
> tsort: 15731101
> tsort: 15731102
The problematic lines are:
$ grep -E '15731101|15731102' for-tsort-bug-example.txt
15731102 16019755
15731102 15731104
15731102 15731101
15731102 15731105
15731102 15731103
15731101
15731102
Therefore your example reduces to:
$ grep -E '15731101|15731102|16019755|15731104|15731105|15731103'
for-tsort-bug-example.txt
15731102 16019755
15731102 15731104
15731102 15731101
15731102 15731105
15731102 15731103
15731101
15731102
> $ cat for-tsort-bug-example.txt | unix2dos | tsort > /dev/null
This replaces "\n" by "\r\n", and of course changes the way tsort works.
If your suspicion was that the file has Windows-style line-endings, then
you would have had to use 'dos2unix'.
Have a nice day,
Berny