haiwen / seafile

High performance file syncing and sharing, with also Markdown WYSIWYG editing, Wiki, file label and other knowledge management features.
http://seafile.com/
Other
12.25k stars 1.54k forks source link

"argument can't be null" error while sync library #2035

Closed worldskat closed 5 years ago

worldskat commented 6 years ago

_025 Today i start geting "argument can't be null" error in clients while sync library with one of my server. I upgrade server & clients, but it doesn't work. With same client on another server syncing work properly. I try to remove .seafile-data and .ccnet dirs, it's not help. Problem affect all clients who work with thos server. Problem start after tune server to run via nginx, but i get error even if connect directly (servername:8000). SERVICE_URL and FILE_SERVER_ROOT set properly, i can upload and download files via webinterface I found the same issue in forum (https://forum.seafile.com/t/error-when-trying-to-sync-libraries-argument-cant-be-null/5595) but there is no answer there. Is the "reinstall all" is only solution?:(

worldskat commented 6 years ago

problem started when i make changes in SERVICE_URL & FILE_SERVER_ROOT via web interface. Settings was correct. I`m truncated table seahub-db/constance_config and make the same settings via config files, problem are gone

dryo commented 6 years ago

@worldskat You truncated the whole table? Or did you delete or empty file_server_root and service_url?

Edit: As I am using sqlite I did sqlite3 seahub.db and delete from constance_config;. I created and set SERVICE_URL and FILE_SERVER_ROOT in ccnet.conf. Restarted Seafile. Now one of my libraries is syncing fine (standard library) but not the others. I don't get an error, it just says "connecting server ...". So this kind of helped but did not solve the issue for me. I'll try more when I have more time.

Edit 2: Well, two of my four libraries work, two don't. No idea why... Edit 3: After some time downloading was not possible any more. When I had a look at the admin page a wrong URL for file server was in the input field. I changed it to the settings already set in ccnet.conf and now it works again. I hope this time for real. (The problem with some libraries unable to sync persists however...)

dryo commented 6 years ago

@cuihaikuo @killing Could you please have a look at this? This seems to be a problem with seafile server core so the issue is in the wrong code repository. As it seems there is some problem with the settings in ccnet.conf and the database regardless of using mySQL or SQLite.

worldskat commented 6 years ago

@dryo You truncated the whole table? - yes, whole table

dryo commented 6 years ago

At least I found out, why some of my libraries were not syncing: Old format libraries (created with server versions pre 3.0) cannot be synced by http(s). The affected libraries were toooooo old. More: https://github.com/haiwen/seafile/issues/975#issuecomment-67431807 I don't understand why this isn't published somewhat more prominently.

So this comment solves the problem of this issue: https://github.com/haiwen/seafile/issues/2035#issuecomment-382416785