incorrect error stack trace since rev #7457. Make debugging Ruby code much
harder sometimes. REGRESSION
-------------------------------------------------------------------------------------------------------
Key: JRUBY-2945
URL: http://jira.codehaus.org/browse/JRUBY-2945
Project: JRuby
Issue Type: Bug
Components: Interpreter
Affects Versions: JRuby 1.1.4
Environment: Linux, Java 6
Reporter: Raphael Valyi
Priority: Blocker
Since rev #7457 "Modify exception construction to memoize frame details in
StackTraceElement[] and not construct the Array+String-based backtrace until
actually needed", stack traces can be incomplete.
Let's take that example taken from a real Rails 2.1 app were I had a raise
opinion.inspect statement somewhere inside a file called
app/sweepers/opinions_sweeper.rb. So I was actually raising the error myself
but had not clue what was going one because of the incorrect log:
Here is the stck with JRuby after rev #7457:
RuntimeError (#<Opinion id: 254, user_id: 0, topic_id: 85, own_summary: "no",
own_text: "", own_url: "", cached_score: 0.0, cached_pool_priority: 0,
cached_debt_counter: 0, created_at: "2008-08-22 22:08:23", updated_at:
"2008-08-22 22:08:23", cached_level1: nil, cached_level2: nil,
cached_tmp_debt_counter: 0, ip_code: 2130706433>):
/vendor/rails/activerecord/lib/active_record/transactions.rb:127:in
`rollback_active_record_state!'
/vendor/rails/activerecord/lib/active_record/transactions.rb:106:in
`save_with_transactions'
/app/controllers/opinions_controller.rb:73:in `create'
/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in
`call'
/vendor/rails/actionpack/lib/action_controller/mime_responds.rb:106:in
`respond_to'
/app/controllers/opinions_controller.rb:72:in `create'
Now, the same error running MRI or a previous JRuby version:
RuntimeError (#<Opinion id: 255, user_id: 0, topic_id: 86, own_summary: "my
op", own_text: "", own_url: "", cached_score: 0.0, cached_pool_priority: 0,
cached_debt_counter: 0, created_at: "2008-08-23 00:23:33", updated_at:
"2008-08-23 00:23:33", cached_level1: nil, cached_level2: nil,
cached_tmp_debt_counter: 0, ip_code: 2130706433>):
/app/sweepers/opinions_sweeper.rb:21:in `expire_cache_for'
/app/sweepers/opinions_sweeper.rb:8:in `after_create'
/vendor/rails/activerecord/lib/active_record/observer.rb:171:in `send'
/vendor/rails/activerecord/lib/active_record/observer.rb:171:in `update'
/usr/lib/ruby/1.8/observer.rb:185:in `notify_observers'
/usr/lib/ruby/1.8/observer.rb:184:in `each'
/usr/lib/ruby/1.8/observer.rb:184:in `notify_observers'
/vendor/rails/activerecord/lib/active_record/callbacks.rb:309:in `notify'
/vendor/rails/activerecord/lib/active_record/callbacks.rb:302:in `callback'
/vendor/rails/activerecord/lib/active_record/callbacks.rb:221:in
`create_without_timestamps'
/vendor/rails/activerecord/lib/active_record/timestamp.rb:29:in `create'
/vendor/rails/activerecord/lib/active_record/base.rb:2464:in
`create_or_update_without_callbacks'
/vendor/rails/activerecord/lib/active_record/callbacks.rb:207:in
`create_or_update'
/vendor/rails/activerecord/lib/active_record/base.rb:2192:in
`save_without_validation'
/vendor/rails/activerecord/lib/active_record/validations.rb:901:in
`save_without_dirty'
/vendor/rails/activerecord/lib/active_record/dirty.rb:75:in
`save_without_transactions'
/vendor/rails/activerecord/lib/active_record/transactions.rb:106:in `save'
/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:66:in
`transaction'
/vendor/rails/activerecord/lib/active_record/transactions.rb:79:in
`transaction'
/vendor/rails/activerecord/lib/active_record/transactions.rb:98:in
`transaction'
/vendor/rails/activerecord/lib/active_record/transactions.rb:106:in `save'
/vendor/rails/activerecord/lib/active_record/transactions.rb:118:in
`rollback_active_record_state!'
/vendor/rails/activerecord/lib/active_record/transactions.rb:106:in `save'
/app/controllers/opinions_controller.rb:73:in `create'
I think this regression would be better fixed before 1.1.4 or some users will
have lots of headache at debugging.
Hope this helps;
Raphaƫl Valyi
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email