页面打不开,seahub日志中一直在报错

用了一个月的时间,突然页面打不开了,然后seafile和seahub进程都在,mysql也是好的。
seahub.log一直在显示[ERROR] seahub.avatar.templatetags.avatar_tags:69 avatar decoder jpeg not available
seahub_django_request.log也有错误
2016-11-15 16:40:16,027 [ERROR] django.request:256 handle_uncaught_exception Internal Server Error: /
Traceback (most recent call last):
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/core/handlers/base.py”, line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File “/cloud/seafile-server-6.0.4/seahub/seahub/auth/decorators.py”, line 27, in _wrapped_view
return view_func(request, *args, **kwargs)
File “/cloud/seafile-server-6.0.4/seahub/seahub/base/decorators.py”, line 40, in _decorated
return func(request, *args, **kwargs)
File “/cloud/seafile-server-6.0.4/seahub/seahub/views/init.py”, line 829, in libraries
}, context_instance=RequestContext(request))
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/shortcuts.py”, line 45, in render_to_response
using=using)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/loader.py”, line 115, in render_to_string
template_name, context, context_instance, dirs, dictionary)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/engine.py”, line 221, in render_to_string
return t.render(context_instance)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/base.py”, line 210, in render
return self._render(context)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/base.py”, line 202, in _render
return self.nodelist.render(context)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/base.py”, line 905, in render
bit = self.render_node(node, context)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/base.py”, line 919, in render_node
return node.render(context)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/loader_tags.py”, line 135, in render
return compiled_parent._render(context)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/base.py”, line 202, in _render
return self.nodelist.render(context)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/base.py”, line 905, in render
bit = self.render_node(node, context)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/base.py”, line 919, in render_node
return node.render(context)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/loader_tags.py”, line 65, in render
result = block.nodelist.render(context)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/base.py”, line 905, in render
bit = self.render_node(node, context)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/base.py”, line 919, in render_node
return node.render(context)
File “/cloud/seafile-server-6.0.4/seahub/thirdpart/Django-1.8.10-py2.7.egg/django/template/base.py”, line 1197, in render
return func(*resolved_args, **resolved_kwargs)
File “/cloud/seafile-server-6.0.4/seahub/seahub/avatar/templatetags/avatar_tags.py”, line 27, in avatar_url
avatar = get_primary_avatar(user, size=size)
File “/cloud/seafile-server-6.0.4/seahub/seahub/avatar/util.py”, line 113, in get_primary_avatar
avatar.create_thumbnail(size)
File “/cloud/seafile-server-6.0.4/seahub/seahub/avatar/models.py”, line 99, in create_thumbnail
image = image.crop((diff, 0, w - diff, h))
File “/usr/local/python/lib/python2.7/site-packages/PIL/Image.py”, line 763, in crop
self.load()
File “/usr/local/python/lib/python2.7/site-packages/PIL/ImageFile.py”, line 189, in load
d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
File “/usr/local/python/lib/python2.7/site-packages/PIL/Image.py”, line 385, in _getdecoder
raise IOError(“decoder %s not available” % decoder_name)
IOError: decoder jpeg not available

不知道是怎么会突然产生这个问题的

这是因为头像使用了 jpeg 格式的图片。需要重新安装下 python pillow 库,以便支持从 jpeg 格式的图片生成缩略图。