Skip to content

Conversation

@naoNao89
Copy link
Contributor

@naoNao89 naoNao89 commented Oct 1, 2025

Fixies #8743
This PR fixes incorrect loop reporting in tsort by reporting only the minimal cycle subpath and removing the precise back-edge that closes the cycle. No performance refactors or unrelated changes are included.

@naoNao89 naoNao89 marked this pull request as draft October 1, 2025 21:09
@github-actions
Copy link

github-actions bot commented Oct 1, 2025

GNU testsuite comparison:

Skip an intermittent issue tests/misc/tee (fails in this run but passes in the 'main' branch)
Skip an intermittent issue tests/timeout/timeout (fails in this run but passes in the 'main' branch)

@naoNao89 naoNao89 force-pushed the pr1-tsort-minimal-cycle branch from 7a4ae04 to e590069 Compare October 1, 2025 21:41
@github-actions
Copy link

github-actions bot commented Oct 1, 2025

GNU testsuite comparison:

Skip an intermittent issue tests/timeout/timeout (fails in this run but passes in the 'main' branch)

@codspeed-hq
Copy link

codspeed-hq bot commented Oct 1, 2025

CodSpeed Performance Report

Merging #8786 will improve performances by 46.74%

Comparing naoNao89:pr1-tsort-minimal-cycle (4d6fdea) with main (677fd95)1

Summary

⚡ 1 improvement
✅ 124 untouched

Benchmarks breakdown

Benchmark BASE HEAD Change
tsort_input_parsing_heavy[5000] 120.3 ms 82 ms +46.74%

Footnotes

  1. No successful run was found on main (8983b90) during the generation of this report, so 677fd95 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@naoNao89 naoNao89 marked this pull request as ready for review October 1, 2025 23:56
@github-actions
Copy link

github-actions bot commented Oct 3, 2025

GNU testsuite comparison:

Skipping an intermittent issue tests/misc/tee (passes in this run but fails in the 'main' branch)

@github-actions
Copy link

github-actions bot commented Oct 4, 2025

GNU testsuite comparison:

Skipping an intermittent issue tests/timeout/timeout (passes in this run but fails in the 'main' branch)

@anastygnome
Copy link
Contributor

@naoNao89 this looks good, but there's an open PR for handling a stack overflow in the cycle code that will impact this PR

@naoNao89 naoNao89 marked this pull request as draft October 28, 2025 14:51
@naoNao89 naoNao89 force-pushed the pr1-tsort-minimal-cycle branch 2 times, most recently from 36249db to 5f0c697 Compare November 2, 2025 16:03
@github-actions
Copy link

github-actions bot commented Nov 2, 2025

GNU testsuite comparison:

Skip an intermittent issue tests/tail/overlay-headers (fails in this run but passes in the 'main' branch)

@naoNao89 naoNao89 marked this pull request as ready for review November 2, 2025 16:41
Copy link
Contributor

@anastygnome anastygnome left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just one thing that should be fixed :)

…oval with iterative DFS

- Implement iterative DFS to prevent stack overflows (from PR uutils#8737)
- Fix minimal cycle reporting to show only actual cycle nodes
- Remove redundant back-edge from last cycle node to first
- Update test expectations for corrected cycle handling
@naoNao89 naoNao89 force-pushed the pr1-tsort-minimal-cycle branch from 5f0c697 to 4d6fdea Compare November 3, 2025 16:18
@github-actions
Copy link

github-actions bot commented Nov 3, 2025

GNU testsuite comparison:

Skipping an intermittent issue tests/tail/overlay-headers (passes in this run but fails in the 'main' branch)

@naoNao89 naoNao89 closed this by deleting the head repository Nov 6, 2025
@naoNao89 naoNao89 reopened this Nov 7, 2025
@github-actions
Copy link

github-actions bot commented Nov 7, 2025

GNU testsuite comparison:

Skip an intermittent issue tests/tail/overlay-headers (fails in this run but passes in the 'main' branch)

@sylvestre sylvestre merged commit adcfcfa into uutils:main Nov 7, 2025
241 checks passed
@naoNao89 naoNao89 deleted the pr1-tsort-minimal-cycle branch November 8, 2025 06:44
asder8215 pushed a commit to asder8215/coreutils that referenced this pull request Nov 8, 2025
…oval with iterative DFS (uutils#8786)

- Implement iterative DFS to prevent stack overflows (from PR uutils#8737)
- Fix minimal cycle reporting to show only actual cycle nodes
- Remove redundant back-edge from last cycle node to first
- Update test expectations for corrected cycle handling
naoNao89 added a commit to naoNao89/coreutils that referenced this pull request Nov 8, 2025
…oval with iterative DFS (uutils#8786)

- Implement iterative DFS to prevent stack overflows (from PR uutils#8737)
- Fix minimal cycle reporting to show only actual cycle nodes
- Remove redundant back-edge from last cycle node to first
- Update test expectations for corrected cycle handling
naoNao89 added a commit to naoNao89/coreutils that referenced this pull request Nov 9, 2025
…oval with iterative DFS (uutils#8786)

- Implement iterative DFS to prevent stack overflows (from PR uutils#8737)
- Fix minimal cycle reporting to show only actual cycle nodes
- Remove redundant back-edge from last cycle node to first
- Update test expectations for corrected cycle handling
romanstingler pushed a commit to romanstingler/coreutils that referenced this pull request Dec 14, 2025
…oval with iterative DFS (uutils#8786)

- Implement iterative DFS to prevent stack overflows (from PR uutils#8737)
- Fix minimal cycle reporting to show only actual cycle nodes
- Remove redundant back-edge from last cycle node to first
- Update test expectations for corrected cycle handling
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants