Skip to content

Check if file is locked before sync and exclude if it is. #227

@RandolfCarter

Description

@RandolfCarter

Problem:
One of my sync clients (1.1.4 running on Windows 7) is running havoc:
WIth every sync run, for one single file (named pw-db.plk, it might be in use/locked, it's the lock file for a password-database where the password-safe is running) in the synchronization directory it creates one additional file with a 6 character lower-case letters- and digits-suffix (e.g. pw-db.plk.gmksbu or pw-db.plk.03i5j3). The created files are an exact copy of the pw-db.plk file as far as I can tell (I didn't compare all, just a few of them to pw-db.plk, they were the same, all are definitely the same size).

These files are also synchronized to other clients.
What is going on there?

Stopping the client on that machine, removing the superfluous files, and restarting the client doesn't help, the creation of these files starts again... (i.e. it's reproducible at the moment - will try a reboot next).
Edit: It definitely has to do with the file being in use. After stopping the Password Safe program, the error doesn't occur anymore. But having to stop the program for the client to run correctly is not an option for me, since I use that program regularly (in fact it's usually running all the time).

Expected result:
No superfluous copies of existing files, not even when files are locked, open, or otherwise in some special state.

Here is (the start of) the logfile of the client with that problem (the whole file is ~4MB, I can provide it if needed, the issue should be visible in the shown part already though): http://pastebin.com/download.php?i=gw5Cxzvh

Somehow this sounds similar to the _conflict file issues that existed in previous versions. What are these files with suffix anyway?

Maybe related: At the same time, my web interface now won't load anymore (indefinite page loading) - while other pages on the same server show up just fine! The CPU usage of apache2 is quite high (~30%).
The following shows up error in the server log:

PHP Notice:  Undefined offset: 0 in /var/www/owncloud/lib/files.php on line 48
PHP Stack trace:
PHP   1. {main}() /var/www/owncloud/remote.php:0
PHP   2. require_once() /var/www/owncloud/remote.php:40
PHP   3. Sabre_DAV_Server->exec() /var/www/owncloud/apps/files/appinfo/remote.php:49
PHP   4. Sabre_DAV_Server->invokeMethod() /var/www/owncloud/3rdparty/Sabre/DAV/Server.php:206
PHP   5. Sabre_DAV_Server->broadcastEvent() /var/www/owncloud/3rdparty/Sabre/DAV/Server.php:437
PHP   6. call_user_func_array() /var/www/owncloud/3rdparty/Sabre/DAV/Server.php:415
PHP   7. Sabre_DAV_Browser_Plugin->httpGetInterceptor() /var/www/owncloud/3rdparty/Sabre/DAV/Server.php:0
PHP   8. Sabre_DAV_Browser_Plugin->generateDirectoryIndex() /var/www/owncloud/3rdparty/Sabre/DAV/Browser/Plugin.php:135
PHP   9. OC_Connector_Sabre_Directory->getChild() /var/www/owncloud/3rdparty/Sabre/DAV/Browser/Plugin.php:341
PHP  10. OC_Files::getFileInfo() /var/www/owncloud/lib/connector/sabre/directory.php:96

Can this be related, or is this a separate error? Is it maybe "just" rescanning the files in the background.... (again)?

Environment:
OC version: 4.5.5
Server: Apache 2.2.22 on Ubuntu 12.04 Server (64 bit)
PHP 5.3.10-1ubuntu3.4
MySQL v14.14 Distrib 5.5.28
Web interface accessed from Firefox 17.0.1 running on Linux Mint 13 Maya

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions