Closed codez closed 8 years ago
Just stumbled upon this same error.
This is odd. Given that the gem's override of #undefine_attribute_methods
calls super.tap
so the lock should be released when super
returns, no?
I did not look at the original implementation of #undefine_attribute_methods
, but the two synchronize calls happen in ValidatesTimeliness::ORM::ActiveRecord#undefine_attribute_methods
and in ValidatesTimeliness::AttributeMethods#undefine_timeliness_attribute_methods
, after the super
call.
I can what is going now. There is a double call to synchronize, sorry. Try v4.0.1.
Great, that fixed it. Thank you!
When
#undefine_attribute_methods
is called (for example via#reset_column_information
), aThreadError: deadlock; recursive locking
error occurs. This is because#synchronize
is called in#undefine_attribute_methods
and again in#undefine_timeliness_attribute_methods
.