I had this crappy issue with with the pCloud Linux (AppImage) client (version linux-x64-prod-v1.9.7).It would get stuck syncing a “Local sync” folder, where Preferences screen as well as the CLI would hang at a certain amount of files and size to be uploaded.
Having no logs to go by (and less than useful technical support on their end), it took me quite a while to find the issue. In the end I found the database where I found some clues as to what was wrong.
The database is called “data.db”, a file in your “~/.pcloud” folder. It is a SQLite database, so install sqlitebrowser to open it, then execute
sqlitebrowser ~/.pcloud/data.db
The “browse data” tab allows you to check the contents of the tables. The “localfolder
” table turned out to be what I was looking for. It contains a list of all files that should be synced, with their id, folder, parentfolder, inode …

I noticed that no inode, timestamps or deviceid were given starting at a certain id. That looked interesting. The filename contained an “*” (asterisk) in the filename which doesn’t feel right. I can’t imagine I would have created such a filename intentionally.
So where is this file? The screenshot above shows that it has a folderid of 871638551. Lets search for this id in the most logical table, called “folder”.Using the “Execute SQL” tab we can quickly search for it.
select * from folder where id == 871638551;
and hit CTRL + ENTER.

This returned a row with the name of the file, but a parentfolderid of 288744716. This shows me a row with the folder name that contains the file. You can go up all the way by searching for the parentfolderid of each folder (or write a simple Python script for this), but for me this was enough to show me that the issue was an autogenerated file created by Calibre.
I went online, logged in to my pcloud account, deleted the file, restarted the pcloud client and a couple of minutes later everything was synced. Problem solved.
