Error 500 while displaying repo settings after upgading to 1.6.0rc from 1.5.3

Issue #821 resolved
Former user created an issue

After upgrading to 1.6.0rc from 1.5.3 I started to get error 500 while trying to get settings page of any repository.

I can forward error email to you if you want

Comments (5)

  1. Павел Батанов

    Upgrade was made via easy_install -U rhodecode without any errors

    Email Subject

    WebApp Error: <class 'sqlalchemy.exc.OperationalError'>: (OperationalError) no such table: repositories_fields u'SELECT repositories_fields.repo_field_id AS repositories_fields_repo_field_id, repositories_fields.repository_id AS repositories_fields_repository_id, repositories_fields.field_key AS repositories_fields_field_key, repositories_fields.field_label AS repositories_fields_field_label, repositories_fields.field_value AS repositories_fields_field_value, repositories_fields.field_desc AS repositories_fields_field_desc, repositories_fields.field_type AS repositories_fields_field_type, repositories_fields.created_on AS repositories_fields_created_on \nFROM repositories_fields \nWHERE ? = repositories_fields.repository_id' (5, )
    

    Email Body

    URL: https://hg.batanov.me/Pavel/RayTracing/settings
    Module weberror.errormiddleware:162 in __call__
    <<              __traceback_supplement__ = Supplement, self, environ
                       sr_checker = ResponseStartChecker(start_response)
                       app_iter = self.application(environ, sr_checker)
                       return self.make_catching_iter(app_iter, environ, sr_checker)
                   except:
    >>  app_iter = self.application(environ, sr_checker)
    Module beaker.middleware:155 in __call__
    <<                          headers.append(('Set-cookie', cookie))
                       return start_response(status, headers, exc_info)
                   return self.wrap_app(environ, session_start_response)
    
               def _get_session(self):
    >>  return self.wrap_app(environ, session_start_response)
    Module routes.middleware:131 in __call__
    <<                                               r'\1', oldpath)
    
                   response = self.app(environ, start_response)
    
                   # Wrapped in try as in rare cases the attribute will be gone already
    >>  response = self.app(environ, start_response)
    Module pylons.wsgiapp:107 in __call__
    <<          
                   controller = self.resolve(environ, start_response)
                   response = self.dispatch(controller, environ, start_response)
    
                   if 'paste.testing_variables' in environ and hasattr(response,
    >>  response = self.dispatch(controller, environ, start_response)
    Module pylons.wsgiapp:312 in dispatch
    <<          if log_debug:
                       log.debug("Calling controller class with WSGI interface")
                   return controller(environ, start_response)
    
               def load_test_env(self, environ):
    >>  return controller(environ, start_response)
    Module rhodecode.lib.base:309 in __call__
    <<                 self.ip_addr, auth_user, safe_unicode(_get_access_path(environ)))
                       )
                       return WSGIController.__call__(self, environ, start_response)
                   finally:
                       meta.Session.remove()
    >>  return WSGIController.__call__(self, environ, start_response)
    Module pylons.controllers.core:211 in __call__
    <<                  return response(environ, self.start_response)
    
                   response = self._dispatch_call()
                   if not start_response_called:
                       self.start_response = start_response
    >>  response = self._dispatch_call()
    Module pylons.controllers.core:162 in _dispatch_call
    <<              req.environ['pylons.action_method'] = func
    
                       response = self._inspect_call(func)
                   else:
                       if log_debug:
    >>  response = self._inspect_call(func)
    Module pylons.controllers.core:105 in _inspect_call
    <<                        func.__name__, args)
                   try:
                       result = self._perform_call(func, args)
                   except HTTPException, httpe:
                       if log_debug:
    >>  result = self._perform_call(func, args)
    Module pylons.controllers.core:57 in _perform_call
    <<          """Hide the traceback for everything above this method"""
                   __traceback_hide__ = 'before_and_this'
                   return func(**args)
    
               def _inspect_call(self, func):
    >>  return func(**args)
    Module rhodecode.controllers.admin.repos:2 in edit
    Module rhodecode.lib.auth:610 in __wrapper
    <<          if self.check_permissions():
                       log.debug('Permission granted for %s %s' % (cls, self.user))
                       return func(*fargs, **fkwargs)
    
                   else:
    >>  return func(*fargs, **fkwargs)
    Module rhodecode.controllers.admin.repos:565 in edit
    <<          """GET /repos/repo_name/edit: Form to edit an existing item"""
                   # url('edit_repo', repo_name=ID)
                   defaults = self.__load_data(repo_name)
    
                   return htmlfill.render(
    >>  defaults = self.__load_data(repo_name)
    Module rhodecode.controllers.admin.repos:123 in __load_data
    <<          c.repo_fields = RepositoryField.query()\
                       .filter(RepositoryField.repository == db_repo).all()
    
                   defaults = RepoModel()._get_defaults(repo_name)
    >>  .filter(RepositoryField.repository == db_repo).all()
    Module sqlalchemy.orm.query:2115 in all
    <<          """
                   return list(self)
    
               @_generative(_no_clauseelement_condition)
    >>  return list(self)
    Module rhodecode.lib.caching_query:83 in __iter__
    <<                                    list(Query.__iter__(self)))
                   else:
                       return Query.__iter__(self)
    
               def invalidate(self):
    >>  return Query.__iter__(self)
    Module sqlalchemy.orm.query:2227 in __iter__
    <<          if self._autoflush and not self._populate_existing:
                       self.session._autoflush()
                   return self._execute_and_instances(context)
    
               def _connection_from_session(self, **kw):
    >>  return self._execute_and_instances(context)
    Module sqlalchemy.orm.query:2242 in _execute_and_instances
    <<                          close_with_result=True)
    
                   result = conn.execute(querycontext.statement, self._params)
                   return self.instances(result, querycontext)
    >>  result = conn.execute(querycontext.statement, self._params)
    Module sqlalchemy.engine.base:1449 in execute
    <<                                                  object,
                                                           multiparams,
                                                           params)
                   else:
                       raise exc.InvalidRequestError(
    >>  params)
    Module sqlalchemy.engine.base:1584 in _execute_clauseelement
    <<              compiled_sql,
                       distilled_params,
                       compiled_sql, distilled_params
                   )
                   if self._has_events:
    >>  compiled_sql, distilled_params
    Module sqlalchemy.engine.base:1698 in _execute_context
    <<                                  parameters,
                                           cursor,
                                           context)
                       raise
    >>  context)
    Module sqlalchemy.engine.base:1691 in _execute_context
    <<                                      statement,
                                               parameters,
                                               context)
                   except Exception, e:
                       self._handle_dbapi_exception(
    >>  context)
    Module sqlalchemy.engine.default:331 in do_execute
    <<      def do_execute(self, cursor, statement, parameters, context=None):
                   cursor.execute(statement, parameters)
    
               def do_execute_no_params(self, cursor, statement, context=None):
    >>  cursor.execute(statement, parameters)
    OperationalError: (OperationalError) no such table: repositories_fields u'SELECT repositories_fields.repo_field_id AS repositories_fields_repo_field_id, repositories_fields.repository_id AS repositories_fields_repository_id, repositories_fields.field_key AS repositories_fields_field_key, repositories_fields.field_label AS repositories_fields_field_label, repositories_fields.field_value AS repositories_fields_field_value, repositories_fields.field_desc AS repositories_fields_field_desc, repositories_fields.field_type AS repositories_fields_field_type, repositories_fields.created_on AS repositories_fields_created_on \nFROM repositories_fields \nWHERE ? = repositories_fields.repository_id' (5,)
    CGI Variables
    CONNECTION_TYPE 'close'
    CONTENT_TYPE    '; charset="utf-8"'
    HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
    HTTP_ACCEPT_CHARSET 'windows-1251,utf-8;q=0.7,*;q=0.3'
    HTTP_ACCEPT_ENCODING    'gzip,deflate,sdch'
    HTTP_ACCEPT_LANGUAGE    'ru,en-US;q=0.8,en;q=0.6'
    HTTP_COOKIE 'rhodecode=6379fc01f5174d04b83ab920cc396b96'
    HTTP_HOST   'hg.batanov.me'
    HTTP_REFERER    'https://hg.batanov.me/Pavel/RayTracing'
    HTTP_USER_AGENT 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31'
    HTTP_X_FORWARDED_FOR    '188.44.42.55'
    HTTP_X_REAL_IP  '188.44.42.55'
    PATH_INFO   '/Pavel/RayTracing/settings'
    REMOTE_ADDR '127.0.0.1'
    REQUEST_METHOD  'GET'
    SERVER_NAME 'localhost'
    SERVER_PORT '5000'
    SERVER_PROTOCOL 'HTTP/1.0'
    SERVER_SOFTWARE 'waitress'
    WSGI Variables
    application <beaker.middleware.SessionMiddleware object at 0x3e8b310>
    beaker.get_session  <bound method SessionMiddleware._get_session of <beaker.middleware.SessionMiddleware object at 0x3e8b310>>
    beaker.session  {'_authentication_token': 'c3aeaa2db483784eb40498d698825e63409b0d8f', 'rhodecode_user': {'username': u'scaytrase', 'is_authenticated': True, 'user_id': 3}, '_accessed_time': 1365603680.430804, '_creation_time': 1365595274.348495}
    paste.registry  <paste.registry.Registry object at 0x7fd6c4647c50>
    paste.throw_errors  True
    pylons.action_method    <bound method ReposController.edit of <rhodecode.controllers.admin.repos.ReposController object at 0x7fd6d85a7b10>>
    pylons.controller   <rhodecode.controllers.admin.repos.ReposController object at 0x7fd6d85a7b10>
    pylons.environ_config   {'session': 'beaker.session', 'cache': 'beaker.cache'}
    pylons.pylons   <pylons.util.PylonsContext object at 0x7fd6c4460ad0>
    pylons.routes_dict  {'action': u'edit', 'controller': u'admin/repos', 'repo_name': u'Pavel/RayTracing'}
    routes.route    <routes.route.Route object at 0x3913ed0>
    routes.url  <routes.util.URLGenerator object at 0x7fd6c4460c90>
    webob._parsed_query_vars    (GET([]), '')
    webob.adhoc_attrs   {'user': <AuthUser('id:3:scaytrase|True')>, 'language': 'en-us'}
    wsgi process    'Multithreaded'
    wsgi._org_proto 'http'
    wsgi.file_wrapper   <class 'waitress.buffers.ReadOnlyFileBasedBuffer'>
    wsgiorg.routing_args    (<routes.util.URLGenerator object at 0x7fd6c4460c90>, {'action': u'edit', 'controller': u'admin/repos', 'repo_name': u'Pavel/RayTracing'})
    
  2. Marcin Kuzminski repo owner

    I think you didn't upgrade the db. Please follow the instructions at the docs, about how to make full upgrades.

  3. Log in to comment