Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sprint Taskboard - Internal Error #487

Closed
global opened this issue Apr 9, 2012 · 6 comments
Closed

Sprint Taskboard - Internal Error #487

global opened this issue Apr 9, 2012 · 6 comments

Comments

@global
Copy link

global commented Apr 9, 2012

Hi,

After testing the plugin and changed some task issue situation to "closed" the sprint taskboard got an error. In my srpint I have 2 issues, one as "new" and the other "closed". Any clue? I don't know how to program in ruby to fix this...

Processing RbTaskboardsController#show [GET]
Parameters: {"sprint_id"=>"1", "action"=>"show", "controller"=>"rb_taskboards"}
Rendering template within layouts/rb
Rendering rb_taskboards/show

ActionView::TemplateError (undefined method `is_closed?' for nil:NilClass) on line #7 of vendor/plugins/redmine_backlogs/app/views/rb_impediments/_impediment.html.erb:
4:

<%= id_or_empty(impediment) %>

5:
6:
<%= h impediment.subject %>

7:
<%= blocked_ids(impediment.blocks) %>

8:

9:
<%= assignee_name_or_empty(impediment) %>

10:
<%= assignee_id_or_empty(impediment) %>

app/models/issue.rb:407:in `closed?'
vendor/plugins/redmine_backlogs/app/views/rb_impediments/_impediment.html.erb:7
/usr/lib/ruby/vendor_ruby/action_view/renderable.rb:34:in `send'
/usr/lib/ruby/vendor_ruby/action_view/renderable.rb:34:in `render'
/usr/lib/ruby/vendor_ruby/action_view/base.rb:306:in `with_template'
/usr/lib/ruby/vendor_ruby/action_view/renderable.rb:30:in `render'
/usr/lib/ruby/vendor_ruby/action_view/renderable_partial.rb:20:in `render'
/usr/lib/ruby/vendor_ruby/action_controller/benchmarking.rb:30:in `benchmark'
/usr/lib/ruby/vendor_ruby/action_view/renderable_partial.rb:19:in `render'
/usr/lib/ruby/vendor_ruby/action_view/template.rb:205:in `render_template'
/usr/lib/ruby/vendor_ruby/action_view/renderable_partial.rb:44:in `render_partial'
/usr/lib/ruby/vendor_ruby/action_view/partials.rb:184:in `render_partial'
/usr/lib/ruby/vendor_ruby/action_view/base.rb:267:in `render'
vendor/plugins/redmine_backlogs/app/views/rb_taskboards/show.html.erb:151
/usr/lib/ruby/vendor_ruby/action_view/helpers/capture_helper.rb:36:in `call'
/usr/lib/ruby/vendor_ruby/action_view/helpers/capture_helper.rb:36:in `capture'
/usr/lib/ruby/vendor_ruby/action_view/helpers/capture_helper.rb:129:in `with_output_buffer'
/usr/lib/ruby/vendor_ruby/action_view/helpers/capture_helper.rb:36:in `capture'
/usr/lib/ruby/vendor_ruby/action_view/helpers/capture_helper.rb:120:in `content_for'
app/helpers/application_helper.rb:989:in `content_for'
vendor/plugins/redmine_backlogs/app/views/rb_taskboards/show.html.erb:128
/usr/lib/ruby/vendor_ruby/action_view/renderable.rb:34:in `send'
/usr/lib/ruby/vendor_ruby/action_view/renderable.rb:34:in `render'
/usr/lib/ruby/vendor_ruby/action_view/base.rb:306:in `with_template'
/usr/lib/ruby/vendor_ruby/action_view/renderable.rb:30:in `render'
/usr/lib/ruby/vendor_ruby/action_view/template.rb:205:in `render_template'
/usr/lib/ruby/vendor_ruby/action_view/base.rb:265:in `render'
/usr/lib/ruby/vendor_ruby/action_view/base.rb:348:in `_render_with_layout'
/usr/lib/ruby/vendor_ruby/action_view/base.rb:262:in `render'
/usr/lib/ruby/vendor_ruby/action_controller/base.rb:1252:in `render_for_file'
/usr/lib/ruby/vendor_ruby/action_controller/base.rb:978:in `render_without_benchmark'
/usr/lib/ruby/vendor_ruby/action_controller/benchmarking.rb:51:in `render'
/usr/lib/ruby/vendor_ruby/action_controller/benchmarking.rb:51:in `render'
vendor/plugins/redmine_backlogs/app/controllers/rb_taskboards_controller.rb:50:in `show'
/usr/lib/ruby/vendor_ruby/action_controller/mime_responds.rb:135:in `call'
/usr/lib/ruby/vendor_ruby/action_controller/mime_responds.rb:135:in `custom'
/usr/lib/ruby/vendor_ruby/action_controller/mime_responds.rb:179:in `call'
/usr/lib/ruby/vendor_ruby/action_controller/mime_responds.rb:179:in `respond'
/usr/lib/ruby/vendor_ruby/action_controller/mime_responds.rb:173:in `each'
/usr/lib/ruby/vendor_ruby/action_controller/mime_responds.rb:173:in `respond'
/usr/lib/ruby/vendor_ruby/action_controller/mime_responds.rb:107:in `respond_to'
vendor/plugins/redmine_backlogs/app/controllers/rb_taskboards_controller.rb:49:in `show'
/usr/lib/ruby/vendor_ruby/action_controller/base.rb:1333:in `send'
/usr/lib/ruby/vendor_ruby/action_controller/base.rb:1333:in `perform_action_without_filters'
/usr/lib/ruby/vendor_ruby/action_controller/filters.rb:617:in `call_filters'
/usr/lib/ruby/vendor_ruby/action_controller/filters.rb:610:in `perform_action_without_benchmark'
/usr/lib/ruby/vendor_ruby/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/usr/lib/ruby/vendor_ruby/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/usr/lib/ruby/vendor_ruby/action_controller/rescue.rb:160:in `perform_action_without_flash'
/usr/lib/ruby/vendor_ruby/action_controller/flash.rb:151:in `perform_action'
/usr/lib/ruby/vendor_ruby/action_controller/base.rb:532:in `send'
/usr/lib/ruby/vendor_ruby/action_controller/base.rb:532:in `process_without_filters'
/usr/lib/ruby/vendor_ruby/action_controller/filters.rb:606:in `process'
/usr/lib/ruby/vendor_ruby/action_controller/base.rb:391:in `process'
/usr/lib/ruby/vendor_ruby/action_controller/base.rb:386:in `call'
/usr/lib/ruby/vendor_ruby/action_controller/routing/route_set.rb:438:in `call'
/usr/lib/ruby/vendor_ruby/action_controller/dispatcher.rb:87:in `dispatch'
/usr/lib/ruby/vendor_ruby/action_controller/dispatcher.rb:121:in `_call'
/usr/lib/ruby/vendor_ruby/action_controller/dispatcher.rb:130:in `build_middleware_stack'
/usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:29:in `call'
/usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:29:in `call'
/usr/lib/ruby/vendor_ruby/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
/usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:9:in `cache'
/usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:28:in `call'
/usr/lib/ruby/vendor_ruby/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call'
/usr/lib/ruby/vendor_ruby/action_controller/string_coercion.rb:25:in `call'
/usr/lib/ruby/vendor_ruby/rack/head.rb:9:in `call'
/usr/lib/ruby/vendor_ruby/rack/methodoverride.rb:21:in `call'
/usr/lib/ruby/vendor_ruby/action_controller/params_parser.rb:15:in `call'
/usr/lib/ruby/vendor_ruby/action_controller/session/cookie_store.rb:99:in `call'
/usr/lib/ruby/vendor_ruby/action_controller/failsafe.rb:26:in `call'
/usr/lib/ruby/vendor_ruby/rack/lock.rb:15:in `call'
/usr/lib/ruby/vendor_ruby/action_controller/dispatcher.rb:106:in `call'
/usr/lib/ruby/vendor_ruby/phusion_passenger/rack/request_handler.rb:96:in `process_request'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_request_handler.rb:513:in `accept_and_process_next_request'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
/usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:321:in `start_request_handler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:275:in `send'
/usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:275:in `handle_spawn_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/utils.rb:479:in `safe_fork'
/usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:270:in `handle_spawn_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:357:in `__send__'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:180:in `start'
/usr/lib/ruby/vendor_ruby/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:82:in `synchronize'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:357:in `__send__'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
/usr/lib/ruby/vendor_ruby/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
/usr/share/phusion-passenger/helper-scripts/passenger-spawn-server:99

Rendering /usr/share/redmine/public/500.html (500 Internal Server Error)

@global
Copy link
Author

global commented Apr 9, 2012

I discovered how to reproduce this error. In the default installation, the situation "new" is set to be the default. If I set this to "false" and no other situation field is checked to be the default, the error above occurs.

@bohansen
Copy link
Contributor

bohansen commented Apr 9, 2012

You must have a default issue status selected. Even Redmine will complain if you try to create an issue and don't have that (although with a nicer error message):

No default issue status is defined. Please check your configuration (Go to "Administration -> Issue statuses").

@global
Copy link
Author

global commented Apr 9, 2012

Thanks for your answer. I didn't try to create an issue after changing this configuration, so I didn't see this message. But if this is imperative, shouldn´t be a good idea to show an error to the user instead of 'Internal Error', like redmine?

retorquere pushed a commit that referenced this issue Apr 9, 2012
…. Or rails, really, because it allows redmine to create a situation that a proper *relational* database would have prevented.
@retorquere
Copy link
Contributor

We can't implement a full sanity check on redmine's configuration for every change. Really, Redmine ought to complain loudly when it lets you create this invalid setting anyhow. Or activerecord ought to get its act together and introduce support for proper relational schemas. rant rant rant. Anyway, I've added code that detects this and complains to the rails log; at this specific point in the rendering path there's not much else that can be done.

@global
Copy link
Author

global commented Apr 9, 2012

I agree that redmine should do the sanity check over this faulty configuration. Should we open a bug for this issue in redmine's project?

Thanks for adding information about this problem in the logs...

@retorquere
Copy link
Contributor

I'm saying that we can't do this sanity check. It would bog down backlogs, and it's not our responsibility. But yes, I'd think opening a bug report (or feature request, can't tell how this would be viewed) on Redmine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants