Solved: Web interface failing / django.request handle_uncaught_exception Internal Server Error

All of a sudden the web interface stopped working in 6.1.2; I couldn’t create shared links anymore.

I upgraded to 6.3.1; due to the problem documented in another thread I had to run the MySQL scripts manually, but otherwise the upgrade worked.

Now the web interface is completely broken:

  • Old links don’t work anymore (“Sorry, but the requested page is unavailable due to a server hiccup.”)
  • Some pages show just “Error”.
  • Other pages stop laoding (especially “for my groups”).
  • Links cannot be created.

The client is still working.

In seahub.log I see many errors like:

2018-06-27 10:51:43,508 [ERROR] django.request:135 handle_uncaught_exception Internal Server Error: /api2/account/info/
Traceback (most recent call last):
File “/server/app/seafile/seafile-server-6.3.1/seahub/thirdpart/django/core/handlers/”, line 41, in inner
response = get_response(request)
File “/server/app/seafile/seafile-server-6.3.1/seahub/thirdpart/django/core/handlers/”, line 249, in _legacy_get_response
response = self._get_response(request)
File “/server/app/seafile/seafile-server-6.3.1/seahub/thirdpart/django/core/handlers/”, line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File “/server/app/seafile/seafile-server-6.3.1/seahub/thirdpart/django/core/handlers/”, line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File “/server/app/seafile/seafile-server-6.3.1/seahub/thirdpart/django/views/decorators/”, line 58, in wrapped_view
return view_func(*args, **kwargs)
File “/server/app/seafile/seafile-server-6.3.1/seahub/thirdpart/django/views/generic/”, line 68, in view
return self.dispatch(request, *args, **kwargs)
File “/server/app/seafile/seafile-server-6.3.1/seahub/seahub/api2/”, line 23, in dispatch
response = super(APIView, self).dispatch(*a, **kw)
File “/server/app/seafile/seafile-server-6.3.1/seahub/thirdpart/rest_framework/”, line 466, in dispatch
response = self.handle_exception(exc)
File “/server/app/seafile/seafile-server-6.3.1/seahub/seahub/api2/”, line 20, in handle_exception
return super(APIView, self).handle_exception(exc)
File “/server/app/seafile/seafile-server-6.3.1/seahub/thirdpart/rest_framework/”, line 454, in dispatch
self.initial(request, *args, **kwargs)
File “/server/app/seafile/seafile-server-6.3.1/seahub/thirdpart/rest_framework/”, line 378, in initial
File “/server/app/seafile/seafile-server-6.3.1/seahub/thirdpart/rest_framework/”, line 340, in check_throttles
if not throttle.allow_request(request, self):
File “/server/app/seafile/seafile-server-6.3.1/seahub/seahub/api2/”, line 129, in allow_request
self.history = self.cache.get(self.key, [])
File “/server/app/seafile/seafile-server-6.3.1/seahub/thirdpart/django/core/cache/backends/”, line 40, in get
if not self._is_expired(f):
File “/server/app/seafile/seafile-server-6.3.1/seahub/thirdpart/django/core/cache/backends/”, line 137, in _is_expired
exp = pickle.load(f)

The first line changes, but the traceback is always identical as far as I can see.

Does anybody have an idea what could be wrong?

Thanks in advance


A similar problem was discussed in this thread:

I stopped seahub and seafile, renamed /tmp/seahub_cache to /tmp/seahub_cache_old and started seafile and seahub again.

Everything seems to work now, but old links are broken and have to be deleted (through the admin interface) and recreated.

Thanks to all,