共享的文件夹有一个文件夹同步到本地时出现服务器内部错误

问题概述:
其他账号只读方式共享的数个文件夹给我的账号,其中有一个文件夹同步到本地时,进度到54%左右显示服务器内部错误,其余共享给我的文件夹同步到本地正常。

服务器情况:
安装在win10家庭版(PC1),seafile-server-6.0.7(近期从seafile-server-5.1.3升级),IP:10.1.1.100

客户端情况:
安装在win10家庭版(PC2、PC3、PC4),seafile-6.0.3

账号情况:

  • 管理员账号A(PC1上使用),客户端账号B(PC2上使用)、C(PC3上使用)、D(PC4上使用)。
  • 管理员账号A安装在服务器(PC1)上,连接127.0.0.1,同步本地资料库到服务器上【近期从seafile-server-5.1.3升级到seafile-server-6.0.7后解决各种问题后同步正常】,同时将资料库中一部分文件夹只读方式共享给账号C;
  • 客户端账号B安装在PC2上使用,连接到服务器IP10.1.1.100上,能正常将本地资料库与服务器端同步,同时将资料库只读方式共享给账号C;
  • 客户端账号C安装在PC3上使用,连接到服务器IP10.1.1.100上,将共享给该账号的文件夹和资料库同步到本地。

问题描述:

  • 现在出现的情况是安装在PC3上的客户端账号C,在将A共享的文件夹及C共享的资料库同步到本地的时候,在把A共享给C的其中有一个文件夹同步到本地时,进度到54%左右显示服务器内部错误,然后间隔一会儿又重新同步,紧接着又显示服务器内部错误,其余共享给我的文件夹同步到本地正常。B共享给C的资料库同步也正常。
  • 已经试过断开同步后重新同步、选择同步到其他位置、重启客户端、重新安装客户端、服务器重启、清空seahub-Cache文件夹等操作,问题仍存在。也怀疑文件夹中有过长文件名,大概核实了下,也修改了人为太长的文件名,没有解决,也想既然文件和文件夹源于A账号,A账号与服务器都能正常同步(包括出现错误的那个文件夹),那应该是没有问题的呀!

求大神帮忙找解决办法!

查看一下 客户端的日志 和 服务器端的日志,看看有没有什么报错信息。

@lian @daniel.pan 麻烦帮忙分析分析客户端日志,看到是有错误,但是到底什么原因导致的呢,小白看不懂?

服务器端日志:
[03/30/17 11:55:40] …/common/block-backend-fs.c(225): [block bend] Failed to stat block 1982ca6f-d1d3-41d6-8a65-619b1970acdf:4dbb283607ca174ffc26733ddbe37458ea7625e8 at E:/seafile-server\seafile-data\storage\blocks/1982ca6f-d1d3-41d6-8a65-619b1970acdf/4d/bb283607ca174ffc26733ddbe37458ea7625e8: No such file or directory.
[03/30/17 11:55:45] …/common/block-backend-fs.c(225): [block bend] Failed to stat block 1982ca6f-d1d3-41d6-8a65-619b1970acdf:4dbb283607ca174ffc26733ddbe37458ea7625e8 at E:/seafile-server\seafile-data\storage\blocks/1982ca6f-d1d3-41d6-8a65-619b1970acdf/4d/bb283607ca174ffc26733ddbe37458ea7625e8: No such file or directory.
[03/30/17 11:55:50] …/common/block-backend-fs.c(225): [block bend] Failed to stat block 1982ca6f-d1d3-41d6-8a65-619b1970acdf:4dbb283607ca174ffc26733ddbe37458ea7625e8 at E:/seafile-server\seafile-data\storage\blocks/1982ca6f-d1d3-41d6-8a65-619b1970acdf/4d/bb283607ca174ffc26733ddbe37458ea7625e8: No such file or directory.
[03/30/17 11:55:55] …/common/block-backend-fs.c(225): [block bend] Failed to stat block 1982ca6f-d1d3-41d6-8a65-619b1970acdf:4dbb283607ca174ffc26733ddbe37458ea7625e8 at E:/seafile-server\seafile-data\storage\blocks/1982ca6f-d1d3-41d6-8a65-619b1970acdf/4d/bb283607ca174ffc26733ddbe37458ea7625e8: No such file or directory.
[03/30/17 11:56:00] …/common/block-backend-fs.c(225): [block bend] Failed to stat block 1982ca6f-d1d3-41d6-8a65-619b1970acdf:4dbb283607ca174ffc26733ddbe37458ea7625e8 at E:/seafile-server\seafile-data\storage\blocks/1982ca6f-d1d3-41d6-8a65-619b1970acdf/4d/bb283607ca174ffc26733ddbe37458ea7625e8: No such file or directory.
[03/30/17 11:56:05] …/common/block-backend-fs.c(225): [block bend] Failed to stat block 1982ca6f-d1d3-41d6-8a65-619b1970acdf:4dbb283607ca174ffc26733ddbe37458ea7625e8 at E:/seafile-server\seafile-data\storage\blocks/1982ca6f-d1d3-41d6-8a65-619b1970acdf/4d/bb283607ca174ffc26733ddbe37458ea7625e8: No such file or directory.
[03/30/17 11:56:10] …/common/block-backend-fs.c(225): [block bend] Failed to stat block 1982ca6f-d1d3-41d6-8a65-619b1970acdf:4dbb283607ca174ffc26733ddbe37458ea7625e8 at E:/seafile-server\seafile-data\storage\blocks/1982ca6f-d1d3-41d6-8a65-619b1970acdf/4d/bb283607ca174ffc26733ddbe37458ea7625e8: No such file or directory.
[03/30/17 11:56:15] …/common/block-backend-fs.c(225): [block bend] Failed to stat block 1982ca6f-d1d3-41d6-8a65-619b1970acdf:4dbb283607ca174ffc26733ddbe37458ea7625e8 at E:/seafile-server\seafile-data\storage\blocks/1982ca6f-d1d3-41d6-8a65-619b1970acdf/4d/bb283607ca174ffc26733ddbe37458ea7625e8: No such file or directory.

客户端日志:
[03/30/17 11:55:56] http-tx-mgr.c(4061): Bad response code for GET http://10.1.1.100:8082/repo/e496eff0-88da-422f-bd76-2be75e45ae4f/block/4dbb283607ca174ffc26733ddbe37458ea7625e8: 500.
[03/30/17 11:55:56] repo-mgr.c(5198): Transfer failed.
[03/30/17 11:55:56] [03/30/17 11:55:56] http-tx-mgr.c(748): libcurl failed to GET http://10.1.1.100:8082/repo/e496eff0-88da-422f-bd76-2be75e45ae4f/block/24d10f6ec124ce8c23c2b9f5a275aef38cf65733: Failed writing received data to disk/application.
http-tx-mgr.c(748): libcurl failed to GET http://10.1.1.100:8082/repo/e496eff0-88da-422f-bd76-2be75e45ae4f/block/1318b9b00f1394a0494d1efbd634acf1e51e0044: Failed writing received data to disk/application.
[03/30/17 11:55:56] repo-mgr.c(5198): Transfer failed.
[03/30/17 11:55:56] repo-mgr.c(5198): Transfer failed.
[03/30/17 11:55:56] http-tx-mgr.c(748): libcurl failed to GET http://10.1.1.100:8082/repo/e496eff0-88da-422f-bd76-2be75e45ae4f/block/944efd1634d5fe987cd236ed025742d7195327cf: Failed writing received data to disk/application.
[03/30/17 11:55:56] repo-mgr.c(5198): Transfer failed.
[03/30/17 11:55:56] http-tx-mgr.c(1109): Transfer repo ‘e496eff0’: (‘normal’, ‘data’) --> (‘error’, ‘finished’)
[03/30/17 11:55:56] clone-mgr.c(857): Transition clone state for e496eff0 from [fetch] to [error]: fetch.
[03/30/17 11:56:01] clone-mgr.c(840): Transition clone state for e496eff0 from [error] to [check server].
[03/30/17 11:56:01] http-tx-mgr.c(1213): Bad response code for GET http://10.1.1.100:8000/seafhttp/protocol-version: 404.
[03/30/17 11:56:01] clone-mgr.c(840): Transition clone state for e496eff0 from [check server] to [fetch].
[03/30/17 11:56:01] http-tx-mgr.c(4262): Download with HTTP sync protocol version 1.
[03/30/17 11:56:01] http-tx-mgr.c(1109): Transfer repo ‘e496eff0’: (‘normal’, ‘init’) --> (‘normal’, ‘check’)
[03/30/17 11:56:01] http-tx-mgr.c(1109): Transfer repo ‘e496eff0’: (‘normal’, ‘check’) --> (‘normal’, ‘commit’)
[03/30/17 11:56:01] http-tx-mgr.c(1109): Transfer repo ‘e496eff0’: (‘normal’, ‘commit’) --> (‘normal’, ‘fs’)
[03/30/17 11:56:01] http-tx-mgr.c(1109): Transfer repo ‘e496eff0’: (‘normal’, ‘fs’) --> (‘normal’, ‘data’)
[03/30/17 11:56:02] http-tx-mgr.c(4061): Bad response code for GET http://10.1.1.100:8082/repo/e496eff0-88da-422f-bd76-2be75e45ae4f/block/4dbb283607ca174ffc26733ddbe37458ea7625e8: 500.
[03/30/17 11:56:02] repo-mgr.c(5198): Transfer failed.
[03/30/17 11:56:02] [03/30/17 11:56:02] http-tx-mgr.c(748): libcurl failed to GET http://10.1.1.100:8082/repo/e496eff0-88da-422f-bd76-2be75e45ae4f/block/1318b9b00f1394a0494d1efbd634acf1e51e0044: Failed writing received data to disk/application.
http-tx-mgr.c(748): libcurl failed to GET http://10.1.1.100:8082/repo/e496eff0-88da-422f-bd76-2be75e45ae4f/block/24d10f6ec124ce8c23c2b9f5a275aef38cf65733: Failed writing received data to disk/application.
[03/30/17 11:56:02] [03/30/17 11:56:02] repo-mgr.c(5198): Transfer failed.
repo-mgr.c(5198): Transfer failed.
[03/30/17 11:56:02] http-tx-mgr.c(748): libcurl failed to GET http://10.1.1.100:8082/repo/e496eff0-88da-422f-bd76-2be75e45ae4f/block/944efd1634d5fe987cd236ed025742d7195327cf: Failed writing received data to disk/application.
[03/30/17 11:56:02] repo-mgr.c(5198): Transfer failed.
[03/30/17 11:56:02] http-tx-mgr.c(1109): Transfer repo ‘e496eff0’: (‘normal’, ‘data’) --> (‘error’, ‘finished’)
[03/30/17 11:56:02] clone-mgr.c(857): Transition clone state for e496eff0 from [fetch] to [error]: fetch.
[03/30/17 11:56:06] clone-mgr.c(840): Transition clone state for e496eff0 from [error] to [check server].
[03/30/17 11:56:06] http-tx-mgr.c(1213): Bad response code for GET http://10.1.1.100:8000/seafhttp/protocol-version: 404.
[03/30/17 11:56:06] [03/30/17 11:56:06] clone-mgr.c(840): Transition clone state for e496eff0 from [check server] to [fetch].
http-tx-mgr.c(4262): Download with HTTP sync protocol version 1.
[03/30/17 11:56:06] http-tx-mgr.c(1109): Transfer repo ‘e496eff0’: (‘normal’, ‘init’) --> (‘normal’, ‘check’)
[03/30/17 11:56:06] http-tx-mgr.c(1109): Transfer repo ‘e496eff0’: (‘normal’, ‘check’) --> (‘normal’, ‘commit’)
[03/30/17 11:56:06] http-tx-mgr.c(1109): Transfer repo ‘e496eff0’: (‘normal’, ‘commit’) --> (‘normal’, ‘fs’)
[03/30/17 11:56:06] http-tx-mgr.c(1109): Transfer repo ‘e496eff0’: (‘normal’, ‘fs’) --> (‘normal’, ‘data’)
[03/30/17 11:56:06] http-tx-mgr.c(4061): Bad response code for GET http://10.1.1.100:8082/repo/e496eff0-88da-422f-bd76-2be75e45ae4f/block/4dbb283607ca174ffc26733ddbe37458ea7625e8: 500.
[03/30/17 11:56:06] repo-mgr.c(5198): Transfer failed.
[03/30/17 11:56:07] [03/30/17 11:56:07] http-tx-mgr.c(748): libcurl failed to GET http://10.1.1.100:8082/repo/e496eff0-88da-422f-bd76-2be75e45ae4f/block/944efd1634d5fe987cd236ed025742d7195327cf: Failed writing received data to disk/application.
http-tx-mgr.c(748): libcurl failed to GET http://10.1.1.100:8082/repo/e496eff0-88da-422f-bd76-2be75e45ae4f/block/1318b9b00f1394a0494d1efbd634acf1e51e0044: Failed writing received data to disk/application.
[03/30/17 11:56:07] repo-mgr.c(5198): Transfer failed.
[03/30/17 11:56:07] repo-mgr.c(5198): Transfer failed.
[03/30/17 11:56:07] http-tx-mgr.c(748): libcurl failed to GET http://10.1.1.100:8082/repo/e496eff0-88da-422f-bd76-2be75e45ae4f/block/24d10f6ec124ce8c23c2b9f5a275aef38cf65733: Failed writing received data to disk/application.
[03/30/17 11:56:07] repo-mgr.c(5198): Transfer failed.
[03/30/17 11:56:07] http-tx-mgr.c(1109): Transfer repo ‘e496eff0’: (‘normal’, ‘data’) --> (‘error’, ‘finished’)
[03/30/17 11:56:07] clone-mgr.c(857): Transition clone state for e496eff0 from [fetch] to [error]: fetch.

可能是服务器端的数据被损坏了,你试试这个
https://manual-cn.seafile.com/maintain/seafile_fsck.html

@lian 看过Seafile FSCK相关内容,因为自己不专业,确实不会操作,最终采取的方式是将账号A问题文件夹复制备份,删除该文件夹,从网页上清空历史记录,退出服务器软件,运行GC后重启服务器,重新将备份的文件夹复制到账号A的同步文件夹内,自动同步各个客户端,解决问题。同时也回收了几个G的空间。
但是还是有疑问,虽然从日志上看服务器端是有损坏,只有从服务器同步到C出现服务器内部错误,因为我描述掉了我A的内容还是通过服务器同步到B的,而B同步时并未出现错误提示,显示的是绿色√,正常同步。。。