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
There is a rare incompatibility between concurrent ruby and the Padrino framework. Padrino monkey patches the Kernel object to support logging in any context, and this causes an error when initializing a concurrent class such as Concurrent::MutableStruct::ThreadSafeConfig. The error occurs here:
The method logger returns true for clazz.instance_methods.include? member because it is present on Object (via the parent, Kernel), but attempting clazz.send :remove_method, :logger throws an error because the method is not present on the class itself. It seems as though using the optional argument to instance_methods to scope down to only methods present on this object (not ancestors) might resolve the issue. That would give us something like clazz.instance_methods(false).include? member .
There is a rare incompatibility between concurrent ruby and the Padrino framework. Padrino monkey patches the Kernel object to support logging in any context, and this causes an error when initializing a concurrent class such as
Concurrent::MutableStruct::ThreadSafeConfig
. The error occurs here:concurrent-ruby/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb
Line 160 in d7ce956
The method
logger
returns true forclazz.instance_methods.include? member
because it is present onObject
(via the parent,Kernel
), but attemptingclazz.send :remove_method, :logger
throws an error because the method is not present on the class itself. It seems as though using the optional argument toinstance_methods
to scope down to only methods present on this object (not ancestors) might resolve the issue. That would give us something likeclazz.instance_methods(false).include? member
.Stack trace:
The text was updated successfully, but these errors were encountered: