Hello,

Thank you for the report. I can confirm that this issue is
reproducible in my Cygwin environment as well.

Based on the strace and other logs, the process enters an indefinite
wait during parallel installation, which suggests a synchronization
issue between workers and the controller in Bundler’s parallel
installer on Cygwin.

The trace does not show any obvious blocking on I/O or networking.
There are hints of file lock activity (Gem.open_file_with_flock) in
the original report, and environmental factors such as filesystem
performance or antivirus scanning could be contributing factors, but
at this point we cannot conclusively identify a single root cause.

Given that this appears to involve coordination under parallel
execution, identifying the exact root cause and determining whether it
should be addressed in Bundler, Ruby, or Cygwin will require
additional time and deeper investigation.

I will continue investigating this, but please note that due to the
nature of the problem, it may take some time before a clear conclusion
can be reached.

On Fri, Dec 19, 2025 at 9:36 PM Daniel Abrahamsson via Cygwin
<[email protected]> wrote:
>
> Hi,
>
> I have a problem with `bundle install` hanging with ruby 3.4.7.
> Downgrading to 3.2.2 solves the problem.
>
> Here is my Gemfile:
>
> ----
> source 'https://rubygems.org'
>
> gem 'asciidoctor', '2.0.23'
> gem 'asciidoctor-bibtex', '0.9.0'
> gem 'asciimath', '2.0.5'
> gem 'coderay', '1.1.3'
> gem 'rouge', '4.3.0'
> gem 'asciidoctor-diagram', '2.3.1'
> gem 'pygments.rb', '0.6.3'
> gem 'text-hyphen', '1.5.0'
> gem 'asciidoctor-pdf', '2.3.17'
>
> ----
>
> Here are the commands I run:
>
> $ bundle config set --local path '_ruby-deps'
> $ bundle install --verbose
>
> If I try to cancel the installation with Ctrl+C, it shows a backtrace,
> but continues to run. If I press Ctrl+C again it shows the backtrace
> again. After that, it just hangs and I have to force kill the ruby
> process). Here is the backtrace:
>
> ----
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/worker.rb:108:in
> 'block in Bundler::Worker#add_interrupt_handler'
> <internal:thread_sync>:18:in 'Thread::Queue#pop'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/worker.rb:42:in
> 'Bundler::Worker#deq'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/installer/parallel_installer.rb:174:in
> 'Bundler::ParallelInstaller#process_specs'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/installer/parallel_installer.rb:134:in
> 'Bundler::ParallelInstaller#install_with_worker'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/installer/parallel_installer.rb:89:in
> 'Bundler::ParallelInstaller#call'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/installer/parallel_installer.rb:67:in
> 'Bundler::ParallelInstaller.call'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/installer.rb:244:in
> 'Bundler::Installer#install_in_parallel'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/installer.rb:201:in
> 'Bundler::Installer#install'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/installer.rb:89:in
> 'block in Bundler::Installer#run'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/process_lock.rb:12:in
> 'block in Bundler::ProcessLock.lock'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/process_lock.rb:9:in
> 'IO.open'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/process_lock.rb:9:in
> 'Bundler::ProcessLock.lock'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/installer.rb:71:in
> 'Bundler::Installer#run'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/installer.rb:23:in
> 'Bundler::Installer.install'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/cli/install.rb:62:in
> 'Bundler::CLI::Install#run'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/cli.rb:261:in
> 'block in Bundler::CLI#install'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/settings.rb:131:in
> 'Bundler::Settings#temporary'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/cli.rb:260:in
> 'Bundler::CLI#install'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/vendor/thor/lib/thor/command.rb:27:in
> 'Bundler::Thor::Command#run'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in
> 'Bundler::Thor::Invocation#invoke_command'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/vendor/thor/lib/thor.rb:392:in
> 'Bundler::Thor.dispatch'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/cli.rb:34:in
> 'Bundler::CLI.dispatch'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/vendor/thor/lib/thor/base.rb:485:in
> 'Bundler::Thor::Base::ClassMethods#start'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/cli.rb:28:in
> 'Bundler::CLI.start'
> /usr/bin/bundle:28:in 'block in <main>'
> /home/daab/test/_ruby-deps/ruby/3.4.0/gems/bundler-2.4.10/lib/bundler/friendly_errors.rb:117:in
> 'Bundler.with_friendly_errors'
> /usr/bin/bundle:20:in '<main>'
> ----
>
> A workaround is to limit the number the number of workers to 1, like this:
>
> $ bundle config set --local jobs 1
>
> I'll go with that workaround for now, but I want to bring attention
> about this issue to the maintainer.
>
> Regards,
> Daniel Abrahamsson
>
>
> --
> Problem reports:      https://cygwin.com/problems.html
> FAQ:                  https://cygwin.com/faq/
> Documentation:        https://cygwin.com/docs.html
> Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to