Main Dashboard Activity broken after upgrade to GitLab 14
Summary
After upgrade to GitLab 14. The main activity dashboard is broken. Many of our users set this as default page and we advise them to set into other homepage.
Steps to reproduce
Upgrade to version 14 and select Homepage content to: Your Projects' Activity. Or visit /dashboard/activity page
What is the current bug behavior?
Error message show for some users: An error occured while retrieving activity. Reload the page to try again.
What is the expected correct behavior?
Activity page should loading normal
Relevant logs and/or screenshots
==> /var/log/gitlab/gitlab-rails/production_json.log <==
{"method":"GET","path":"/dashboard/activity","format":"json","controller":"DashboardController","action":"activity","status":500,"time":"2021-06-23T02:52:23.204Z","params":[{"key":"limit","value":"20"},{"key":"offset","value":"0"}],"remote_ip":"61.68.36.238","user_id":39,"username":"sang","ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15","correlation_id":"01F8VCGVEH1B71BS62H31Y2SMR","meta.user":"sang","meta.caller_id":"DashboardController#activity","meta.remote_ip":"61.68.36.238","meta.feature_category":"users","meta.client_id":"user/39","redis_calls":1,"redis_duration_s":0.00016,"redis_read_bytes":325,"redis_write_bytes":1668,"redis_cache_read_bytes":144,"redis_cache_write_bytes":921,"redis_shared_state_calls":1,"redis_shared_state_duration_s":0.00016,"redis_shared_state_read_bytes":181,"redis_shared_state_write_bytes":747,"db_count":40,"db_write_count":0,"db_cached_count":4,"cpu_s":0.26711,"mem_objects":93302,"mem_bytes":10997760,"mem_mallocs":37013,"mem_total_bytes":14729840,"exception.class":"ActionView::Template::Error","exception.message":"undefined method `gsub' for nil:NilClass","exception.backtrace":["app/models/integrations/base_issue_tracker.rb:60:in `issue_url'","app/models/integrations/base_issue_tracker.rb:72:in `issue_path'","lib/banzai/filter/references/external_issue_reference_filter.rb:66:in `url_for_issue'","lib/banzai/filter/references/external_issue_reference_filter.rb:51:in `block in object_link_filter'","lib/banzai/filter/references/external_issue_reference_filter.rb:28:in `block in references_in'","lib/banzai/filter/references/external_issue_reference_filter.rb:27:in `gsub'","lib/banzai/filter/references/external_issue_reference_filter.rb:27:in `references_in'","lib/banzai/filter/references/external_issue_reference_filter.rb:50:in `object_link_filter'","lib/banzai/filter/references/reference_filter.rb:49:in `block (2 levels) in call'","lib/banzai/filter/references/reference_filter.rb:202:in `replace_text_when_pattern_matches'","lib/banzai/filter/references/reference_filter.rb:48:in `block in call'","lib/banzai/filter/references/reference_filter.rb:46:in `each'","lib/banzai/filter/references/reference_filter.rb:46:in `each_with_index'","lib/banzai/filter/references/reference_filter.rb:46:in `call'","lib/banzai/filter/references/external_issue_reference_filter.rb:36:in `call'","lib/banzai/filter/references/reference_filter.rb:40:in `block in call_and_update_nodes'","lib/banzai/filter/references/reference_filter.rb:281:in `with_update_nodes'","lib/banzai/filter/references/reference_filter.rb:40:in `call_and_update_nodes'","lib/banzai/filter/references/reference_filter.rb:28:in `call'","lib/banzai/pipeline/base_pipeline.rb:23:in `block (2 levels) in singleton class'","lib/banzai/renderer.rb:130:in `render_result'","lib/banzai/renderer.rb:164:in `block in cacheless_render'","lib/gitlab/metrics.rb:74:in `measure'","lib/banzai/renderer.rb:163:in `cacheless_render'","lib/banzai/renderer.rb:30:in `render'","lib/banzai.rb:16:in `render'","app/helpers/markup_helper.rb:262:in `markdown_unsafe'","app/helpers/markup_helper.rb:105:in `markdown'","app/views/events/_commit.html.haml:5","app/views/events/event/_push.html.haml:22","app/views/events/_event.html.haml:15","app/views/events/_events.html.haml:10","app/controllers/application_controller.rb:335:in `pager_json'","app/controllers/dashboard_controller.rb:27:in `block (2 levels) in activity'","app/controllers/dashboard_controller.rb:22:in `activity'","ee/lib/gitlab/ip_address_state.rb:10:in `with'","ee/app/controllers/ee/application_controller.rb:40:in `set_current_ip_address'","app/controllers/application_controller.rb:487:in `set_current_admin'","lib/gitlab/session.rb:11:in `with_session'","app/controllers/application_controller.rb:478:in `set_session_storage'","lib/gitlab/i18n.rb:99:in `with_locale'","lib/gitlab/i18n.rb:105:in `with_user_locale'","app/controllers/application_controller.rb:472:in `set_locale'","app/controllers/application_controller.rb:466:in `set_current_context'","lib/gitlab/middleware/speedscope.rb:13:in `call'","lib/gitlab/request_profiler/middleware.rb:17:in `call'","lib/gitlab/jira/middleware.rb:19:in `call'","lib/gitlab/middleware/go.rb:20:in `call'","lib/gitlab/etag_caching/middleware.rb:21:in `call'","lib/gitlab/middleware/multipart.rb:172:in `call'","lib/gitlab/middleware/read_only/controller.rb:50:in `call'","lib/gitlab/middleware/read_only.rb:18:in `call'","lib/gitlab/middleware/same_site_cookies.rb:27:in `call'","lib/gitlab/middleware/handle_malformed_strings.rb:21:in `call'","lib/gitlab/middleware/basic_health_check.rb:25:in `call'","lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'","lib/gitlab/middleware/request_context.rb:21:in `call'","config/initializers/fix_local_cache_middleware.rb:11:in `call'","lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call'","lib/gitlab/metrics/requests_rack_middleware.rb:74:in `call'","lib/gitlab/middleware/release_env.rb:12:in `call'"],"db_duration_s":0.07492,"view_duration_s":0.0,"duration_s":0.32317}
==> /var/log/gitlab/gitlab-rails/production.log <==
ActionView::Template::Error (undefined method `gsub' for nil:NilClass):
2: .commit-row-title
3: = link_to truncate_sha(event.commit_id), project_commit_path(project, event.commit_id), class: "commit-sha", alt: '', title: truncate_sha(event.commit_id)
4: ·
5: = markdown event_commit_title(event.commit_title), project: project, pipeline: :single_line, author: event.author
app/models/integrations/base_issue_tracker.rb:60:in `issue_url'
app/models/integrations/base_issue_tracker.rb:72:in `issue_path'
lib/banzai/filter/references/external_issue_reference_filter.rb:66:in `url_for_issue'
lib/banzai/filter/references/external_issue_reference_filter.rb:51:in `block in object_link_filter'
lib/banzai/filter/references/external_issue_reference_filter.rb:28:in `block in references_in'
lib/banzai/filter/references/external_issue_reference_filter.rb:27:in `gsub'
lib/banzai/filter/references/external_issue_reference_filter.rb:27:in `references_in'
lib/banzai/filter/references/external_issue_reference_filter.rb:50:in `object_link_filter'
lib/banzai/filter/references/reference_filter.rb:49:in `block (2 levels) in call'
lib/banzai/filter/references/reference_filter.rb:202:in `replace_text_when_pattern_matches'
lib/banzai/filter/references/reference_filter.rb:48:in `block in call'
lib/banzai/filter/references/reference_filter.rb:46:in `each'
lib/banzai/filter/references/reference_filter.rb:46:in `each_with_index'
lib/banzai/filter/references/reference_filter.rb:46:in `call'
lib/banzai/filter/references/external_issue_reference_filter.rb:36:in `call'
lib/banzai/filter/references/reference_filter.rb:40:in `block in call_and_update_nodes'
lib/banzai/filter/references/reference_filter.rb:281:in `with_update_nodes'
lib/banzai/filter/references/reference_filter.rb:40:in `call_and_update_nodes'
lib/banzai/filter/references/reference_filter.rb:28:in `call'
lib/banzai/pipeline/base_pipeline.rb:23:in `block (2 levels) in singleton class'
lib/banzai/renderer.rb:130:in `render_result'
lib/banzai/renderer.rb:164:in `block in cacheless_render'
lib/gitlab/metrics.rb:74:in `measure'
lib/banzai/renderer.rb:163:in `cacheless_render'
lib/banzai/renderer.rb:30:in `render'
lib/banzai.rb:16:in `render'
app/helpers/markup_helper.rb:262:in `markdown_unsafe'
app/helpers/markup_helper.rb:105:in `markdown'
app/views/events/_commit.html.haml:5
app/views/events/event/_push.html.haml:22
app/views/events/_event.html.haml:15
app/views/events/_events.html.haml:10
app/controllers/application_controller.rb:335:in `pager_json'
app/controllers/dashboard_controller.rb:27:in `block (2 levels) in activity'
app/controllers/dashboard_controller.rb:22:in `activity'
ee/lib/gitlab/ip_address_state.rb:10:in `with'
ee/app/controllers/ee/application_controller.rb:40:in `set_current_ip_address'
app/controllers/application_controller.rb:487:in `set_current_admin'
lib/gitlab/session.rb:11:in `with_session'
app/controllers/application_controller.rb:478:in `set_session_storage'
lib/gitlab/i18n.rb:99:in `with_locale'
lib/gitlab/i18n.rb:105:in `with_user_locale'
app/controllers/application_controller.rb:472:in `set_locale'
app/controllers/application_controller.rb:466:in `set_current_context'
lib/gitlab/middleware/speedscope.rb:13:in `call'
lib/gitlab/request_profiler/middleware.rb:17:in `call'
lib/gitlab/jira/middleware.rb:19:in `call'
lib/gitlab/middleware/go.rb:20:in `call'
lib/gitlab/etag_caching/middleware.rb:21:in `call'
lib/gitlab/middleware/multipart.rb:172:in `call'
lib/gitlab/middleware/read_only/controller.rb:50:in `call'
lib/gitlab/middleware/read_only.rb:18:in `call'
lib/gitlab/middleware/same_site_cookies.rb:27:in `call'
lib/gitlab/middleware/handle_malformed_strings.rb:21:in `call'
lib/gitlab/middleware/basic_health_check.rb:25:in `call'
lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'
lib/gitlab/middleware/request_context.rb:21:in `call'
config/initializers/fix_local_cache_middleware.rb:11:in `call'
lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call'
lib/gitlab/metrics/requests_rack_middleware.rb:74:in `call'
lib/gitlab/middleware/release_env.rb:12:in `call'