内部错误,连接SeaDriver守护进程失败


#1

打开程序就显示这个问题,请问应该如何解决?
已重装过 seadrive-2.0.13.msi ,但问题继续重复出现;

客户端日志如下:

概要

[03/29/21 17:30:20] loaded 1 accounts
[03/29/21 17:30:20] starting applet rpc service
[03/29/21 17:30:20] applet rpc service started
[03/29/21 17:30:20] seadrive gui started
[03/29/21 17:30:20] Using cache directory: C:/Users/蔡本祥/seadrive_root
[03/29/21 17:30:20] starting seadrive daemon: seadrive.exe “-d” “C:/Users/蔡本祥/seadrive/data” “-l” “C:/Users/蔡本祥/seadrive/logs/seadrive.log” “-L” “zh_cn” “C:\Users\蔡本祥\seadrive_root”
[03/29/21 17:30:23] Unable to get config value download_limit: Config not exists
[03/29/21 17:30:23] Unable to get config value upload_limit: Config not exists
[03/29/21 17:30:23] Found metadata in lib C:/Program Files/SeaDrive/bin/bearer/qgenericbearer.dll, metadata=
{
“IID”: “org.qt-project.Qt.QBearerEngineFactoryInterface”,
“MetaData”: {
“Keys”: [
“generic”
]
},
“archreq”: 0,
“className”: “QGenericEnginePlugin”,
“debug”: false,
“version”: 331520
}

[03/29/21 17:30:23] use exist syncroot name me
[03/29/21 17:30:23] generated sync root name is : me
[03/29/21 17:30:23] Unable to switch to account https://pan.cbxhome.cn me@cbx.cloud 1631f35 : ‘[’ or ‘{’ expected near end of file
[03/29/21 17:30:23] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:23] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:24] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:24] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:25] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:25] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:26] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:26] Exiting with error: 内部错误:连接 SeaDrive 守护进程失败
[03/29/21 17:30:26] Seadrive daemon process exited normally with code -529697949
[03/29/21 17:30:26] use exist syncroot name me
[03/29/21 17:30:26] generated sync root name is : me
[03/29/21 17:30:26] failed to write to named pipe: The pipe is being closed.

[03/29/21 17:30:26] failed to send rpc call: No error
[03/29/21 17:30:26] Unable to switch to account https://pan.cbxhome.cn me@cbx.cloud 1631f35 : Transport Error
[03/29/21 17:30:27] 内部错误:连接 SeaDrive 守护进程失败
[03/29/21 17:30:27] failed to write to named pipe: The pipe is being closed.

[03/29/21 17:30:27] failed to send rpc call: No error
[03/29/21 17:30:27] Unable to get config value client_id: Transport Error
[03/29/21 17:30:27] failed to write to named pipe: The pipe is being closed.

[03/29/21 17:30:27] failed to send rpc call: No error
[03/29/21 17:30:27] Unable to set config value client_id
[03/29/21 17:30:27] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:28] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:28] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:29] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:29] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:30] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:30] Failed to connect to named pipe: The system cannot find the file specified.

[03/29/21 17:30:30] Exiting with error: 内部错误:连接 SeaDrive 守护进程失败
[03/29/21 17:30:30] [ext listener] listening on \.\pipe\seadrive_ext_pipe_ssyxvs/p
[03/29/21 17:30:30] app event loop exited with 1

[03/29/21 17:30:30] Unmounting before exit
[03/29/21 17:30:30] failed to write to named pipe: The pipe is being closed.

[03/29/21 17:30:30] failed to send rpc call: Invalid argument
[03/29/21 17:30:30] [Daemon Mgr] stopping seadrive daemon
[03/29/21 17:30:30] failed to write to named pipe: The pipe is being closed.

[03/29/21 17:30:30] failed to send rpc call: Invalid argument
[03/29/21 17:30:30] failed to stop seadrive daemon process: Transport Error

[03/29/21 17:30:30] failed to exit seadrive daemon
[03/29/21 17:30:30] QLibraryPrivate::unload succeeded on “C:/Program Files/SeaDrive/bin/bearer/qgenericbearer.dll”
[03/29/21 17:30:30] QLibraryPrivate::unload succeeded on “C:/Program Files/SeaDrive/bin/styles/qwindowsvistastyle.dll”
[03/29/21 17:30:30] QLibraryPrivate::unload succeeded on “C:/Program Files/SeaDrive/bin/imageformats/qgif.dll”
[03/29/21 17:30:30] QLibraryPrivate::unload succeeded on “C:/Program Files/SeaDrive/bin/imageformats/qicns.dll”
[03/29/21 17:30:30] QLibraryPrivate::unload succeeded on “C:/Program Files/SeaDrive/bin/imageformats/qico.dll”
[03/29/21 17:30:30] QLibraryPrivate::unload succeeded on “C:/Program Files/SeaDrive/bin/imageformats/qjpeg.dll”
[03/29/21 17:30:30] QLibraryPrivate::unload succeeded on “C:/Program Files/SeaDrive/bin/imageformats/qsvg.dll”
[03/29/21 17:30:30] QLibraryPrivate::unload succeeded on “C:/Program Files/SeaDrive/bin/imageformats/qtga.dll”
[03/29/21 17:30:30] QLibraryPrivate::unload succeeded on “C:/Program Files/SeaDrive/bin/imageformats/qtiff.dll”
[03/29/21 17:30:30] QLibraryPrivate::unload succeeded on “C:/Program Files/SeaDrive/bin/imageformats/qwbmp.dll”
[03/29/21 17:30:30] QLibraryPrivate::unload succeeded on “C:/Program Files/SeaDrive/bin/imageformats/qwebp.dll”
[03/29/21 17:30:30] QLibraryPrivate::unload succeeded on “C:/Program Files/SeaDrive/bin/platforms/qwindows.dll”

网页和手机APP都是能正常打开的,请帮忙解决;


#2

好像是开启了HTTPS后就会出现这个问题,我尝试继续把登录调整为http,就能获取到索引了。

我的HTTPS配置如下:

# server {
# listen 80;
# server_name pan.cbxhome.cn;
# rewrite ^(.*)$ https://${server_name}$1 permanent;
# server_tokens off;
#}

server {

listen 80;
server_name pan.cbxhome.cn;
proxy_set_header X-Forwarded-For $remote_addr;

location / {
     proxy_pass         http://172.18.0.1:8000;
     proxy_set_header   Host $host;
     proxy_set_header   X-Real-IP $remote_addr;
     proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header   X-Forwarded-Host $server_name;
     proxy_read_timeout  1200s;

     client_max_body_size 0;

     access_log      /var/log/nginx/seahub.access.log;
     error_log       /var/log/nginx/seahub.error.log;
}

location /seafhttp {
    rewrite ^/seafhttp(.*)$ $1 break;
    proxy_pass http://172.18.0.1:8082;
    client_max_body_size 0;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_connect_timeout  36000s;
    proxy_read_timeout  36000s;
    proxy_send_timeout  36000s;
    send_timeout  36000s;
}

location /media {
    root /usr/local/seafile/seafile-server-latest/seahub;
}

}

server {

listen 443 ssl;
ssl_certificate     /etc/ssl/frps_nginx/normal/bundle.crt;
ssl_certificate_key /etc/ssl/frps_nginx/normal/bundle.key;
server_name pan.cbxhome.cn;

ssl_session_cache        shared:SSL:10m;
ssl_session_timeout      60m;

ssl_session_tickets      on;

ssl_stapling             on;
ssl_stapling_verify      on;

# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
# ssl_dhparam /etc/nginx/dhparam.pem;

# secure settings (A+ at SSL Labs ssltest at time of writing)
# see https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_prefer_server_ciphers on;

proxy_set_header X-Forwarded-For $remote_addr;
add_header Strict-Transport-Security "max-age=31536000;includeSubDomains;preload";
add_header  X-Frame-Options  deny;
add_header  X-Content-Type-Options  nosniff;
add_header x-xss-protection "1; mode=block";
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' blob: https:; connect-src 'self' https:; img-src 'self' data: https: blob:; style-src 'unsafe-inline' https:; font-src https:";

server_tokens off;

location / {
    proxy_pass         http://172.18.0.1:8000;
    proxy_set_header   Host $host;
    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Host $server_name;
    proxy_set_header   X-Forwarded-Proto https;
    access_log      /var/log/nginx/seahub.access.log;
    error_log       /var/log/nginx/seahub.error.log;
    proxy_read_timeout  1200s;
    client_max_body_size 0;
    proxy_cookie_path / "/; httponly; secure; SameSite=Lax";
}

location /seafhttp {
    rewrite ^/seafhttp(.*)$ $1 break;
    proxy_pass http://172.18.0.1:8082;
    client_max_body_size 0;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_connect_timeout  36000s;
    proxy_read_timeout  36000s;
    proxy_send_timeout  36000s;
    send_timeout  36000s;
    proxy_cookie_path / "/; httponly; secure; SameSite=Lax";
}

location /media {
    root /usr/local/seafile/seafile-server-latest/seahub;
}

}

如果我把注释的http跳转https放开,则客户端不能获取索引,在 nginx 中看到会不断请求

171.105.131.158 - - [29/Mar/2021:10:08:50 +0000] "POST /seafhttp/repo/folder-perm HTTP/1.1" 200 2 "-" "SeaDrive/2.0.13 (Windows NT)" "-"
171.105.131.158 - - [29/Mar/2021:10:08:53 +0000] "POST /seafhttp/repo/locked-files HTTP/1.1" 200 2 "-" "SeaDrive/2.0.13 (Windows NT)" "-"
171.105.131.158 - - [29/Mar/2021:10:09:03 +0000] "POST /seafhttp/repo/locked-files HTTP/1.1" 200 2 "-" "SeaDrive/2.0.13 (Windows NT)" "-"

麻烦管理员看看是不是我的https配置有什么问题?


#3

你看一下 logs/dump 目录下面是否有文件,有的话把最新的一个上传到这里我们看一下:https://cloud.seafile.com/u/d/0d4e61ed191e4dc5bda0/


#4

你好,已经把 logs 整个文件夹都上传了。看了下日志,在执行切换用户时,

Unable to switch to account https://pan.xxxxxxxxx.cn me@xxxxxx.cloud 2c563ff : ‘[’ or ‘{’ expected near end of file

获取到的数据似乎不是一个完整的json格式,导致你们程序解析出错?


#5

你可以参考一下这里说的操作,清理一下注册表里面重复的 sync root,只留下你现在需要的那个账号对应的。后续版本我们会解决这个问题。