Skip to content

fix(verify-release): fix bash pipe FD leak causing deadlock on maven checksum verification#4024

Open
adnanhemani wants to merge 2 commits intomainfrom
ahemani/fix_fd_resource_leak_verify_script
Open

fix(verify-release): fix bash pipe FD leak causing deadlock on maven checksum verification#4024
adnanhemani wants to merge 2 commits intomainfrom
ahemani/fix_fd_resource_leak_verify_script

Conversation

@adnanhemani
Copy link
Contributor

@adnanhemani adnanhemani commented Mar 19, 2026

Without this fix, the verify script deadlocks and stalls past a amount of artifacts processed during the Maven Repo Signature and Checksum Verification:

As I am no expert at this, I am relying on Claude's explanation that the process substitution used earlier doesn't close the pipe FDs reliably, which eventually ends up in a deadlock. The new code eliminates pipes altogether and therefore has nothing to leak.

If anyone has a better way of doing this, please suggest to raise a different PR - I am only going with this as this suggestion worked for me, but unsure if it is the correct long-term fix.

Checklist

  • 🛡️ Don't disclose security issues! (contact security@apache.org)
  • 🔗 Clearly explained why the changes are needed, or linked related issues: Fixes #
  • 🧪 Added/updated tests with good coverage, or manually tested (and explained how)
  • 💡 Added comments for complex logic
  • 🧾 Updated CHANGELOG.md (if needed)
  • 📚 Updated documentation in site/content/in-dev/unreleased (if needed)

@github-project-automation github-project-automation bot moved this to PRs In Progress in Basic Kanban Board Mar 19, 2026
@adnanhemani adnanhemani marked this pull request as ready for review March 19, 2026 03:26
@jbonofre jbonofre self-requested a review March 19, 2026 04:20
@snazy
Copy link
Member

snazy commented Mar 20, 2026

Can you verify that this works fine on both macOS and Linux?
Testing against ubuntu:latest is fine.

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