[DEBUG] Investigate Ruby 3.4 CI hanging issue#10
Closed
takaokouji wants to merge 5 commits intomasterfrom
Closed
Conversation
- Only run Ruby 3.4 to speed up testing - Run 5 parallel jobs with 3 test attempts each - Add verbose test output (-v flag) - Add 60 second timeout to catch hangs - Show Ruby/minitest versions - Check for zombie processes Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Print debug messages showing which finalizer is being called - Show PIDs being processed - Helps identify exactly where the hang occurs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add SCHMOOZE_DEBUG env var to enable debug output in base.rb - Show exactly where spawn_process and ensure_packages_are_initiated hang - More detailed test output to narrow down the issue The hang was found to occur during instance creation, not finalizer execution. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The popen3 hang was caused by processes not being cleaned up between tests. When ObjectSpace.define_finalizer is stubbed, no finalizer runs, leaving zombie Node.js processes that exhaust system resources. - Add setup/teardown to track and cleanup PIDs - Each test tracks PIDs it creates - Teardown kills any remaining processes Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The Ruby 3.4 CI hang was caused by zombie Node.js processes accumulating across test runs. When processes aren't properly closed, fork() can block due to resource exhaustion. This commit adds teardown methods to: - schmooze_test.rb - error_test.rb - garbage_test.rb - local_script_test.rb Each teardown calls close() on the schmoozer instance if it has a running process, ensuring Node.js processes are properly terminated after each test. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Debug Configuration
This PR adds debugging for the Ruby 3.4 CI hanging issue.
Changes
TESTOPTS='-v'shows each test as it runsExpected Output
If the hang occurs, we should see:
DO NOT MERGE - This is for debugging only.
🤖 Generated with Claude Code