lra / mackup

Keep your application settings in sync (OS X/Linux)
GNU General Public License v3.0
14.41k stars 925 forks source link

Crash on attempted copy of socket: CopyQ #1329

Open RickyS opened 5 years ago

RickyS commented 5 years ago

This crash on copy of a socket has existed at least since error #324, over four years ago, so I'm entering this as new. The bug is that Mackup cannot backup sockets, and should not claim to be able to back up apps like CopyQ and Skype that have sockets in their configuration.

I imagine it's possible to save a description of the socket and re-create it upon a restore operation.

In any case, crashing is never an acceptable work-around. At the very least skip the steps of trying to copy sockets.


It tried to backup ~/.config/copyq/.copyq_s, which is a socket: srwxrwxr-x 1 ricky ricky 0 Mar 3 20:13 .copyq_s

% file .config/copyq/.copyq_s .config/copyq/.copyq_s: socket

% mackup backup ... Backing up .config/copyq ... Traceback (most recent call last): File "/snap/mackup/5/bin/mackup", line 11, in load_entry_point('mackup==0.8.22', 'console_scripts', 'mackup')() File "/snap/mackup/5/lib/python3.5/site-packages/mackup/main.py", line 90, in main app.backup() File "/snap/mackup/5/lib/python3.5/site-packages/mackup/application.py", line 114, in backup utils.copy(home_filepath, mackup_filepath) File "/snap/mackup/5/lib/python3.5/site-packages/mackup/utils.py", line 102, in copy shutil.copytree(src, dst) File "/snap/mackup/5/usr/lib/python3.5/shutil.py", line 353, in copytree raise Error(errors) shutil.Error: [('/home/ricky/.config/copyq/.copyq_s', '/home/ricky/Dropbox/Mackup/.config/copyq/.copyq_s', "[Errno 6] No such device or address: '/home/ricky/.config/copyq/.copyq_s'")]

lra commented 5 years ago

Ok, so we should remove support for both?

goldylucks commented 5 years ago

Having the same issue here

shivams commented 4 years ago

CopyQ backup works fine when the CopyQ application is closed. So, for now, you can backup by closing the application first and then doing the backup.

For future, instead of dropping the support, I suggest that some warning be issued to the user that the application can't be copied as it's currently running. User can then close the application and re-run the backup process.