haiwen / seahub

The web end of seafile server.
seafile.com
Other
526 stars 369 forks source link

Can't create share-link after upgrade from 6.3 to 7.0 #4114

Open ole-db opened 5 years ago

ole-db commented 5 years ago

After upgrading Seafile/Seahub from 6.3 to 7.0 I can't create share-links with seahub any more. With the client, there is no problem.

This is from the seahub.log:

 2019-09-18 11:56:16,225 [ERROR] django.request:135 handle_uncaught_exception Internal Server Error: /api/v2.1/share-links/
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 249, in _legacy_get_response
    response = self._get_response(request)
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/views/generic/base.py", line 68, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/rest_framework/views.py", line 495, in dispatch
    response = self.handle_exception(exc)
  File "/usr/local/lib/python2.7/site-packages/rest_framework/views.py", line 455, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/usr/local/lib/python2.7/site-packages/rest_framework/views.py", line 492, in dispatch
    response = handler(request, *args, **kwargs)
  File "/usr/local/www/haiwen/seafile-server/seahub/seahub/api2/endpoints/share_links.py", line 304, in post
    permission=perm, org_id=org_id)
  File "/usr/local/www/haiwen/seafile-server/seahub/seahub/share/models.py", line 139, in create_file_link
    expire_date, permission, org_id)
  File "/usr/local/www/haiwen/seafile-server/seahub/seahub/share/models.py", line 99, in _add_file_share
    permission=permission)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 394, in create
    obj.save(force_insert=True, using=self.db)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 808, in save
    force_update=force_update, update_fields=update_fields)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 838, in save_base
    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 924, in _save_table
    result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 963, in _do_insert
    using=using, raw=raw)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py", line 1079, in _insert
    return query.get_compiler(using=using).execute_sql(return_id)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 1111, in execute_sql
    for sql, params in self.as_sql():
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 1064, in as_sql
    for obj in self.query.objs
  File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 1003, in prepare_value
    value = field.get_db_prep_save(value, connection=self.connection)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 770, in get_db_prep_save
    prepared=False)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 762, in get_db_prep_value
    value = self.get_prep_value(value)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 1099, in get_prep_value
    return self.to_python(value)
  File "/usr/local/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 1095, in to_python
    return force_text(value)
  File "/usr/local/lib/python2.7/site-packages/django/utils/encoding.py", line 80, in force_text
    s = six.text_type(bytes(s), encoding, errors)
  File "/usr/local/lib/python2.7/site-packages/django/http/response.py", line 314, in serialize
    return self.serialize_headers() + b'\r\n\r\n' + self.content
  File "/usr/local/lib/python2.7/site-packages/django/template/response.py", line 129, in content
    'The response content must be rendered before it can be accessed.'
ContentNotRenderedError: The response content must be rendered before it can be accessed.

I am running FreeBSD 11.2 and seafile/seahub is installed from the prorts.

I posted originally here: https://github.com/haiwen/seafile/issues/2246

PocketSam commented 3 years ago

Same problem on Ubuntu 18.04.5 LTS

2020-12-15 11:58:41,094 [ERROR] django.request:135 handle_uncaught_exception Internal Server Error: /api/v2.1/admin/users/markov7722@gmail.com/share-links/
Traceback (most recent call last):
  File "/opt/seafile/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/exception.py", line 41, in inner
    response = get_response(request)
  File "/opt/seafile/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/base.py", line 249, in _legacy_get_response
    response = self._get_response(request)
  File "/opt/seafile/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/opt/seafile/seafile-server-7.1.5/seahub/thirdpart/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/seafile/seafile-server-7.1.5/seahub/thirdpart/django/views/decorators/csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "/opt/seafile/seafile-server-7.1.5/seahub/thirdpart/django/views/generic/base.py", line 68, in view
    return self.dispatch(request, *args, **kwargs)
  File "/opt/seafile/seafile-server-7.1.5/seahub/thirdpart/rest_framework/views.py", line 505, in dispatch
    response = self.handle_exception(exc)
  File "/opt/seafile/seafile-server-7.1.5/seahub/thirdpart/rest_framework/views.py", line 465, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/opt/seafile/seafile-server-7.1.5/seahub/thirdpart/rest_framework/views.py", line 476, in raise_uncaught_exception
    raise exc
  File "/opt/seafile/seafile-server-7.1.5/seahub/thirdpart/rest_framework/views.py", line 502, in dispatch
    response = handler(request, *args, **kwargs)
  File "/opt/seafile/seafile-server-7.1.5/seahub/seahub/api2/endpoints/admin/users.py", line 1122, in get
    link_info = get_user_share_link_info(fs)
  File "/opt/seafile/seafile-server-7.1.5/seahub/seahub/api2/endpoints/admin/users.py", line 115, in get_user_share_link_info
    repo.version, obj_id)
  File "/opt/seafile/seafile-server-7.1.5/seafile/lib64/python3.6/site-packages/seaserv/api.py", line 192, in get_file_size
    return seafserv_threaded_rpc.get_file_size(store_id, version, file_id)
  File "/opt/seafile/seafile-server-7.1.5/seafile/lib64/python3.6/site-packages/pysearpc/client.py", line 128, in newfunc
    return fret(ret_str)
  File "/opt/seafile/seafile-server-7.1.5/seafile/lib64/python3.6/site-packages/pysearpc/client.py", line 12, in _fret_int
    raise SearpcError(dicts['err_msg'])
pysearpc.common.SearpcError: Invalid file id

The library is OK.

sudo -u seafile ionice -c3 /opt/seafile/seafile-server-latest/seaf-fsck.sh 4a12f556-3d34-42b5-95f2-7b8d06e500ca
Starting seaf-fsck, please wait ...

[12/15/20 12:16:04] fsck.c(592): Running fsck for repo 4a12f556-3d34-42b5-95f2-7b8d06e500ca.
[12/15/20 12:16:04] fsck.c(418): Checking file system integrity of repo Документы(4a12f556)...
[12/15/20 12:17:32] fsck.c(656): Fsck finished for repo 4a12f556.

seaf-fsck run done
PocketSam commented 3 years ago

Same problem with 8.0.2.

Log file with errors attached. 2021-01-18 is when the problem occured. seahub.zip

PocketSam commented 3 years ago

I resolved a problem by removing a Library, creating a new one and reuploading all files.