"IndexError: list index out of range" on LiveSearch

Bug #791177 reported by Paul Everitt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KARL3
Fix Released
Low
Chris Rossi

Bug Description

From the error monitor:

Wed Jun 1 03:47:45 2011 Exception when processing https://karl.soros.org/jquery_livesearch?val=LAHE* Referer: https://karl.soros.org/searchresults.html?body=OSF%20Law%20and%20Health%20Initiative%27s%20Technical%20Advisory Traceback (most recent call last): File "/srv/osfkarl/production/20/eggs/karl-3.61-py2.6.egg/karl/errorlog.py", line 16, in middleware return app(environ, start_response) File "/srv/osfkarl/production/20/eggs/repoze.retry-0.9.4-py2.6.egg/repoze/retry/__init__.py", line 88, in __call__ app_iter = self.application(environ, replace_start_response) File "/srv/osfkarl/production/20/eggs/repoze.zodbconn-0.11-py2.6.egg/repoze/zodbconn/connector.py", line 21, in __call__ result = self.next_app(environ, start_response) File "/srv/osfkarl/production/20/eggs/repoze.tm2-1.0a5-py2.6.egg/repoze/tm/__init__.py", line 23, in __call__ result = self.application(environ, save_status_and_headers) File "/srv/osfkarl/production/20/eggs/repoze.who-1.0.15-py2.6.egg/repoze/who/middleware.py", line 107, in __call__ app_iter = app(environ, wrapper.wrap_start_response) File "/srv/osfkarl/production/20/eggs/repoze.urchin-0.1-py2.6.egg/repoze/urchin/__init__.py", line 20, in __call__ resp = req.get_response(self.app) File "/srv/osfkarl/production/20/eggs/WebOb-0.9.8.0_osi1-py2.6.egg/webob/request.py", line 920, in get_response application, catch_exc_info=False) File "/srv/osfkarl/production/20/eggs/WebOb-0.9.8.0_osi1-py2.6.egg/webob/request.py", line 888, in call_application app_iter = application(self.environ, start_response) File "/srv/osfkarl/production/20/eggs/repoze.bfg-1.2-py2.6.egg/repoze/bfg/router.py", line 130, in __call__ response = view_callable(context, request) File "/srv/osfkarl/production/20/eggs/repoze.bfg-1.2-py2.6.egg/repoze/bfg/configuration.py", line 1753, in _secured_view return view(context, request) File "/srv/osfkarl/production/20/eggs/karl-3.61-py2.6.egg/karl/views/search.py", line 368, in jquery_livesearch_view num, docids, resolver = factory() File "/srv/osfkarl/production/20/eggs/karl-3.61-py2.6.egg/karl/utilities/groupsearch.py", line 65, in __call__ num, docids, resolver = searcher(**criteria) File "/srv/osfkarl/production/20/eggs/karl-3.61-py2.6.egg/karl/models/adapters.py", line 73, in __call__ num, docids = self.catalog.search(**kw) File "/srv/osfkarl/production/20/eggs/karl-3.61-py2.6.egg/karl/models/catalog.py", line 107, in search cache[key] = (num, docids) File "/srv/osfkarl/production/20/eggs/karl-3.61-py2.6.egg/karl/utilities/lru.py", line 65, in __setitem__ current = clock[hand] IndexError: list index out of range

Tags: r3.64
Changed in karl3:
milestone: m60 → m59
Changed in karl3:
status: New → In Progress
Revision history for this message
Chris Rossi (chris-archimedeanco) wrote :

The LRU cache implementation used by the catalog was not truly threadsafe. I have increased the amount of the LRU code now protected by a lock. (Pretty much all of it.)

Changed in karl3:
milestone: m59 → m60
JimPGlenn (jpglenn09)
Changed in karl3:
status: In Progress → Fix Released
tags: added: r3.64
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.