Seafile Pro 7.1 beta Seafdav is not working anymore

Hello everyone,

seafdav is not working after upgrading from 7.0.9 to 7.1


Traceback (most recent call last):
  File "/var/lib/seafile/seafile-pro-server-7.1.0/seahub/thirdpart/wsgidav/error_printer.py", line 51, in __call__
    app_iter = self.next_app(environ, sub_app_start_response)
  File "/var/lib/seafile/seafile-pro-server-7.1.0/seahub/thirdpart/wsgidav/http_authenticator.py", line 253, in __call__
    return self.handle_basic_auth_request(environ, start_response)
  File "/var/lib/seafile/seafile-pro-server-7.1.0/seahub/thirdpart/wsgidav/http_authenticator.py", line 310, in handle_basic_auth_request
    return self.next_app(environ, start_response)
  File "/var/lib/seafile/seafile-pro-server-7.1.0/seahub/thirdpart/wsgidav/dir_browser/_dir_browser.py", line 110, in __call__
    context = self._get_context(environ, dav_res)
  File "/var/lib/seafile/seafile-pro-server-7.1.0/seahub/thirdpart/wsgidav/dir_browser/_dir_browser.py", line 182, in _get_context
    childList = dav_res.get_descendants(depth="1", add_self=False)
  File "/var/lib/seafile/seafile-pro-server-7.1.0/seahub/thirdpart/wsgidav/dav_provider.py", line 461, in get_descendants
    for child in self.get_member_list():
  File "/var/lib/seafile/seafile-pro-server-7.1.0/seahub/thirdpart/wsgidav/seafile_dav_provider.py", line 495, in get_member_list
    res = self._createRootRes(repo, repo.name)
  File "/var/lib/seafile/seafile-pro-server-7.1.0/seahub/thirdpart/wsgidav/seafile_dav_provider.py", line 506, in _createRootRes
    obj = get_repo_root_seafdir(repo)
  File "/var/lib/seafile/seafile-pro-server-7.1.0/seahub/thirdpart/wsgidav/seafile_dav_provider.py", line 619, in get_repo_root_seafdir
    root_id = commit_mgr.get_commit_root_id(repo.id, repo.version, repo.head_cmmt_id)
  File "/var/lib/seafile/seafile-pro-server-7.1.0/seahub/thirdpart/seafobj/commits.py", line 57, in get_commit_root_id
    commit = self.load_commit(repo_id, version, commit_id)
seafobj.exceptions.GetObjectError: Failed to read object 6872b1bb-99e3-4c28-a02a-e812b740a001/3ac35b7266d716f0d610e883a1f1d6823bee7783: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/lib/seafile/seafile-pro-server-7.1.0/seahub/thirdpart/wsgidav/error_printer.py", line 88, in __call__
    raise as_DAVError(e)
wsgidav.dav_error.DAVError: DAVError(500 Internal Server Error: An internal server error occurred
    Source exception: 'Failed to read object 6872b1bb-99e3-4c28-a02a-e812b740a001/3ac35b7266d716f0d610e883a1f1d6823bee7783: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.')

2020-02-27 20:04:08.308 - <140028878759744> wsgidav.error_printer       ERROR   :  e.src_exception:
Failed to read object 6872b1bb-99e3-4c28-a02a-e812b740a001/3ac35b7266d716f0d610e883a1f1d6823bee7783: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.
2020-02-27 20:04:08.309 - <140028878759744> wsgidav.wsgidav_app         INFO    :  127.0.0.1 -  - [2020-02-27 19:04:08] "GET " elap=0.118sec -> 500 Internal Server Error

I changed nginx configuration to wsgi as requested.

Any clue ?

Regards,

Hi:
Can you tell me the detailed reproduction steps.

Hi,

Just try to login on /seafdav URI. I had a HTTP 500 error juster after login.