500 Error when accessing repository page after upgrade to 8.9.0#0d457d8

I just upgraded to Gitlab 8.9.0#0d457d8. One particular repository’s page fails to open after the upgrade. I (and all other users) always get 500 error when trying to access the repo page. All other repository pages are opening fine. This is the error log I am getting.

==> /var/log/gitlab/gitlab-rails/production.log <==
Started GET "/dkit/dkitadmin" for 72.163.217.102 at 2016-06-23 11:20:04 +0530
Processing by ProjectsController#show as HTML
  Parameters: {"namespace_id"=>"dkit", "id"=>"dkitadmin"}
Completed 500 Internal Server Error in 81ms (ActiveRecord: 4.9ms)

ArgumentError (iv must be 16 bytes or longer):
  app/models/project.rb:456:in `import_url'
  app/models/project.rb:486:in `external_import?'
  app/models/project.rb:478:in `import?'
  app/models/project.rb:494:in `import_in_progress?'
  app/controllers/projects_controller.rb:93:in `show'
  lib/gitlab/middleware/go.rb:16:in `call'

Any pointers, help appreciated. Thanks.

I am having the same problem. One of the projects, only one breaks after the upgrade from 8.4.2 to 8.9. I can only assume some part was missed in the upgrade process.

Same problem here after upgrading from 8.0.(5?) to 8.9.0

Worked around the issue by setting the import_url field in the projects table in the db to NULL for the affected repos.

The error message (“iv must be 16 bytes or longer”) sounds like the field is now encrypted in 8.9 and wasn’t automatically migrated.

Its strange that problem occured with only one project, other projects were migrated successfully. I worked around it by archiving the project and creating a new one.

After i upgrade to 8.9.1 , i recovered from backup. And i got the same error , i found a way from forum, it works !!
Try this : vim app/models/project.rb:456 && gitlab-ctl reconfigure
def import_url
if import_data && super

  •  import_url = Gitlab::UrlSanitizer.new(super, credentials: import_data.credentials)
    
  •  import_url.full_url
    

+# import_url = Gitlab::UrlSanitizer.new(super, credentials: import_data.credentials)
+# import_url.full_url

  •  super
    
    else
    super
    end

This is related to this issue.

While this specific error message was fixed in 8.9.3, there were also other issues that needed to be fixed.
This merge request should have fixed the issues.
It was released as part of 8.10.0.

Therefore, simply updating to 8.10.0 should fix the issue.