<type 'exceptions.AttributeError'>
Python 2.7.13: /usr/bin/python
Sat Oct 24 01:42:32 2020

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /usr/lib/python2.7/dist-packages/trac/web/_fcgi.py in run(self=<trac.web._fcgi.Request object>)
    568         """Runs the handler, flushes the streams, and ends the request."""
    569         try:
=>  570             protocolStatus, appStatus = self.server.handler(self)
    571         except:
    572             traceback.print_exc(file=self.stderr)
protocolStatus undefined, appStatus undefined, self = <trac.web._fcgi.Request object>, self.server = <trac.web._fcgi.WSGIServer object>, self.server.handler = <bound method WSGIServer.handler of <trac.web._fcgi.WSGIServer object>>
 /usr/lib/python2.7/dist-packages/trac/web/_fcgi.py in handler(self=<trac.web._fcgi.WSGIServer object>, req=<trac.web._fcgi.Request object>)
   1260         try:
   1261             try:
=> 1262                 result = self.application(environ, start_response)
   1263                 try:
   1264                     for data in result:
result = None, self = <trac.web._fcgi.WSGIServer object>, self.application = <function dispatch_request>, environ = {'CONTENT_LENGTH': '0', 'CONTEXT_DOCUMENT_ROOT': '/var/www/trac/shr/trac.fcgi', 'CONTEXT_PREFIX': '/trac', 'DOCUMENT_ROOT': '/var/www/trac/shr/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_ENCODING': 'br,gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.5', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'wiki.shr-project.org', ...}, start_response = <function start_response>
 /usr/lib/python2.7/dist-packages/trac/web/main.py in dispatch_request(environ={'CONTENT_LENGTH': '0', 'CONTEXT_DOCUMENT_ROOT': '/var/www/trac/shr/trac.fcgi', 'CONTEXT_PREFIX': '/trac', 'DOCUMENT_ROOT': '/var/www/trac/shr/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_ENCODING': 'br,gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.5', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'wiki.shr-project.org', ...}, start_response=<function start_response>)
    579     translation.make_activable(lambda: req.locale, env.path if env else None)
    580     try:
=>  581         return _dispatch_request(req, env, env_error)
    582     finally:
    583         translation.deactivate()
global _dispatch_request = <function _dispatch_request>, req = <RequestWithSession "GET ''">, env = <Environment '/var/lib/trac/shr'>, env_error = None
 /usr/lib/python2.7/dist-packages/trac/web/main.py in _dispatch_request(req=<RequestWithSession "GET ''">, env=<Environment '/var/lib/trac/shr'>, env_error=None)
    618         _send_user_error(req, env, e)
    619     except Exception:
=>  620         send_internal_error(env, req, sys.exc_info())
    621     return resp
    622 
global send_internal_error = <function send_internal_error>, env = <Environment '/var/lib/trac/shr'>, req = <RequestWithSession "GET ''">, global sys = <module 'sys' (built-in)>, sys.exc_info = <built-in function exc_info>
 /usr/lib/python2.7/dist-packages/trac/web/main.py in send_internal_error(env=<Environment '/var/lib/trac/shr'>, req=<RequestWithSession "GET ''">, exc_info=(<type 'exceptions.AttributeError'>, AttributeError("'RepositoryManager' object has no attribute 'repository_dir'",), <traceback object>))
    747             'description': description, 'description_en': description_en}
    748 
=>  749     Chrome(env).add_jquery_ui(req)
    750     try:
    751         req.send_error(exc_info, status=500, env=env, data=data)
global Chrome = <class 'trac.web.chrome.Chrome'>, env = <Environment '/var/lib/trac/shr'>, ).add_jquery_ui undefined, req = <RequestWithSession "GET ''">
 /usr/lib/python2.7/dist-packages/trac/web/chrome.py in add_jquery_ui(self=<Component trac.web.chrome.Chrome>, req=<RequestWithSession "GET ''">)
   1375         """Add a reference to the jQuery UI script and link the stylesheet."""
   1376         add_script(req, self.jquery_ui_location
=> 1377                         or 'common/js/jquery-ui.js')
   1378         add_stylesheet(req, self.jquery_ui_theme_location
   1379                             or 'common/css/jquery-ui/jquery-ui.css')
 /usr/lib/python2.7/dist-packages/trac/web/chrome.py in add_script(req=<RequestWithSession "GET ''">, filename='common/js/jquery-ui.js', mimetype='text/javascript', charset='utf-8', ie_if=None)
    164     `/chrome/` path.
    165     """
=>  166     scriptset = req.chrome.setdefault('scriptset', set())
    167     if filename in scriptset:
    168         return False  # Already added that script
scriptset undefined, req = <RequestWithSession "GET ''">, req.chrome = {'ctxtnav': [], 'htdocs_location': '/trac/chrome/common/', 'icon': {'abs_src': 'http://wiki.shr-project.org/trac/chrome/common/trac.ico', 'mimetype': 'image/x-icon', 'src': '/trac/chrome/common/trac.ico'}, 'links': {'help': [{'class': None, 'href': '/trac/wiki/TracGuide', 'title': None, 'type': None}], 'icon': [{'class': None, 'href': '/trac/chrome/common/trac.ico', 'title': None, 'type': 'image/x-icon'}], 'search': [{'class': None, 'href': '/trac/search', 'title': None, 'type': None}], 'start': [{'class': None, 'href': '/trac/wiki', 'title': None, 'type': None}], 'stylesheet': [{'class': None, 'href': '/trac/chrome/common/css/trac.css', 'title': None, 'type': 'text/css'}]}, 'linkset': set(['help:/trac/wiki/TracGuide', 'icon:/trac/chrome/common/trac.ico', 'search:/trac/search', 'start:/trac/wiki', 'stylesheet:/trac/chrome/common/css/trac.css']), 'logo': {'alt': u'', 'height': None, 'link': u'http://trac.shr-project.org/', 'src': '/trac/chrome/common/trac_banner.png', 'src_abs': 'http://wiki.shr-project.org/trac/chrome/common/trac_banner.png', 'width': None}, 'metas': [], 'notices': [], 'script_data': {}, 'scripts': [{'charset': 'utf-8', 'href': '/trac/chrome/common/js/jquery.js', 'prefix': None, 'suffix': None, 'type': 'text/javascript'}, {'charset': 'utf-8', 'href': '/trac/chrome/common/js/babel.js', 'prefix': None, 'suffix': None, 'type': 'text/javascript'}, {'charset': 'utf-8', 'href': '/trac/chrome/common/js/trac.js', 'prefix': None, 'suffix': None, 'type': 'text/javascript'}, {'charset': 'utf-8', 'href': '/trac/chrome/common/js/search.js', 'prefix': None, 'suffix': None, 'type': 'text/javascript'}], ...}, req.chrome.setdefault = <built-in method setdefault of dict object>, builtin set = <type 'set'>
 /usr/lib/python2.7/dist-packages/trac/web/api.py in __getattr__(self=<RequestWithSession "GET ''">, name='chrome')
    490         callbacks dictionary."""
    491         if name in self.callbacks:
=>  492             value = self.callbacks[name](self)
    493             setattr(self, name, value)
    494             return value
value undefined, self = <RequestWithSession "GET ''">, self.callbacks = {'_inheaders': <unbound method Request._parse_headers>, 'arg_list': <unbound method Request._parse_arg_list>, 'args': <function <lambda>>, 'authname': <bound method RequestDispatcher.authenticate of <Component trac.web.main.RequestDispatcher>>, 'chrome': <bound method Chrome.prepare_request of <Component trac.web.chrome.Chrome>>, 'form_token': <bound method RequestDispatcher._get_form_token of <Component trac.web.main.RequestDispatcher>>, 'incookie': <unbound method Request._parse_cookies>, 'languages': <unbound method Request._parse_languages>, 'lc_time': <bound method RequestDispatcher._get_lc_time of <Component trac.web.main.RequestDispatcher>>, 'locale': <bound method RequestDispatcher._get_locale of <Component trac.web.main.RequestDispatcher>>, ...}, name = 'chrome'
 /usr/lib/python2.7/dist-packages/trac/web/chrome.py in prepare_request(self=<Component trac.web.chrome.Chrome>, req=<RequestWithSession "GET ''">, handler=None)
    816         allitems = {}
    817         active = None
=>  818         for contributor in self.navigation_contributors:
    819             try:
    820                 for category, name, text in \
contributor undefined, self = <Component trac.web.chrome.Chrome>, self.navigation_contributors undefined
 /usr/lib/python2.7/dist-packages/trac/core.py in extensions(self=<ExtensionPoint INavigationContributor>, component=<Component trac.web.chrome.Chrome>)
     80         """
     81         classes = ComponentMeta._registry.get(self.interface, ())
=>   82         components = [component.compmgr[cls] for cls in classes]
     83         return [c for c in components if c]
     84 
components undefined, component = <Component trac.web.chrome.Chrome>, component.compmgr = <Environment '/var/lib/trac/shr'>, cls = <class 'acct_mgr.web_ui.AccountModule'>, classes = [<class 'tracrpc.web_ui.RPCWeb'>, <class 'trac.attachment.AttachmentModule'>, <class 'trac.ticket.roadmap.RoadmapModule'>, <class 'trac.ticket.roadmap.MilestoneModule'>, <class 'trac.ticket.query.QueryModule'>, <class 'trac.ticket.web_ui.TicketModule'>, <class 'trac.search.web_ui.SearchModule'>, <class 'trac.web.auth.LoginModule'>, <class 'acct_mgr.register.RegistrationModule'>, <class 'acct_mgr.web_ui.AccountModule'>, <class 'acct_mgr.web_ui.LoginModule'>, <class 'navadd.navadd.NavAdd'>, <class 'trac.about.AboutModule'>, <class 'trac.admin.web_ui.AdminModule'>, <class 'trac.prefs.web_ui.PreferencesModule'>, <class 'trac.ticket.report.ReportModule'>, <class 'trac.timeline.web_ui.TimelineModule'>, <class 'trac.versioncontrol.web_ui.browser.BrowserModule'>, <class 'trac.versioncontrol.web_ui.changeset.ChangesetModule'>, <class 'trac.versioncontrol.web_ui.log.LogModule'>, ...]
 /usr/lib/python2.7/dist-packages/trac/core.py in __getitem__(self=<Environment '/var/lib/trac/shr'>, cls=<class 'acct_mgr.web_ui.AccountModule'>)
    210                 raise TracError('Component "%s" not registered' % cls.__name__)
    211             try:
=>  212                 component = cls(self)
    213             except TypeError as e:
    214                 raise TracError("Unable to instantiate component %r (%s)" %
component = None, cls = <class 'acct_mgr.web_ui.AccountModule'>, self = <Environment '/var/lib/trac/shr'>
 /usr/lib/python2.7/dist-packages/trac/core.py in __call__(cls=<class 'acct_mgr.web_ui.AccountModule'>, *args=(<Environment '/var/lib/trac/shr'>,), **kwargs={})
    142             self.compmgr = compmgr
    143             compmgr.component_activated(self)
=>  144             self.__init__()
    145             # Only register the instance once it is fully initialized (#9418)
    146             compmgr.components[cls] = self
self = <Component acct_mgr.web_ui.AccountModule>, self.__init__ = <bound method AccountModule.__init__ of <Component acct_mgr.web_ui.AccountModule>>
 /var/www/trac/shr/build/bdist.linux-x86_64/egg/acct_mgr/web_ui.py in __init__(self=<Component acct_mgr.web_ui.AccountModule>)
     71         self.acctmgr = AccountManager(self.env)
     72         self.store = ResetPwStore(self.env)
=>   73         self._write_check(log=True)
     74 
     75     def _write_check(self, log=False):
 /var/www/trac/shr/build/bdist.linux-x86_64/egg/acct_mgr/web_ui.py in _write_check(self=<Component acct_mgr.web_ui.AccountModule>, log=True)
     74 
     75     def _write_check(self, log=False):
=>   76         writable = self.acctmgr.get_all_supporting_stores('set_password')
     77         if not writable and log:
     78             self.log.warn("AccountModule is disabled because the password "
 /var/www/trac/shr/build/bdist.linux-x86_64/egg/acct_mgr/api.py in get_all_supporting_stores(self=<Component acct_mgr.api.AccountManager>, operation='set_password')
    322         """Returns a list of stores that implement the specified operation"""
    323         stores = []
=>  324         for store in self.password_store:
    325             if hasattr(store, operation):
    326                 stores.append(store)
 /var/www/trac/shr/build/bdist.linux-x86_64/egg/acct_mgr/api.py in password_store(self=<Component acct_mgr.api.AccountManager>)
    294             # fall back on old "password_format" option
    295             fmt = self._password_format
=>  296             for store in self.stores:
    297                 config_key = getattr(store, 'config_key', None)
    298                 if config_key is None:
 /usr/lib/python2.7/dist-packages/trac/core.py in extensions(self=<ExtensionPoint IPasswordStore>, component=<Component acct_mgr.api.AccountManager>)
     80         """
     81         classes = ComponentMeta._registry.get(self.interface, ())
=>   82         components = [component.compmgr[cls] for cls in classes]
     83         return [c for c in components if c]
     84 
components undefined, component = <Component acct_mgr.api.AccountManager>, component.compmgr = <Environment '/var/lib/trac/shr'>, cls = <class 'acct_mgr.svnserve.SvnServePasswordStore'>, classes = [<class 'acct_mgr.db.SessionStore'>, <class 'acct_mgr.web_ui.ResetPwStore'>, <class 'acct_mgr.htfile.HtPasswdStore'>, <class 'acct_mgr.htfile.HtDigestStore'>, <class 'acct_mgr.http.HttpAuthStore'>, <class 'acct_mgr.svnserve.SvnServePasswordStore'>]
 /usr/lib/python2.7/dist-packages/trac/core.py in __getitem__(self=<Environment '/var/lib/trac/shr'>, cls=<class 'acct_mgr.svnserve.SvnServePasswordStore'>)
    210                 raise TracError('Component "%s" not registered' % cls.__name__)
    211             try:
=>  212                 component = cls(self)
    213             except TypeError as e:
    214                 raise TracError("Unable to instantiate component %r (%s)" %
component = None, cls = <class 'acct_mgr.svnserve.SvnServePasswordStore'>, self = <Environment '/var/lib/trac/shr'>
 /usr/lib/python2.7/dist-packages/trac/core.py in __call__(cls=<class 'acct_mgr.svnserve.SvnServePasswordStore'>, *args=(<Environment '/var/lib/trac/shr'>,), **kwargs={})
    142             self.compmgr = compmgr
    143             compmgr.component_activated(self)
=>  144             self.__init__()
    145             # Only register the instance once it is fully initialized (#9418)
    146             compmgr.components[cls] = self
self = <Component acct_mgr.svnserve.SvnServePasswordStore>, self.__init__ = <bound method SvnServePasswordStore.__init__ of <Component acct_mgr.svnserve.SvnServePasswordStore>>
 /var/www/trac/shr/build/bdist.linux-x86_64/egg/acct_mgr/svnserve.py in __init__(self=<Component acct_mgr.svnserve.SvnServePasswordStore>)
     30 
     31     def __init__(self):
=>   32         repo_dir = RepositoryManager(self.env).repository_dir
     33         self._svnserve_conf = Configuration(os.path.join(os.path.join(
     34                                   repo_dir, 'conf'), 'svnserve.conf'))

<type 'exceptions.AttributeError'>: 'RepositoryManager' object has no attribute 'repository_dir'
      args = ("'RepositoryManager' object has no attribute 'repository_dir'",)
      message = "'RepositoryManager' object has no attribute 'repository_dir'"