autolab / Autolab

Course management service that enables auto-graded programming assignments.
http://www.autolabproject.com/
Apache License 2.0
743 stars 209 forks source link

ArgumentError when viewing scoreboard #2086

Closed damianhxy closed 4 months ago

damianhxy commented 4 months ago

Your environment Carnegie Mellon's Autolab

Steps To Reproduce Reported but unable to reproduce.

Stacktrace

`````` An ArgumentError occurred in scoreboards#show: comparison of Hash with Hash failed app/controllers/scoreboards_controller.rb:107:in `sort' ------------------------------- Request: ------------------------------- * URL        : https://autolab.andrew.cmu.edu/courses/15213-s24/assessments/attacklab/scoreboard * HTTP Method: GET * Parameters : {"controller"=>"scoreboards", "action"=>"show", "course_name"=>"15213-s24", "assessment_name"=>"attacklab"} * Timestamp  : 2024-02-09 23:04:30 -0500 * Server : [autolab-11.andrew.cmu.edu](http://autolab-11.andrew.cmu.edu/) * Rails root : /opt/autolab * Process: 2834767 ------------------------------- Environment: ------------------------------- * AUTOCONFIG_COURSE_DIR                                   : /opt/autolab/courses * DEVISE_SECRET_KEY                                       : [FILTERED] * GITHUB_CLIENT_ID                                        : 5f52e84b5516f04cf97e * GITHUB_CLIENT_SECRET                                    : [FILTERED] * HTTPS                                                   : on * HTTP_ACCEPT                                             : text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 * HTTP_ACCEPT_ENCODING                                    : gzip, deflate, br * HTTP_ACCEPT_LANGUAGE                                    : en-US,en;q=0.9 * HTTP_CACHE_CONTROL                                      : max-age=0 * HTTP_COOKIE                                             : [FILTERED] * HTTP_HOST                                               : [autolab.andrew.cmu.edu](http://autolab.andrew.cmu.edu/) * HTTP_IF_NONE_MATCH                                      : W/"04c678d9333c62557c0b5f5c92bf4ea5" * HTTP_REFERER                                            : https://autolab.andrew.cmu.edu/courses/15213-s24/assessments/attacklab * HTTP_SEC_CH_UA                                          : "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120" * HTTP_SEC_CH_UA_MOBILE                                   : ?0 * HTTP_SEC_CH_UA_PLATFORM                                 : "Windows" * HTTP_SEC_FETCH_DEST                                     : document * HTTP_SEC_FETCH_MODE                                     : navigate * HTTP_SEC_FETCH_SITE                                     : same-origin * HTTP_SEC_FETCH_USER                                     : ?1 * HTTP_UPGRADE_INSECURE_REQUESTS                          : 1 * HTTP_USER_AGENT                                         : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/[120.0.0.0](http://120.0.0.0/) Safari/537.36 * HTTP_VERSION                                            : HTTP/1.1 * LOCKBOX_MASTER_KEY                                      : [FILTERED] * LTI_TOOL_PRIVATE_KEY                                    : [FILTERED] * ORIGINAL_FULLPATH                                       : /courses/15213-s24/assessments/attacklab/scoreboard * ORIGINAL_SCRIPT_NAME                                    : * PASSENGER_CONNECT_PASSWORD                              : [FILTERED] * PATH_INFO                                               : /courses/15213-s24/assessments/attacklab/scoreboard * QUERY_STRING                                            : * REQUEST_METHOD                                          : GET * REQUEST_URI                                             : /courses/15213-s24/assessments/attacklab/scoreboard * RESTFUL_HOST                                            : [autolab-tango.andrew.cmu.edu](http://autolab-tango.andrew.cmu.edu/) * RESTFUL_KEY                                             : [FILTERED] * RESTFUL_PORT                                            : 443 * ROUTES_8020_SCRIPT_NAME                                 : * SCRIPT_NAME                                             : * SECRET_KEY_BASE                                         : [FILTERED] * SERVER_NAME                                             : [autolab.andrew.cmu.edu](http://autolab.andrew.cmu.edu/) * SERVER_PORT                                             : 443 * SERVER_PROTOCOL                                         : HTTP/1.1 * SERVER_SOFTWARE                                         : Apache/2.4.37 (Red Hat Enterprise Linux) OpenSSL/1.1.1k Phusion_Passenger/6.0.19 * action_controller.instance                              : # * action_dispatch.authenticated_encrypted_cookie_salt     : [FILTERED] * action_dispatch.backtrace_cleaner                       : # * action_dispatch.content_security_policy                 : * action_dispatch.content_security_policy_nonce_directives: * action_dispatch.content_security_policy_nonce_generator : * action_dispatch.content_security_policy_report_only     : false * action_dispatch.cookies                                 : [FILTERED] * action_dispatch.cookies_digest                          : [FILTERED] * action_dispatch.cookies_rotations                       : [FILTERED] * action_dispatch.cookies_same_site_protection            : [FILTERED] * action_dispatch.cookies_serializer                      : [FILTERED] * action_dispatch.encrypted_cookie_cipher                 : [FILTERED] * action_dispatch.encrypted_cookie_salt                   : [FILTERED] * action_dispatch.encrypted_signed_cookie_salt            : [FILTERED] * action_dispatch.http_auth_salt                          : [FILTERED] * action_dispatch.key_generator                           : # * action_dispatch.logger                                  : # * action_dispatch.parameter_filter                        : [:password, :password, :session, :warden, :secret, :salt, :cookie, :csrf, :restful_key, :lockbox_master_key, :lti_tool_private_key, /^((?-mix:client_secret|authentication_token|access_token|refresh_token|code))$/] * action_dispatch.permissions_policy                      : * action_dispatch.redirect_filter                         : [] * action_dispatch.request.content_type                    : * action_dispatch.request.formats                         : [#] * action_dispatch.request.parameters                      : {"controller"=>"scoreboards", "action"=>"show", "course_name"=>"15213-s24", "assessment_name"=>"attacklab"} * action_dispatch.request.path_parameters                 : {:controller=>"scoreboards", :action=>"show", :course_name=>"15213-s24", :assessment_name=>"attacklab"} * action_dispatch.request.query_parameters                : {} * action_dispatch.request.request_parameters              : {} * action_dispatch.request.unsigned_session_cookie         : [FILTERED] * action_dispatch.request_id                              : ea20d248-e1fa-4734-8996-266bc02fc004 * action_dispatch.routes                                  : # * action_dispatch.secret_key_base                         : [FILTERED] * action_dispatch.show_detailed_exceptions                : false * action_dispatch.show_exceptions                         : true * action_dispatch.signed_cookie_digest                    : [FILTERED] * action_dispatch.signed_cookie_salt                      : [FILTERED] * action_dispatch.use_authenticated_cookie_encryption     : [FILTERED] * action_dispatch.use_cookies_with_metadata               : [FILTERED] * https_proxy                                             : http://proxy.andrew.cmu.edu:3128/ * no_proxy                                                : [cmu.edu](http://cmu.edu/),cmu.local * rack.attack.called                                      : true * rack.attack.match_type                                  : safelist * rack.attack.matched                                     : allow from localhost * rack.errors                                             : # * rack.hijack                                             : # * rack.hijack?                                            : true * rack.input                                              : # * rack.multiprocess                                       : true * rack.multithread                                        : false * rack.request.cookie_hash                                : [FILTERED] * rack.request.cookie_string                              : [FILTERED] * rack.request.query_hash                                 : {} * rack.request.query_string                               : * rack.run_once                                           : false * rack.session                                            : [FILTERED] * rack.session.options                                    : [FILTERED] * rack.tempfiles                                          : [] * rack.url_scheme                                         : https * rack.version                                            : [1, 3] * warden                                                  : [FILTERED] ------------------------------- Backtrace: ------------------------------- app/controllers/scoreboards_controller.rb:107:in `sort' app/controllers/scoreboards_controller.rb:107:in `show' ------------------------------- Data: ------------------------------- * data: {:user=> #, :course=> #, :assessment=> #, :submission=>nil} ``````