Created
December 6, 2011 03:44
-
-
Save tamoot/1436617 to your computer and use it in GitHub Desktop.
I am troubled by two strange bug.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| I am troubled by two strange Error. | |
| 1) ArgumentError occurs when I call ActiveRecord::Base.save | |
| 2) NoMethodError occurs when I call the has_many asociations. | |
| (using act_as_tree plugin) | |
| These exceptions do not usually occur. These exceptions rarely occurs. | |
| It is not made to reappear in my environment. | |
| If a known problem in JRuby or similar problem, will you teach it? | |
| [detail] | |
| - ActiveRecord: 2.2.0 | |
| - JRuby: 1.4.0 | |
| - JRuby option: -J-Xmx3072m -J-Djruby.compile.mode=OFF | |
| - Multi-threading environment | |
| [1) backtrace] | |
| ArgumentError (wrong # ofarguments(0 for 1)): | |
| ["/home/sample/rails/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:368:in `method_missing'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/base.rb:2003:in `with_scope'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:202:in `with_scope'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:366:in `method_missing'", | |
| "/home/sample/rails/vendor/plugins/will_paginate/lib/will_paginate/finder.rb:164:in `method_missing_with_paginate'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/associations.rb:1356:in `validate_associated_records_for_children'", | |
| "/home/sample/rails/vendor/rails/activesupport/lib/active_support/callbacks.rb:178:in `evaluate_method'", | |
| "/home/sample/rails/vendor/rails/activesupport/lib/active_support/callbacks.rb:166:in `call'", | |
| "/home/sample/rails/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:in `run'", | |
| "/home/sample/rails/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:in `each'", | |
| "/home/sample/rails/vendor/rails/activesupport/lib/active_support/callbacks.rb:90:in `run'", | |
| "/home/sample/rails/vendor/rails/activesupport/lib/active_support/callbacks.rb:277:in `run_callbacks'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/validations.rb:1029:in `valid?'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/callbacks.rb:286:in `valid_with_callbacks?'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/validations.rb:1018:in `save_with_validation!'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/dirty.rb:87:in `save_with_dirty!'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/transactions.rb:150:in `save_with_transactions!'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:66:in | |
| `transaction'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/transactions.rb:129:in `transaction'", | |
| "/home/sample/rails/vendor/plugins/deadlock_retry/lib/deadlock_retry.rb:49:in | |
| `transaction_with_deadlock_handling'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/transactions.rb:138:in `transaction'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/transactions.rb:150:in `save_with_transactions!'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/transactions.rb:158:in `rollback_active_record_state!'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/transactions.rb:150:in `save_with_transactions!'", | |
| "/home/sample/rails/app/models/book:84:in `update_person'", | |
| app/models/book.rb is following. | |
| def update_person(a) | |
| Book.transaction do | |
| self.reload | |
| self.person = a | |
| save! | |
| end | |
| end | |
| [2) backtrace] | |
| NoMethodError (undefined method `each' for #<Class:0x1494355>): | |
| ["/home/sample/rails/vendor/rails/activerecord/lib/active_record/base.rb:1833:in `method_missing'", | |
| "/home/sample/rails/vendor/plugins/will_paginate/lib/will_paginate/finder.rb:164:in `method_missing_with_paginate'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:368:in `method_missing'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/base.rb:2003:in `with_scope'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/associations/association_proxy.rb:202:in `with_scope'", | |
| "/home/sample/rails/vendor/rails/activerecord/lib/active_record/associations/association_collection.rb:366:in `method_missing'", | |
| "/home/sample/rails/vendor/plugins/will_paginate/lib/will_paginate/finder.rb:164:in `method_missing_with_paginate'", | |
| "/home/sample/rails/app/models/old_book.rb:10:in `foo'", | |
| app/models/big_book.rb is following. | |
| class OldBook < ActiveRecord::Base | |
| acts_as_tree :order => "id" | |
| def foo | |
| self.children.each do |b| | |
| puts b | |
| end | |
| end | |
| end | |
| ---- | |
| tamoot | |
| http://twitter.com/ra_moo_t |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment