ErrLookup › ruby-concurrency/concurrent-ruby
ruby-concurrency/concurrent-ruby
Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns. · Ruby · 229 source files
Analyzed at 0b88d5ff75 on 2026-08-21. 122 documented errors.
| Code / Message | Type | Severity | Tags |
|---|---|---|---|
| NullPointerException | exception | error | null-key, null-value, putall, bulk-copy, concurrent-map, jruby |
| IllegalStateException | exception | error | iterator, illegal-state, traverser, concurrent-map, remove |
| IllegalArgumentException | exception | error | constructor, capacity, illegal-argument, validation |
| Required array size too large | exception | critical | java, out-of-memory, array, concurrency, concurrent-ruby |
| Could not initialize intrinsics | exception | critical | java, sun-misc-unsafe, security-manager, jvm, class-init, concurrent-ruby, jruby |
| Could not initialize intrinsics | exception | critical | java, sun-misc-unsafe, security-manager, jvm, class-init, concurrent-ruby, jruby |
| Required array size too large | exception | critical | jruby, java, concurrent-hash-map, out-of-memory, array-limits, concurrency |
| unbuffered channels cannot have a capacity | exception | error | ruby, concurrent-ruby, channel, buffer, argumenterror, goroutine-channels |
| capacity must be at least 1 for this buffer type | exception | error | ruby, concurrent-ruby, channel, buffer, argumenterror, capacity |
| no block given | exception | error | ruby, concurrent-ruby, channel, enumerable, block, argumenterror |
| size must be greater than 0 | exception | error | ruby, concurrent-ruby, channel, buffer, argumenterror, capacity |
| invalid action | exception | error | ruby, concurrent-ruby, selector, channel, argumenterror, enum |
| no block given | exception | error | ruby, concurrent-ruby, selector, channel, block, argumenterror |
| only one error handler allowed | exception | error | ruby, concurrent-ruby, selector, error-handling, argumenterror |
| timeout must 0.0 or more | exception | error | ruby, concurrent-ruby, selector, timeout, argumenterror, monotonic-time |
| agent is not failed | exception | error | ruby, concurrent-ruby, agent, state-machine, error-recovery |
| unrecognized error mode | exception | error | ruby, concurrent-ruby, agent, argumenterror, options, enum |
| no action given | exception | error | ruby, concurrent-ruby, agent, nil-safety, argumenterror |
| wrong number of arguments (#{argc} for #{arity}) | exception | error | concurrent-ruby, async, arity, argumenterror |
| wrong number of arguments (#{argc} for #{arity}..*) | exception | error | concurrent-ruby, async, arity, varargs, argumenterror |
| no block given | exception | error | concurrent-ruby, atom, block, argumenterror |
| no block given | exception | error | concurrent-ruby, read-write-lock, block, argumenterror |
| Too many reader threads | exception | error | concurrent-ruby, read-write-lock, resource-limit, lock-leak |
| Too many writer threads | exception | critical | concurrent-ruby, read-write-lock, deadlock, resource-limit |
| no block given | exception | error | concurrent-ruby, reentrant-lock, block, argumenterror |
| Too many reader holds on this thread | exception | error | concurrent-ruby, reentrant-lock, recursion, resource-limit |
| Too many reader threads | exception | error | concurrent-ruby, reentrant-lock, read-write-lock, resource-limit, lock-leak |
| Too many writer threads | exception | critical | concurrent-ruby, reentrant-lock, deadlock, resource-limit |
| cannot provide both an observer and a block | exception | error | concurrent-ruby, observer, add-observer, argumenterror |
| cannot give arguments and a block | exception | error | concurrent-ruby, observer, notify, argumenterror |
| cannot provide both an observer and a block | exception | error | concurrent-ruby, observer, add-observer, argumenterror |
| cannot give arguments and a block | exception | error | concurrent-ruby, observer, notify, argumenterror |
| cannot enqueue nil | exception | error | concurrent-ruby, priority-queue, nil, jruby, argumenterror |
| cannot enqueue nil | exception | error | concurrent-ruby, priority-queue, nil, argumenterror |
| an executor must be provided | exception | error | concurrent-ruby, dataflow, executor, argumenterror |
| no block given | exception | error | ruby, concurrency, dataflow, argument-error, missing-block |
| Not all dependencies are IVars. Dependencies: #{ inputs.insp | exception | error | ruby, concurrency, dataflow, argument-error, type-mismatch |
| no block given | exception | error | ruby, concurrency, delay, lazy-evaluation, argument-error, missing-block |
| number of threads must be greater than zero | exception | error | ruby, concurrency, thread-pool, executor, argument-error, configuration |
| no block given | exception | error | ruby, concurrency, executor, argument-error, missing-block |
| no block given | exception | error | ruby, concurrency, executor, argument-error, missing-block |
| no block given | exception | error | ruby, jruby, concurrency, executor, argument-error, missing-block |
| #{@fallback_policy} is not a valid fallback policy | exception | error | ruby, jruby, concurrency, executor, argument-error, configuration |
| `synchronous` cannot be set unless `max_queue` is 0 | exception | error | ruby, jruby, concurrency, thread-pool, argument-error, configuration |
| `max_threads` cannot be less than #{DEFAULT_MIN_POOL_SIZE} | exception | error | ruby, jruby, concurrency, thread-pool, argument-error, configuration |
| `max_threads` cannot be greater than #{DEFAULT_MAX_POOL_SIZE | exception | error | ruby, jruby, concurrency, thread-pool, argument-error, configuration, integer-overflow |
| `min_threads` cannot be less than #{DEFAULT_MIN_POOL_SIZE} | exception | error | ruby, jruby, concurrency, thread-pool, argument-error, configuration |
| `min_threads` cannot be more than `max_threads` | exception | error | ruby, jruby, concurrency, thread-pool, argument-error, configuration |
| #{fallback_policy} is not a valid fallback policy | exception | error | ruby, jruby, concurrency, thread-pool, argument-error, configuration |
| no block given | exception | error | ruby, concurrency, executor, argument-error, missing-block |
| `synchronous` cannot be set unless `max_queue` is 0 | exception | error | ruby, concurrency, thread-pool, argument-error, configuration |
| #{@fallback_policy} is not a valid fallback policy | exception | error | ruby, concurrency, thread-pool, argument-error, configuration |
| `max_threads` cannot be less than #{DEFAULT_MIN_POOL_SIZE} | exception | error | ruby, concurrency, thread-pool, argument-error, configuration |
| `max_threads` cannot be greater than #{DEFAULT_MAX_POOL_SIZE | exception | error | ruby, concurrency, thread-pool, argument-error, configuration, integer-overflow |
| `min_threads` cannot be less than #{DEFAULT_MIN_POOL_SIZE} | exception | error | ruby, concurrency, thread-pool, argument-validation, configuration |
| `min_threads` cannot be more than `max_threads` | exception | error | ruby, concurrency, thread-pool, argument-validation, configuration |
| no block given | exception | error | ruby, concurrency, executor, block-argument, argument-validation |
| no block given | exception | error | ruby, concurrency, executor, block-argument, argument-validation, testing |
| no block given | exception | error | ruby, concurrency, scheduler, timer, block-argument, argument-validation |
| no block given | exception | error | ruby, concurrency, future, block-argument, argument-validation |
| wrong number of arguments (0 for 1+) | exception | error | ruby, struct, immutability, argument-validation, metaprogramming |
| provide only a value or a block | exception | error | ruby, concurrency, ivar, argument-validation, constructor |
| cannot provide both an observer and a block | exception | error | ruby, concurrency, observer-pattern, ivar, argument-validation |
| must set with either a value or a block | exception | error | ruby, concurrency, ivar, write-once, argument-validation |
| no block given | exception | error | ruby, monads, error-handling, block-argument, argument-validation |
| offset #{member} too large for struct(size:#{length}) | exception | error | ruby, struct, index-error, bounds-check, off-by-one |
| no member '#{member}' in struct | exception | error | ruby, struct, name-error, typo, argument-validation |
| wrong number of arguments (0 for 1+) | exception | error | ruby, struct, argument-validation, metaprogramming |
| no block given | exception | error | ruby, concurrency, mvar, block-argument, argument-validation |
| supported only on root promise | exception | error | ruby, concurrency, promise, state-machine, api-misuse |
| rescuers and block are both missing | exception | error | ruby, concurrency, promise, block-argument, argument-validation |
| no block given | exception | error | ruby, concurrency, promise, block-argument, argument-validation |
| no block given | exception | error | ruby, concurrency, scheduled-task, argument-error, missing-block |
| seconds must be greater than zero | exception | error | ruby, concurrency, scheduled-task, argument-error, time-handling |
| offset #{member} too large for struct(size:#{length}) | exception | error | ruby, struct, settable-struct, index-error, bounds-check |
| no member '#{member}' in struct | exception | error | ruby, struct, settable-struct, name-error, unknown-member |
| wrong number of arguments (0 for 1+) | exception | error | ruby, struct, settable-struct, argument-error, factory-method |
| offset #{member} too large for struct(size:#{@values.length} | exception | error | ruby, struct, abstract-struct, index-error, bounds-check |
| no member '#{member}' in struct | exception | error | ruby, struct, abstract-struct, name-error, unknown-member |
| struct size differs | exception | error | ruby, struct, abstract-struct, argument-error, arity-mismatch |
| identifier #{name} needs to be constant | exception | error | ruby, struct, abstract-struct, name-error, constant-naming |
| no block given | exception | error | ruby, concurrency, timer-task, argument-error, missing-block |
| must be greater than zero | exception | error | ruby, concurrency, timer-task, argument-error, interval-validation |
| interval_type must be either :fixed_delay or :fixed_rate | exception | error | ruby, concurrency, timer-task, argument-error, config-validation |
| no block given | exception | error | ruby, concurrency, stm, tvar, argument-error, missing-block |
| #{value} is greater than the maximum value of #{MAX_VALUE} | exception | error | ruby, concurrency, atomic, range-error, integer-overflow |
| #{value} is less than the maximum value of #{MIN_VALUE} | exception | error | ruby, concurrency, atomic, range-error, integer-underflow |
| #{value} is not an Integer | exception | error | ruby, concurrency, atomic, argument-error, type-coercion |
| #{value} cannot be negative | exception | error | ruby, concurrency, semaphore, countdown-latch, argument-error, validation |
| #{value} cannot be negative or zero | exception | error | ruby, concurrency, cyclic-barrier, argument-error, validation |
| ImmediateExecutor is not supported | exception | error | ruby, concurrency, actor, executor, argument-error, concurrent-ruby-edge |
| :class option is ignored when calling on context class, use | exception | error | concurrent-ruby, concurrent-ruby-edge, actor, spawn, argumenterror, options |
| Value (#{value.class}) '#{value}' #{message} any of: #{types | exception | error | concurrent-ruby, concurrent-ruby-edge, typecheck, typeerror, actor |
| environment has to be a class inheriting from Environment or | exception | error | concurrent-ruby, concurrent-ruby-edge, erlang-actor, environment, argumenterror |
| only one of block or value can be supplied | exception | error | concurrent-ruby, concurrent-ruby-edge, erlang-actor, receive, argumenterror |
| bad options #{options} | exception | error | concurrent-ruby, concurrent-ruby-edge, erlang-actor, demonitor, argumenterror, options |
| probe is not Resolvable | exception | error | concurrent-ruby, concurrent-ruby-edge, erlang-actor, ask, promises, argumenterror |
| Concurrent::TimeoutError | exception | error | concurrent-ruby, agent, timeout, await |
| Concurrent::Agent::ValidationError | exception | error | concurrent-ruby, agent, restart, validation-error |
| Cannot use both value and block as default value | exception | error | concurrent-ruby, fiberlocalvar, argumenterror, default-value |
| Cannot release a read lock which is not held | exception | error | concurrent-ruby, readwritelock, illegaloperationerror, lock-release |
| Cannot release a write lock which is not held by the current | exception | error | concurrent-ruby, readwritelock, illegaloperationerror, lock-ownership, threading |
| Cannot release a read lock which is not held | exception | error | concurrent-ruby, reentrantreadwritelock, illegaloperationerror, lock-release |
| Cannot release a write lock which is not held | exception | error | concurrent-ruby, reentrantreadwritelock, illegaloperationerror, lock-release, write-lock |
| Cannot use both value and block as default value | exception | error | concurrent-ruby, threadlocalvar, argumenterror, default-value |
| Update failed | exception | error | concurrent-ruby, atomic-reference, concurrentupdateerror, cas, optimistic-concurrency, verbose |
| should pass observer as a first argument or block | exception | error | concurrent-ruby, observer, observable, copy-on-notify, argumenterror |
| should pass observer as a first argument or block | exception | error | concurrent-ruby, observer, observable, copy-on-write, argumenterror |
| can't set a timeout if non_block is enabled | exception | error | concurrent-ruby, timeout-queue, queue, argumenterror |
| Recursive call to #value during evaluation of the Delay | exception | error | concurrency, ruby, lazy-initialization, recursion, deadlock |
| Concurrent::RejectedExecutionError | exception | error | concurrency, ruby, thread-pool, backpressure, executor-queue |
| Concurrent::MultipleAssignmentError | exception | error | concurrency, ruby, ivar, write-once, race-condition |
| can't dump hash with default proc | exception | error | ruby, serialization, marshal, concurrent-map, default-proc |
| key not found | exception | error | ruby, concurrent-map, keyerror, fetch, race-condition |
| :initial_capacity must be a positive Integer | exception | error | ruby, concurrent-map, argumenterror, constructor-validation, configuration |
| :load_factor must be a number between 0 and 1 | exception | error | ruby, concurrent-map, argumenterror, constructor-validation, configuration |
| executor not recognized by '#{executor_identifier}' | exception | error | ruby, concurrency, executor, argumenterror, configuration |
| it is not rejected | exception | error | ruby, concurrency, promises, future, state-machine |
| ArgumentError | exception | error | ruby, concurrency, promises, arity, argumenterror |
| no block given | exception | error | ruby, concurrency, promises, missing-block, argumenterror |
| levels has to be higher than 0 | exception | error | ruby, concurrency, promises, argumenterror, validation |
| returned value #{value.inspect} is not a Future | exception | error | ruby, concurrency, promises, flatmap, typeerror |