[OPEN-ILS-DEV] Syrup, OpenSRF 3.0, Evergreen 3.0.12 and JSONDecodeError
Jason Stephenson
jason at sigio.com
Mon Oct 8 07:11:30 EDT 2018
Hi,
We upgraded to Evergreen 3.0.12 and the latest OpenSRF rel_3_0 last
night. Since doing the upgrade any time we try to view an item in
Syrup, we're getting a JSONDecodeError like the one below:
Environment:
Request Method: GET
Request URL: http://rb.cwmars.org/bcc/site/507/
Django Version: 1.4
Python Version: 2.6.6
Installed Applications:
['django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.messages',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'south',
'conifer.syrup']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'conifer.plumbing.genshi_support.GenshiMiddleware',
'django.middleware.locale.LocaleMiddleware',
'babeldjango.middleware.LocaleMiddleware',
'django.middleware.transaction.TransactionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Traceback:
File
"/usr/local/lib/python2.6/dist-packages/Django-1.4-py2.6.egg/django/core/handlers/base.py"
in get_response
111. response = callback(request,
*callback_args, **callback_kwargs)
File "/home/syrup/bcc/Syrup/conifer/syrup/views/_common.py" in hdlr
85. return handler(request, site_id, *args, **kwargs)
File "/home/syrup/bcc/Syrup/conifer/syrup/views/sites.py" in site_detail
229. return g.render('site_detail.xhtml', site=site)
File "/home/syrup/bcc/Syrup/conifer/plumbing/genshi_support.py" in render
77. return
HttpResponse(self.template(tname).generate(**kwargs).render('xhtml'))
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/core.py"
in render
184. return encode(generator, method=method,
encoding=encoding, out=out)
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/output.py"
in encode
57. return _encode(''.join(list(iterator)))
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/output.py"
in __call__
350. for kind, data, pos in stream:
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/output.py"
in __call__
669. for kind, data, pos in stream:
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/output.py"
in __call__
774. for kind, data, pos in chain(stream, [(None, None, None)]):
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/output.py"
in __call__
594. for ev in stream:
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/core.py"
in _ensure
289. for event in stream:
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/template/base.py"
in _include
618. for event in stream:
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/template/markup.py"
in _match
362. content = list(content)
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/template/base.py"
in _include
618. for event in stream:
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/template/markup.py"
in _strip
315. event = next()
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/template/base.py"
in _flatten
602. _exec_suite(data, ctxt, vars)
File
"/usr/local/lib/python2.6/dist-packages/Genshi-0.7-py2.6-linux-i686.egg/genshi/template/base.py"
in _exec_suite
306. suite.execute(ctxt)
File "/home/syrup/bcc/Syrup/conifer/templates/components/site.xhtml" in
<Suite u'downloads_allowed = site.allows_downloads_to(user) ...'>
38. downloads_allowed = site.allows_downloads_to(user)
File "/home/syrup/bcc/Syrup/conifer/plumbing/hooksystem.py" in callhook
24. return f(*args, **kwargs)
File "/home/syrup/bcc/Syrup/conifer/integration/evergreen_site.py" in
item_status
163. return self._item_status(item.bib_id)
File "/home/syrup/bcc/Syrup/conifer/plumbing/memoization.py" in func
35. v = self.cache[key] = f(*args,**kwargs),time.time()
File "/home/syrup/bcc/Syrup/conifer/integration/evergreen_site.py" in
_item_status
324. counts = E1(OPENSRF_COPY_COUNTS, bib_id,
EVERGREEN_STATUS_ORG, EVERGREEN_STATUS_DEPTH)
File "/home/syrup/bcc/Syrup/conifer/libsystems/evergreen/support.py" in
evergreen_request_single_result
69. resp = evergreen_request(method, *args, **kwargs)
File "/home/syrup/bcc/Syrup/conifer/libsystems/evergreen/support.py" in
evergreen_request
61. resp = json.load(req)
File "/usr/lib/pymodules/python2.6/simplejson/__init__.py" in load
328. use_decimal=use_decimal, **kw)
File "/usr/lib/pymodules/python2.6/simplejson/__init__.py" in loads
384. return _default_decoder.decode(s)
File "/usr/lib/pymodules/python2.6/simplejson/decoder.py" in decode
402. obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/pymodules/python2.6/simplejson/decoder.py" in raw_decode
418. obj, end = self.scan_once(s, idx)
Exception Type: JSONDecodeError at /site/507/
Exception Value: Expecting , delimiter: line 1 column 2228 (char 2228)
I tried searching through Lp bugs, IRC Logs, Evergreen mailing list
archives, my local email, and Google. Nothing useful has so far turned
up. Most of the Google results that I have seen so far seem to be
issues with how the person asking the question has quoted their JSON.
I keep thinking that someone brought something like this up lately in
some Evergreen community forum, but I cannot find it. (I may be
imagining this. The mind is a tricky thing.) So, I am sending this to
the list in the hope that someone else has actually seen this before.
Looking at the trace above, it might have something to do with changes
in how copy counts are output, but I am not certain.
I will continue my own investigations.
Any help would be helpful.
Cheers,
Jason
More information about the Open-ils-dev
mailing list