After building canvas release/2024-05-08.228 loading speedgrader and assignment submissions result in a 500 error.
Steps to reproduce:
build and deploy release/2024-05-08.228a
attempt to open an assignment or an assignment submission
Expected behavior:
Pages should load with data.
Actual behavior:
500 error.
Additional notes:
The stack trace in the error log is always the same.
Note also that rubric.rb:290 was changed in release/2024-05-08.181. Building release/2024-05-08.180 before the change resolve the issue.
/usr/src/app/app/models/rubric.rb:493:
in `initialize' /usr/src/app/app/models/rubric.rb:493;in
`new' /usr/src/app/app/models/rubric.rb:493:
in `block in reconstitute_criteria' /usr/src/app/app/models/rubric.rb:491:
in `map' /usr/src/app/app/models/rubric.rb:491:
in `reconstitute_criteria' /usr/src/app/app/models/rubric.rb:290:
in `criteria_object' /usr/src/app/app/views/shared/_rubric.html.erb:155:
in `block in _app_views_shared__rubric_html_erb___1746671981510988459_636300' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/helpers/cache_helper.rb:286:
in `write_fragment_for' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/helpers/cache_helper.rb:276:
in `fragment_for' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/helpers/cache_helper.rb:172:
in `block in cache' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/helpers/cache_helper.rb:306:
in `track_caching' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/helpers/cache_helper.rb:170:
in `cache' /usr/src/app/app/helpers/application_helper.rb:656:
in `cache' /usr/src/app/app/views/shared/_rubric.html.erb:30:
in `_app_views_shared__rubric_html_erb___1746671981510988459_636300' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/base.rb:244:
in `public_send' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/base.rb:244:
in `_run' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/template.rb:157:
in `block in render' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications.rb:208:
in `instrument' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/template.rb:361:
in `instrument_render_template' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/template.rb:155:
in `render' /usr/src/app/config/initializers/i18n.rb:318:
in `render' /usr/src/app/config/initializers/template_streaming.rb:116:
in `render' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/partial_renderer.rb:251:
in `block in render_partial_template' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications.rb:206:
in `block in instrument' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications/instrumenter.rb:24:
in `instrument' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications.rb:206:
in `instrument' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/partial_renderer.rb:246:
in `render_partial_template' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/object_renderer.rb:31:
in `render_partial_template' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/partial_renderer.rb:237:
in `render' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/object_renderer.rb:16:
in `render_object_with_partial' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/renderer.rb:77:
in `render_partial_to_object' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/renderer.rb:27:
in `render_to_object' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/renderer.rb:22:
in `render' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/helpers/rendering_helper.rb:37:
in `block in render' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/base.rb:270:
in `in_rendering_context' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/helpers/rendering_helper.rb:33:
in `render' /usr/src/app/app/views/submissions/show.html.erb:293:
in `_app_views_submissions_show_html_erb__4597853868289549113_636240' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/base.rb:244:
in `public_send' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/base.rb:244:
in `_run' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/template.rb:157:
in `block in render' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications.rb:208:
in `instrument' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/template.rb:361:
in `instrument_render_template' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/template.rb:155:
in `render' /usr/src/app/config/initializers/i18n.rb:318:
in `render' /usr/src/app/config/initializers/template_streaming.rb:116:
in `render' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/template_renderer.rb:65:
in `block (2 levels) in render_template' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications.rb:206:
in `block in instrument' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications/instrumenter.rb:24:
in `instrument' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications.rb:206:
in `instrument' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/template_renderer.rb:60:
in `block in render_template' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/template_renderer.rb:75:
in `block in render_with_layout' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications.rb:206:
in `block in instrument' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications/instrumenter.rb:24:
in `instrument' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications.rb:206:
in `instrument' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/template_renderer.rb:74:
in `render_with_layout' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/template_renderer.rb:59:
in `render_template' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/template_renderer.rb:11:
in `render' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/renderer.rb:61:
in `render_template_to_object' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/renderer/renderer.rb:29:
in `render_to_object' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/rendering.rb:117:
in `block in _render_template' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/base.rb:270:
in `in_rendering_context' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/rendering.rb:116:
in `_render_template' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/streaming.rb:216:
in `_render_template' /usr/src/app/config/initializers/template_streaming.rb:29:
in `_render_template' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/rendering.rb:103:
in `render_to_body' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/rendering.rb:158:
in `render_to_body' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/renderers.rb:141:
in `render_to_body' /usr/src/app/config/initializers/template_streaming.rb:6:
in `render_to_body' /home/docker/.gem/gems/actionpack-7.0.8/lib/abstract_controller/rendering.rb:27:
in `render' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/rendering.rb:139:
in `render' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/instrumentation.rb:22:
in `block (2 levels) in render' /usr/lib/ruby/3.1.0/benchmark.rb:311:
in `realtime' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/core_ext/benchmark.rb:14:
in `ms' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/instrumentation.rb:22:
in `block in render' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/instrumentation.rb:91:
in `cleanup_view_runtime' /home/docker/.gem/gems/activerecord-7.0.8/lib/active_record/railties/controller_runtime.rb:34:
in `cleanup_view_runtime' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/instrumentation.rb:21:
in `render' /usr/src/app/app/controllers/application_controller.rb:2640:
in `block in render' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/callbacks.rb:107:
in `run_callbacks' /usr/src/app/app/controllers/application_controller.rb:2640:
in `render' /usr/src/app/app/controllers/submissions_base_controller.rb:68:
in `block (2 levels) in show' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/mime_responds.rb:214:
in `respond_to' /usr/src/app/app/controllers/submissions_base_controller.rb:39:
in `show' /usr/src/app/app/controllers/submissions_controller.rb:132:
in `show' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/basic_implicit_render.rb:6:
in `send_action' /home/docker/.gem/gems/actionpack-7.0.8/lib/abstract_controller/base.rb:215:
in `process_action' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/rendering.rb:165:
in `process_action' /home/docker/.gem/gems/actionpack-7.0.8/lib/abstract_controller/callbacks.rb:234:
in `block in process_action' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/callbacks.rb:118:
in `block in run_callbacks' /usr/src/app/app/controllers/application_controller.rb:3105:
in `manage_live_events_context' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/callbacks.rb:127:
in `block in run_callbacks' /usr/src/app/app/controllers/application_controller.rb:843:
in `compute_http_cost' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/callbacks.rb:127:
in `block in run_callbacks' /home/docker/.gem/gems/inst_statsd-3.0.4/lib/inst_statsd/statsd.rb:102:
in `batch' /usr/src/app/app/controllers/application_controller.rb:838:
in `batch_statsd' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/callbacks.rb:127:
in `block in run_callbacks' /usr/src/app/lib/base/temp_cache.rb:30:
in `enable' /usr/src/app/app/controllers/application_controller.rb:834:
in `enable_request_cache' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/callbacks.rb:127:
in `block in run_callbacks' /usr/src/app/app/controllers/application_controller.rb:830:
in `set_timezone' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/callbacks.rb:127:
in `block in run_callbacks' /usr/src/app/app/controllers/application_controller.rb:820:
in `set_locale' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/callbacks.rb:127:
in `block in run_callbacks' /home/docker/.gem/gems/sentry-rails-5.17.3/lib/sentry/rails/controller_transaction.rb:28:
in `block in sentry_around_action' /home/docker/.gem/gems/sentry-ruby-5.17.3/lib/sentry/hub.rb:102:
in `with_child_span' /home/docker/.gem/gems/sentry-ruby-5.17.3/lib/sentry-ruby.rb:490:
in `with_child_span' /home/docker/.gem/gems/sentry-rails-5.17.3/lib/sentry/rails/controller_transaction.rb:14:
in `sentry_around_action' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/callbacks.rb:127:
in `block in run_callbacks' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/callbacks.rb:138:
in `run_callbacks' /home/docker/.gem/gems/actionpack-7.0.8/lib/abstract_controller/callbacks.rb:233:
in `process_action' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/rescue.rb:23:
in `process_action' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/instrumentation.rb:67:
in `block in process_action' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications.rb:206:
in `block in instrument' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications/instrumenter.rb:24:
in `instrument' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/notifications.rb:206:
in `instrument' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/instrumentation.rb:66:
in `process_action' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal/params_wrapper.rb:259:
in `process_action' /home/docker/.gem/gems/activerecord-7.0.8/lib/active_record/railties/controller_runtime.rb:27:
in `process_action' /home/docker/.gem/gems/actionpack-7.0.8/lib/abstract_controller/base.rb:151:
in `process' /home/docker/.gem/gems/actionview-7.0.8/lib/action_view/rendering.rb:39:
in `process' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal.rb:188:
in `dispatch' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_controller/metal.rb:251:
in `dispatch' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/routing/route_set.rb:49:
in `dispatch' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/routing/route_set.rb:32:
in `serve' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/journey/router.rb:50:
in `block in serve' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/journey/router.rb:32:
in `each' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/journey/router.rb:32:
in `serve' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/routing/route_set.rb:852:
in `call' /usr/src/app/gems/plugins/respondus_soap_endpoint/lib/respondus_soap_endpoint/middleware.rb:80:
in `call' /home/docker/.gem/gems/rack-brotli-1.2.0/lib/rack/brotli/deflater.rb:34:
in `call' /home/docker/.gem/gems/rack-2.2.9/lib/rack/deflater.rb:44:
in `call' /home/docker/.gem/gems/rack-2.2.9/lib/rack/chunked.rb:98:
in `call' /home/docker/.gem/gems/rack-2.2.9/lib/rack/tempfile_reaper.rb:15:
in `call' /home/docker/.gem/gems/rack-2.2.9/lib/rack/etag.rb:27:
in `call' /home/docker/.gem/gems/rack-2.2.9/lib/rack/conditional_get.rb:27:
in `call' /home/docker/.gem/gems/rack-2.2.9/lib/rack/head.rb:12:
in `call' /usr/src/app/app/middleware/request_throttle.rb:70:
in `block in call' /usr/src/app/app/middleware/request_throttle.rb:375:
in `reserve_capacity' /usr/src/app/app/middleware/request_throttle.rb:68:
in `call' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/http/permissions_policy.rb:38:
in `call' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/http/content_security_policy.rb:36:
in `call' /usr/src/app/gems/request_context/lib/request_context/session.rb:28:
in `call' /home/docker/.gem/gems/rack-2.2.9/lib/rack/session/abstract/id.rb:266:
in `context' /home/docker/.gem/gems/rack-2.2.9/lib/rack/session/abstract/id.rb:260:
in `call' /usr/src/app/app/middleware/load_account.rb:57:
in `call' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/middleware/cookies.rb:704:
in `call' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/middleware/callbacks.rb:27:
in `block in call' /home/docker/.gem/gems/activesupport-7.0.8/lib/active_support/callbacks.rb:99:
in `run_callbacks' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/middleware/callbacks.rb:26:
in `call' /home/docker/.gem/gems/sentry-rails-5.17.3/lib/sentry/rails/rescued_exception_interceptor.rb:12:
in `call' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/middleware/debug_exceptions.rb:28:
in `call' /home/docker/.gem/gems/sentry-ruby-5.17.3/lib/sentry/rack/capture_exceptions.rb:29:
in `block (2 levels) in call' /home/docker/.gem/gems/sentry-ruby-5.17.3/lib/sentry/hub.rb:251:
in `with_session_tracking' /home/docker/.gem/gems/sentry-ruby-5.17.3/lib/sentry-ruby.rb:403:
in `with_session_tracking' /home/docker/.gem/gems/sentry-ruby-5.17.3/lib/sentry/rack/capture_exceptions.rb:20:
in `block in call' /home/docker/.gem/gems/sentry-ruby-5.17.3/lib/sentry/hub.rb:59:
in `with_scope' /home/docker/.gem/gems/sentry-ruby-5.17.3/lib/sentry-ruby.rb:383:
in `with_scope' /home/docker/.gem/gems/sentry-ruby-5.17.3/lib/sentry/rack/capture_exceptions.rb:19:
in `call' /usr/src/app/app/middleware/sentry_trace_scrubber.rb:34:
in `call' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/middleware/show_exceptions.rb:29:
in `call' /home/docker/.gem/gems/railties-7.0.8/lib/rails/rack/logger.rb:40:
in `call_app' /home/docker/.gem/gems/railties-7.0.8/lib/rails/rack/logger.rb:27:
in `call' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/middleware/remote_ip.rb:93:
in `call' /home/docker/.gem/gems/request_store-1.6.0/lib/request_store/middleware.rb:19:
in `call' /usr/src/app/gems/request_context/lib/request_context/generator.rb:71:
in `call' /home/docker/.gem/gems/rack-2.2.9/lib/rack/method_override.rb:24:
in `call' /usr/src/app/app/middleware/prevent_non_multipart_parse.rb:35:
in `call' /home/docker/.gem/gems/rack-2.2.9/lib/rack/runtime.rb:22:
in `call' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/middleware/executor.rb:14:
in `call' /home/docker/.gem/gems/rack-2.2.9/lib/rack/sendfile.rb:110:
in `call' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/middleware/ssl.rb:77:
in `call' /home/docker/.gem/gems/actionpack-7.0.8/lib/action_dispatch/middleware/host_authorization.rb:131:
in `call' /home/docker/.gem/gems/railties-7.0.8/lib/rails/engine.rb:530:
in `call' /home/docker/.gem/gems/railties-7.0.8/lib/rails/railtie.rb:226:
in `public_send' /home/docker/.gem/gems/railties-7.0.8/lib/rails/railtie.rb:226:
in `method_missing' /usr/lib/ruby/vendor_ruby/phusion_passenger/rack/thread_handler_extension.rb:107:
in `process_request' /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:149:
in `accept_and_process_next_request' /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:110:
in `main_loop' /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler.rb:419:
in `block (3 levels) in start_threads' /usr/lib/ruby/vendor_ruby/phusion_passenger/utils.rb:113:
in `block in create_thread_and_abort_on_exception'
Summary:
After building canvas release/2024-05-08.228 loading speedgrader and assignment submissions result in a 500 error.
Steps to reproduce:
Expected behavior:
Pages should load with data.
Actual behavior:
500 error.
Additional notes:
The stack trace in the error log is always the same.
Note also that
rubric.rb:290
was changed in release/2024-05-08.181. Building release/2024-05-08.180 before the change resolve the issue.