milgner / redmine_airbrake_server

A Redmine plugin which enables it to receive application error notifications Airbrake-style
28 stars 10 forks source link

created issue does not contain backtrace #4

Closed pille closed 13 years ago

pille commented 13 years ago

none of the issues created by this plugin included a backtrace, despite the notifier included it in its POST as the log shows.

please include the backtrace, as it contains valuable information to fix the issue.

milgner commented 13 years ago

Which plugin did you use to submit the backtrace? Using the Rails notifier and my modified hoptoad4j plugin, the backtrace is submitted successfully.

pille commented 13 years ago

i'm using hoptoad_notifier (2.4.7) the following is the according POST from chilis production.log:

Parameters: {"action"=>"index", "notice"=>{"server_environment"=>{"environment_name"=>"production", "project_root"=>"XXXXXXXXXX"}, "api_key"=>"--- \n:prior
ity: 4\n:api_key: XXXXXXXXXX\n:project: hoptoad\n:tracker: Bug\n", "request"=>{"component"=>"public", "session"=>{"var"=>["en", "tac"]}, "action"=>"show", "url"=>"XXXXXXXXXX", "par
ams"=>{"var"=>["show", "home", "public"]}, "cgi_data"=>{"var"=>["1", "XXXXXXXXXX", "XXXXXXXXXX", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", {"var"=>["en", "tac"],
 "key"=>"rack.session"}, {"var"=>["190325364.651489495.1310198363.1310458287.1310463197.3", "190325364.10.10.1310463197", "190325364", "190325364.1310198363.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)"], "k
ey"=>"rack.request.cookie_hash"}, "[FILTERED]", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; de; rv:1.9.2.18) Gecko/20110614 Firefox/3.6.18", "115", "https", "#", "on", "HTTP/1.1", "de-de,de;q=0
.8,en-us;q=0.5,en;q=0.3", {"key"=>"action_controller.request.request_parameters"}, "10", "/", "Apache", "XXXXXXXXXX", "XXXXXXXXXX", "false", "XXXXXXXXXX", "XXXXXXXXXX", 
{"key"=>"SCRIPT_NAME"}, "__utma=190325364.651489495.1310198363.1310458287.1310463197.3; __utmz=190325364.1310198363.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmc=190325364; __utmb=190325364.10.10.1310
463197", "__utma=190325364.651489495.1310198363.1310458287.1310463197.3; __utmz=190325364.1310198363.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmc=190325364; __utmb=190325364.10.10.1310463197", "false
", {"var"=>["show", "home", "public"], "key"=>"action_controller.request.path_parameters"}, "https", "46166", "/", "true", {"key"=>"rack.request.query_hash"}, "ISO-8859-1,utf-8;q=0.7,*;q=0.7", "443", "/", "(null)
", "GET", "XXXXXXXXXX", "XXXXXXXXXX", {"var"=>["true", {"key"=>"domain"}, "5", "/", "XXXXXXXXXX
XXXXXXXXXX", "rack:session", "true", "_mpcp_session", "10001", "session-", "localhost", "XXXXXXXXXX", "3600", "true"], "key"=>"rack.session.options"}, "#", "tac", "_", {"key"=>"action_controller.request.query_parameters"}, {"key"=>"rack.request.query_string"}, "#", "keep-alive", {"key"=>"QUERY_STRING"}, "gzip,deflate", "1", "#"]}}, "version"=>"2.0", "notifier"=>{"name"=>"Hoptoad Notifier", "url"=>"http://hoptoadapp.com", "version"=>"2.4.9"}, "error"=>{"class"=>"ActiveRecord::RecordInvalid", "message"=>"ActiveRecord::RecordInvalid: Validation failed: Company has already been taken", "backtrace"=>{"line"=>[{"number"=>"1102", "method"=>"save_without_dirty!", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/validations.rb"}, {"number"=>"87", "method"=>"save_without_transactions!", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/dirty.rb"}, {"number"=>"200", "method"=>"save!", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/transactions.rb"}, {"number"=>"136", "method"=>"transaction_without_callback", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/database_statements.rb"}, {"number"=>"12", "method"=>"transaction", "file"=>"[GEM_ROOT]/gems/after_commit-1.0.8/lib/after_commit/connection_adapters.rb"}, {"number"=>"182", "method"=>"transaction", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/transactions.rb"}, {"number"=>"200", "method"=>"save!", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/transactions.rb"}, {"number"=>"208", "method"=>"rollback_active_record_state!", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/transactions.rb"}, {"number"=>"200", "method"=>"save!", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/transactions.rb"}, {"number"=>"1071", "method"=>"create!", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/validations.rb"}, {"number"=>"23", "method"=>"instance", "file"=>"[PROJECT_ROOT]/app/models/public_affiliation_collection.rb"}, {"number"=>"3", "method"=>"instance", "file"=>"[PROJECT_ROOT]/app/models/featured_content.rb"}, {"number"=>"31", "method"=>"contents", "file"=>"[PROJECT_ROOT]/app/models/public_affiliation_collection.rb"}, {"number"=>"20", "method"=>"show", "file"=>"[PROJECT_ROOT]/app/controllers/public_controller.rb"}, {"number"=>"1331", "method"=>"send", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/base.rb"}, {"number"=>"1331", "method"=>"perform_action_without_filters", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/base.rb"}, {"number"=>"617", "method"=>"call_filters", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"638", "method"=>"run_before_filters", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"189", "method"=>"call", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"189", "method"=>"call", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"635", "method"=>"run_before_filters", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"615", "method"=>"call_filters", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"638", "method"=>"run_before_filters", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"67", "method"=>"as", "file"=>"[PROJECT_ROOT]/app/models/affiliation.rb"}, {"number"=>"29", "method"=>"select_affiliation", "file"=>"[PROJECT_ROOT]/lib/affiliation_switcher.rb"}, {"number"=>"178", "method"=>"send", "file"=>"[GEM_ROOT]/gems/activesupport-2.3.8/lib/active_support/callbacks.rb"}, {"number"=>"178", "method"=>"evaluate_method", "file"=>"[GEM_ROOT]/gems/activesupport-2.3.8/lib/active_support/callbacks.rb"}, {"number"=>"186", "method"=>"call", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"635", "method"=>"run_before_filters", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"615", "method"=>"call_filters", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"638", "method"=>"run_before_filters", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"23", "method"=>"log_request_stats", "file"=>"[PROJECT_ROOT]/vendor/plugins/improved_logging/lib/improved_logging/around_filter.rb"}, {"number"=>"178", "method"=>"send", "file"=>"[GEM_ROOT]/gems/activesupport-2.3.8/lib/active_support/callbacks.rb"}, {"number"=>"178", "method"=>"evaluate_method", "file"=>"[GEM_ROOT]/gems/activesupport-2.3.8/lib/active_support/callbacks.rb"}, {"number"=>"186", "method"=>"call", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"635", "method"=>"run_before_filters", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"615", "method"=>"call_filters", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"610", "method"=>"perform_action_without_benchmark", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"68", "method"=>"perform_action_without_rescue", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/benchmarking.rb"}, {"number"=>"17", "method"=>"ms", "file"=>"[GEM_ROOT]/gems/activesupport-2.3.8/lib/active_support/core_ext/benchmark.rb"}, {"number"=>"308", "method"=>"realtime", "file"=>"/usr/local/rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/benchmark.rb"}, {"number"=>"17", "method"=>"ms", "file"=>"[GEM_ROOT]/gems/activesupport-2.3.8/lib/active_support/core_ext/benchmark.rb"}, {"number"=>"68", "method"=>"perform_action_without_rescue", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/benchmarking.rb"}, {"number"=>"160", "method"=>"perform_action_without_flash", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/rescue.rb"}, {"number"=>"151", "method"=>"perform_action", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/flash.rb"}, {"number"=>"532", "method"=>"send", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/base.rb"}, {"number"=>"532", "method"=>"process_without_filters", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/base.rb"}, {"number"=>"606", "method"=>"process_without_compass", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/filters.rb"}, {"number"=>"7", "method"=>"process", "file"=>"[GEM_ROOT]/gems/compass-0.11.1/lib/compass/app_integration/rails/actionpack2/action_controller.rb"}, {"number"=>"391", "method"=>"process", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/base.rb"}, {"number"=>"386", "method"=>"call", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/base.rb"}, {"number"=>"438", "method"=>"call", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/routing/route_set.rb"}, {"number"=>"87", "method"=>"dispatch", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/dispatcher.rb"}, {"number"=>"121", "method"=>"_call", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/dispatcher.rb"}, {"number"=>"130", "method"=>"build_middleware_stack", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/dispatcher.rb"}, {"number"=>"29", "method"=>"call", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/query_cache.rb"}, {"number"=>"29", "method"=>"call", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/query_cache.rb"}, {"number"=>"34", "method"=>"cache", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/query_cache.rb"}, {"number"=>"9", "method"=>"cache", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/query_cache.rb"}, {"number"=>"28", "method"=>"call", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/query_cache.rb"}, {"number"=>"361", "method"=>"call", "file"=>"[GEM_ROOT]/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_pool.rb"}, {"number"=>"54", "method"=>"call", "file"=>"[GEM_ROOT]/gems/sass-3.1.1/rails/../lib/sass/plugin/rack.rb"}, {"number"=>"25", "method"=>"call", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/string_coercion.rb"}, {"number"=>"9", "method"=>"call", "file"=>"[GEM_ROOT]/gems/rack-1.1.2/lib/rack/head.rb"}, {"number"=>"24", "method"=>"call", "file"=>"[GEM_ROOT]/gems/rack-1.1.2/lib/rack/methodoverride.rb"}, {"number"=>"15", "method"=>"call", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/params_parser.rb"}, {"number"=>"128", "method"=>"call", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/session/abstract_store.rb"}, {"number"=>"16", "method"=>"call", "file"=>"[PROJECT_ROOT]/lib/flash_session_cookie_middleware.rb"}, {"number"=>"26", "method"=>"call", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/failsafe.rb"}, {"number"=>"11", "method"=>"call", "file"=>"[GEM_ROOT]/gems/rack-1.1.2/lib/rack/lock.rb"}, {"number"=>"11", "method"=>"synchronize", "file"=>"[GEM_ROOT]/gems/rack-1.1.2/lib/rack/lock.rb"}, {"number"=>"11", "method"=>"call", "file"=>"[GEM_ROOT]/gems/rack-1.1.2/lib/rack/lock.rb"}, {"number"=>"106", "method"=>"call", "file"=>"[GEM_ROOT]/gems/actionpack-2.3.8/lib/action_controller/dispatcher.rb"}, {"number"=>"96", "method"=>"process_request", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/rack/request_handler.rb"}, {"number"=>"513", "method"=>"accept_and_process_next_request", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/abstract_request_handler.rb"}, {"number"=>"274", "method"=>"main_loop", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/abstract_request_handler.rb"}, {"number"=>"321", "method"=>"start_request_handler", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/classic_rails/application_spawner.rb"}, {"number"=>"275", "method"=>"send", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/classic_rails/application_spawner.rb"}, {"number"=>"275", "method"=>"handle_spawn_application", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/classic_rails/application_spawner.rb"}, {"number"=>"479", "method"=>"safe_fork", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/utils.rb"}, {"number"=>"270", "method"=>"handle_spawn_application", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/classic_rails/application_spawner.rb"}, {"number"=>"357", "method"=>"__send__", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb"}, {"number"=>"357", "method"=>"server_main_loop", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb"}, {"number"=>"206", "method"=>"start_synchronously", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb"}, {"number"=>"180", "method"=>"start", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb"}, {"number"=>"149", "method"=>"start", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/classic_rails/application_spawner.rb"}, {"number"=>"219", "method"=>"spawn_rails_application", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/spawn_manager.rb"}, {"number"=>"132", "method"=>"lookup_or_add", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/abstract_server_collection.rb"}, {"number"=>"214", "method"=>"spawn_rails_application", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/spawn_manager.rb"}, {"number"=>"82", "method"=>"synchronize", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/abstract_server_collection.rb"}, {"number"=>"79", "method"=>"synchronize", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/abstract_server_collection.rb"}, {"number"=>"213", "method"=>"spawn_rails_application", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/spawn_manager.rb"}, {"number"=>"132", "method"=>"spawn_application", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/spawn_manager.rb"}, {"number"=>"275", "method"=>"handle_spawn_application", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/spawn_manager.rb"}, {"number"=>"357", "method"=>"__send__", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb"}, {"number"=>"357", "method"=>"server_main_loop", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb"}, {"number"=>"206", "method"=>"start_synchronously", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/lib/phusion_passenger/abstract_server.rb"}, {"number"=>"99", "method"=>"", "file"=>"/usr/local/rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.5/helper-scripts/passenger-spawn-server"}]}}}, "controller"=>"hoptoad"} 
milgner commented 13 years ago

Thank you for the debug log! That will be a big help. I'm a bit baffled that it doesn't show the backtrace as it definitively should. I'll investigate tomorrow evening.

milgner commented 13 years ago

I really wonder why I write tests if I don't notice them failing -.- Sorry for the hickup, should now work again.

pille commented 13 years ago

thankks for the fix. will test it on monday.

perhaps you need a pre-commit-hook that enforces successful tests before comitting... or use some CI like jenkins which integrates well into redmine (and chiliproject) using the hudson-plugin.

milgner commented 13 years ago

I have a JetBrains TeamCity installation running on my Mac Mini, will have to look into setting up a Redmine+Plugin configuration there...