owncloud / core

:cloud: ownCloud web server core (Files, DAV, etc.)
https://owncloud.com
GNU Affero General Public License v3.0
8.37k stars 2.06k forks source link

Creating folders in shared folder fails through sync client #80

Closed dick1980 closed 11 years ago

dick1980 commented 12 years ago

When I share a folder with user john, install the sync client on john's pc and share the / folder, I see the shared folder in 'shared'. This is normal, of course.

When I create a folder in that folder, syncing fails on the server and the folder is not created:

Oct 22 15:03:08 2012 error 89.188.25.162 PHP Warning: filesize(): stat failed for /var/www/owncloud/data/admin/files/Bedrijfsinformatie/piet in /var/www/owncloud/lib/filestorage/local.php on line 45 Oct 22 15:03:08 2012 error 89.188.25.162 PHP Warning: filemtime(): stat failed for /var/www/owncloud/data/admin/files/Bedrijfsinformatie/piet in /var/www/owncloud/lib/filestorage/local.php on line 61 Oct 22 15:03:08 2012 error 89.188.25.162 PHP Warning: filectime(): stat failed for /var/www/owncloud/data/admin/files/Bedrijfsinformatie/piet in /var/www/owncloud/lib/filestorage/local.php on line 58

If I then create a file in that folder "piet", it says:

Oct 22 15:03:08 2012 error 89.188.25.162 PHP Fatal error: Call to undefined method OC_Connector_Sabre_File::createFile() in /var/www/owncloud/3rdparty/Sabre/DAV/Server.php on line 1482

Current version: 4.5.0, mysql.

Reproduction steps:

    create users sharer and user1.
    create folder as sharer: 'sharethis'
    share with user1
    use user1's sync client to create a folder in sharethis.
    webserver error log: see above.

And

    create users sharer and user1.
    create folder as sharer: 'sharethis'
    share with user1
    use user1's sync client to create a folder in sharethis.
    create a file in that folder.
    When the client syncs, the file is deleted from that folder. This prevents creating files in a shared folder.
dick1980 commented 12 years ago

Moved from here: http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-2110

dick1980 commented 12 years ago

When connecting to the account through webDAV, the up- and download in personal folders starts OK, but the connection to the server crashes as soon as it tries to finalize the transfer. Trying to copy folders to a shared folder through the webDAV causes the reaction that the file is already there and copy is aborted.

halfgaar commented 12 years ago

I see it's targetted for Owncloud 5, but is there any indication when it's fixed in git? We promised a customer to have it ready by nov 1, but this blocks it. We are willing to help test, and even put a developer on it, if it's useful. If you need real-time help, we can join on IRC.

dick1980 commented 12 years ago

I have exactly the same problem, halfgaar. Hope a dev picks this up. BTW: when reverting from OC 4.5 to OC 4.0.8., I can upload files to a shared folder and they become visible in the web interface and the account owners folder, but they are removed from the uploaders folder immediately after. Some seriously strange behaviour going on there, not sure. 4.5.1 makes folders that are shared with you completely unopenable.

coyote4til7 commented 12 years ago

Some more information on how this error looks for me (running a 4.5.1a update). I'm seeing the above errors plus a few more

[Sat Oct 27 19:11:13 2012] [error] [client 192.168.1.237] PHP Warning:  filesize(): stat failed for /srv/www/htdocs/owncloud/data/admin/files/eDao/backups/Quickbooks in /srv/www/htdocs/owncloud/lib/filestorage/local.php on line 45
[Sat Oct 27 19:11:13 2012] [error] [client 192.168.1.237] PHP Warning:  filemtime(): stat failed for /srv/www/htdocs/owncloud/data/admin/files/eDao/backups/Quickbooks in /srv/www/htdocs/owncloud/lib/filestorage/local.php on line 61
[Sat Oct 27 19:11:13 2012] [error] [client 192.168.1.237] PHP Warning:  filectime(): stat failed for /srv/www/htdocs/owncloud/data/admin/files/eDao/backups/Quickbooks in /srv/www/htdocs/owncloud/lib/filestorage/local.php on line 58

It looks like the filectime/filesize are all directories (perhaps not all... I'm not about to read through a log file this long). Some of them are existing directories; some are ones that haven't been created on the server.

I manually created the folder on the server, then the files will start copying, albeit very slowly (a 160k file takes minutes to copy across roughly ten feet of a gigabit network).

Interestingly (or not), the OC_Connector problem was reported (and closed) previously with the note to install the sync software (I'm using 1.1 on Mac): http://bugs.owncloud.org/thebuggenie/owncloud/issues/oc-1891

fmms commented 11 years ago

According to @Jasperado in #91 this is fixed.

halfgaar commented 11 years ago

This seems partly fixed in the current stable45. However, I still have this problem:

halfgaar commented 11 years ago

Oh, and that still creates PHP errors:

[Fri Nov 09 16:46:42 2012] [error] [client 89.188.25.162] PHP Warning: filesize(): stat failed for /var/www/owncloudtest/data/allesdeler/filesgedeeld door allesdeler - renamed/gemaakt in sync client/file created by sharer in /var/www/owncloudtest/lib/filestorage/local.php on line 45, referer: http://storagetest.curaxl.nl/?app=files&dir=%2Fgedeeld%2520door%2520allesdeler%2520-%2520renamed%2Fgemaakt%2520in%2520sync%2520client [Fri Nov 09 16:46:42 2012] [error] [client 89.188.25.162] PHP Warning: copy(/var/www/owncloudtest/data/allesdeler/filesgedeeld door allesdeler - renamed/gemaakt in sync client/file created by sharer): failed to open stream: No such file or directory in /var/www/owncloudtest/lib/filestorage/local.php on line 109, referer: http://storagetest.curaxl.nl/?app=files&dir=%2Fgedeeld%2520door%2520allesdeler%2520-%2520renamed%2Fgemaakt%2520in%2520sync%2520client

Those happen when creating a file. Creating a folder just silently fails.

halfgaar commented 11 years ago

This is probably actually bug #417.

/filesgedeeld door allesdeler

should be

/files/gedeeld door allesdeler
dragotin commented 11 years ago

If I copy a file to the Shared folder on the client (not into the directory that is actually shared) I see this result in the the apache error_log: [Thu Nov 29 22:26:37 2012] [error] [client ::1] PHP Notice: Undefined offset: 3 in /home/kf/oC/ocm/core/lib/connector/sabre/node.php on line 292 [Thu Nov 29 22:26:37 2012] [error] [client ::1] PHP Stack trace: [Thu Nov 29 22:26:37 2012] [error] [client ::1] PHP 1. {main}() /home/kf/oC/ocm/core/remote.php:0 [Thu Nov 29 22:26:37 2012] [error] [client ::1] PHP 2. require_once() /home/kf/oC/ocm/core/remote.php:40 [Thu Nov 29 22:26:37 2012] [error] [client ::1] PHP 3. Sabre_DAV_Server->exec() /home/kf/oC/ocm/core/apps/files/appinfo/remote.php:48 [Thu Nov 29 22:26:37 2012] [error] [client ::1] PHP 4. Sabre_DAV_Server->invokeMethod() /home/kf/oC/ocm/core/3rdparty/Sabre/DAV/Server.php:206 [Thu Nov 29 22:26:37 2012] [error] [client ::1] PHP 5. call_user_func() /home/kf/oC/ocm/core/3rdparty/Sabre/DAV/Server.php:456 [Thu Nov 29 22:26:37 2012] [error] [client ::1] PHP 6. Sabre_DAV_Server->httpPut() /home/kf/oC/ocm/core/3rdparty/Sabre/DAV/Server.php:456 [Thu Nov 29 22:26:37 2012] [error] [client ::1] PHP 7. Sabre_DAV_Server->createFile() /home/kf/oC/ocm/core/3rdparty/Sabre/DAV/Server.php:843 [Thu Nov 29 22:26:37 2012] [error] [client ::1] PHP 8. OC_Connector_Sabre_Directory->createFile() /home/kf/oC/ocm/core/3rdparty/Sabre/DAV/Server.php:1482 [Thu Nov 29 22:26:37 2012] [error] [client ::1] PHP 9. OC_Connector_Sabre_Node::getETagPropertyForPath() /home/kf/oC/ocm/core/lib/connector/sabre/directory.php:66 [Thu Nov 29 22:26:37 2012] [error] [client ::1] PHP 10. OC_Connector_Sabre_Node::getFileSource() /home/kf/oC/ocm/core/lib/connector/sab for a couple of times. The server is on branch stable45 on 4.5.3 release.

karlitschek commented 11 years ago

Can someone verify if this still exists?

MorrisJobke commented 11 years ago

I've sync folder "Shared" to my local machine. And created a folder "test" inside "Shared". Error message in ownCloud log (admin site):

Error files_sharing File source not found for: /test 11.04.2013 08:56:29

Should I add an issue therefore? If yes, where? mirall/issues?

The actual issue (adding folder to a shared folder doesn't show up in sharers folder works.

Tested in 5.0.3 on lighttpd.