You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Removing the rejected promise (e.g., removing the raise 'rejected' if i.zero? line) causes the code to run without issue for higher n as expected.
Tested on concurrent-ruby version 1.1.6, Ubuntu 18.04.4, with various rubies installed via rbenv:
MRI 2.7.1 (fails at n = 340 both with and without concurrent-ruby-ext)
MRI 2.6.0 (fails at n = 261)
JRuby 9.2.11.1 (fails at n usually somewhere between 100-500)
TruffleRuby 20.0.0 (fails randomly with [ruby] WARNING StackOverflowError, sometimes handling n > 10000, other times failing at n = 50)
Using the newer Promises APIs (e.g., replacing Concurrent::Promise.new with Concurrent::Promises.future and Concurrent::Promises.zip with Concurrent::Promises) seems to work without any issues for much higher n. This still seems like a valid bug for as long the original Promise APIs are still available and bugs are still being fixed in them.
The text was updated successfully, but these errors were encountered:
Promise.zip
seems to hang with any rejected promise in its collection for large enough collections (several hundred items).Here is a minimal repro:
Removing the rejected promise (e.g., removing the
raise 'rejected' if i.zero?
line) causes the code to run without issue for highern
as expected.Tested on
concurrent-ruby
version 1.1.6, Ubuntu 18.04.4, with various rubies installed viarbenv
:n
= 340 both with and withoutconcurrent-ruby-ext
)n
= 261)n
usually somewhere between 100-500)[ruby] WARNING StackOverflowError
, sometimes handlingn
> 10000, other times failing atn
= 50)Using the newer
Promises
APIs (e.g., replacingConcurrent::Promise.new
withConcurrent::Promises.future
andConcurrent::Promises.zip
withConcurrent::Promises
) seems to work without any issues for much highern
. This still seems like a valid bug for as long the originalPromise
APIs are still available and bugs are still being fixed in them.The text was updated successfully, but these errors were encountered: