Robert

NAS Sync 2.5.4 assert failed

Recommended Posts

Is anyone else getting these errors in their sync.log files? I'm getting tens of thousands of them since upgrading to 2.5.4_1 (1009) for the Synology avoton architecture from the official download page.

"assert failed /home/jenkins/slave-root/workspace/Build-Sync-Manually/SyncDiscovery.cpp:1309"

 

Everything seems to be functioning properly, but it makes reviewing the log files horrendous,

Share this post


Link to post
Share on other sites

what are your "Predefined hosts" parameters? That assert means that Sync is trying to connect to itself. It's possible, for example, if "Predefined hosts" points to self. 

Share this post


Link to post
Share on other sites

Latest (2.5.4) version don't work anymore on our Synology DS414, DS1815+...
After upgrade, it says that updates are locked on any folder.

This is not related to "avoton" model since DS414 is "armadaxp".

We tried to uninstall, then cleanup AFAIK, then reinstall.

We tried to configure the sync by copying the RW folder key from Windows version.
Now, it says "Don't have permissions to write to selected folder" 
(BTW the folder and anything inside have been set with "rwxrwxrwx" permissions !)

Well... So we tried to do it otherway by choosing the NAS folder we want to sync first...
It says "This folder is already owned by another Sync Home instance. Do you want to reset ownership?"  
- Oh? Oh?  We replied "OK" and now it says : "Don't have permissions to write to selected folder" again!

So, we uninstalled this version, and use only Windows sync (so without any Synology backup... :-/ ) till Resilio fix it ?

Did you ever notice that in "Preferences" tab, Resilio sets both "Default folder location" and "File download location" as "Resilio Sync" (not "Resilio_Sync") ***using space in the name*** (on a linux system) !!!  
Maybe those guys are not the ones we believe?  >;-)

Edited by berthoms

Share this post


Link to post
Share on other sites

xfelix did contact support and was able to resolve the problem by setting 'peer_expiration_days" to zero .

 

@berthoms,

Error "Don't have permissions to write to selected folder"  means actually what it says - the user that runs Sync has no rw access to the selected path. Sync runs with rslsync user. You say "the folder and anything inside have been set with "rwxrwxrwx" permissions". What about parent folders? Give rslsync use access there. 

What's wrong with spaces in paths on linux? Does linux disallow that? 

Share this post


Link to post
Share on other sites

@Helen

Thanks for the help. After reset the peer, no more SyncDiscovery.cpp assert failed error.

However, after using 2.5.5 couple days, i noticed a different assert failed error message. What this means? Thanks.

"assert failed /home/jenkins/slave-root/workspace/Build-Sync-Manually/bittorent.cpp:846"or 891

Share this post


Link to post
Share on other sites
On 05/07/2017 at 9:07 AM, Helen said:

Error "Don't have permissions to write to selected folder"  means actually what it says - the user that runs Sync has no rw access to the selected path. Sync runs with rslsync user. You say "the folder and anything inside have been set with "rwxrwxrwx" permissions". What about parent folders? Give rslsync use access there. 

The problem arises from the fact that in previous versions "sync" ran as a root process and was allowed to write anywhere. Now it runs as a plain "rslsync" user and has no way to write in any user directory. So if we try to sync a folder on a Windows PC with a subdirectory of the "home" directory on NAS, it won't be allowed to write neither in the ".sync" directory (which it uses for its own config) nor to update any of the files we want to sync, because they belong to user and not to "rslsync".

It seems that "sync" should run either as root or should change to the user ID for every users that uses it on this system. But for an unknown reason, it doesn't...

On 05/07/2017 at 9:07 AM, Helen said:

What's wrong with spaces in paths on linux? Does linux disallow that? 

Nothing is wrong as linux can deal with spaces in files and directories name, but it has to quote them with a backslash, and since it's very awkward we avoid using them and usually replace them by underscores!  This is also true for many other symbols like "@" that Synology  unconveniently uses in its folder names ("@" should only be used in email addresses IMHO. There are enough chars in ASCII not to confuse by awkwardly using them...

Share this post


Link to post
Share on other sites

@xfelix, hard to say having only one line, please send the whole log. 

@berthoms, on Synology Sync never run as root. Previously it run as admin, and now as rslsync user. this use is being added to administrators groups when installing Sync.  In Sync settings all paths using space have correct syntax and all spaces are taken care of. In UI it's shown in human readable way.

Share this post


Link to post
Share on other sites

This problem seems to be related not only to Synology but to any NAS, and might deserve to start a new topic?

The fact is that on a linux-like device, the program has no way to write to *ANY* folder by default...
So if you have a user account (say "John"), any folder inside : /volume1/homes/John will belong to John and can only be modified by "John" and "root". No way to Sync which is running as "rslsync" to make a change in it.

Now, say we want to start on the NAS first : We install Sync on the NAS and want to create a synced folder on it.
- 1st problem : Where to create a folder? rslsync only way is to create it in its own home directory. Anywhere else (but "/tmp" !) is forbiden...

- None of the Synology users will be allowed to access this folder. Unless we set rslsync home and inner directories read/writeable by anybody ! Security?

On a PC Sync does run for only ONE user (e.g. if several Windows users, on the same computer, want to run Resilio Sync, they have to install, each of them, a copy of the program... But on the NAS, Sync is not aware of any NAS user accounts, so it can't sync any of the NAS users subfolders... It should use sync params for each NAS user and fork and  "su -" to their account for any NAS user who uses it (as they do on Windows). BTW, there is very little utility to use on a NAS an account that is not already a NAS account.

I can't understand that older versions of Sync did run perfectly well and we lost it : We could sync a subfolder of a NAS user with any folder of some other user on a Windows PC as far as both Sync programs (on NAS and on PC) had the right keys... Can we hope to get this functionality again in a future release?

Share this post


Link to post
Share on other sites
On 7/17/2017 at 9:24 PM, berthoms said:

No way to Sync which is running as "rslsync" to make a change in it.

You can go to folder preferences -> Permissions -> Create and give rslsync use rw access. See screenshot

On 7/17/2017 at 9:24 PM, berthoms said:

We install Sync on the NAS and want to create a synced folder on it. .... Where to create a folder? rslsync only way is to create it in its own home directory.

Click "+" -> select folder type, and click "create folder in /volume1. Of course, provided Sync has rw access there. See screenshot.

Sync used to run as admin on Synology which was critisized by Sync users - they disabled admin account as per recommendation from Synology. Thus we had to switch Sync to run as rslsync user.

Share this post


Link to post
Share on other sites

Now, I could fix all these problems related to "privilege violation" when trying to sync a folder laready belonging to any user on DSM :
 

1 - Install Resilio Sync only after logging as user "admin" with system password (enable it if needed).
2 - When starting, Resilio Sync asks for its own management account. Use the very same "admin" name with the system password again.

That's all!
Now, Resilio Sync is enable to sync any folder on the NAS with your folder on your PC.
You have to copy one of the keys (RW or RO) from your PC and use the last "+" menu entry by pasting it in the dialog, then choosing the right directory on the NAS that you want to sync with.

(I think Resilio should explain it somewhere when downloading this software, because it causes a lot of trouble to users before they guess it!)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.