[Zope] Davfs problems with Zope? davfs not working as well as cadaver or other clients

Heimo Laukkanen huima@fountainpark.org
Thu, 19 Dec 2002 17:12:52 +0200


I think I am losing my faith with davfs together with Zope. I am using 
2.6.0 Zope and Davfs 0.2.1. From moment to movent davfs seems to work 
ok, but after a time it seems to become unreliable - and unable to save 
files, create new files and sometimes even old files seem to get lost.

I seem to be able to create from time to time new files with touch and 
pico - and even with emacs. But strange things start to happen later on. 
Saving a file again does not work ( ie. changes will never go to the 
server, eventhough the program thinks it saved the file ). I can remove 
files and create new directories ( folders ), but copying or moving 
files from filesystem to Zope seem to cause problems.

And none of these problems happen with cadaver or using webdrive or 
teamdrive on windows.

Any help would be appreciated. Below is more detailed description and 
info from logs.

Here is what I'm doing.

I have mounted zope webdav on /mnt/dav and have accessed the /mnt/dav 
with user that has appropriate rights to use the mount and the user 
whose credentials were provided with mount is a manager.

/usr/local/sbin/mount.davfs http://127.0.0.1:8081/ /mnt/dav -o 
username=userpuser,password=xsxsxsxs,uid=500,gid=500,mode=755

 > cp /home/crappyporntexts/sometextfile.txt juttuputtu.txt

foobar.txt will not be created. In Zope error log ( ZMI ) I find 
following errors. I reversed the order from from the ZMI so the first 
one is the first error that came, and the third one is the last error.

16:07:59     userpuser (userpuser)     Not Found: The requested resource 
does not exist.
16:07:59     userpuser (userpuser)     Not Found: The requested resource 
does not exist.
16:07:59     Anonymous User (None)     Not Found: The requested resource 
was not found.

Inside those error messages are following http-requests that came to 
Zope ( the one at the bottom is the last one):

http://127.0.0.1:8081/vaisalaprod/juttuputtu.txt/PROPFIND
http://127.0.0.1:8081/vaisalaprod/juttuputtu.txt/PROPFIND
http://127.0.0.1:8081/vaisalaprod/juttuputtu.txt/manage_FTPget

And logs of davfs itself ( when compiled with debug option ) show:

webdav.log :
------------

Creating request...
Running request create hooks.
Request created.
Running pre_send hooks
Sending request headers:
PUT /juttuputtu.txt HTTP/1.1
Host: 127.0.0.1:8081
User-Agent: neon/0.23.5 davfs2 0.2.1
Connection: TE
TE: trailers
Content-Length: 2826
Expect: 100-continue
If: <http://127.0.0.1:8081/juttuputtu.txt> 
(<opaquelocktoken:0.121189232931-0.169004412195-00105A989226:1040306879.510>)
Connection: close
Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxx

Sending request-line and headers:
Request sent; retry is 1
Aborted request (-2): Could not read status line
Running destroy hooks.
Request ends.
Creating request...
Running request create hooks.
Request created.
Running pre_send hooks
Sending request headers:
UNLOCK /juttuputtu.txt HTTP/1.1
Host: 127.0.0.1:8081
User-Agent: neon/0.23.5 davfs2 0.2.1
Connection: TE
TE: trailers
Lock-Token: 
<opaquelocktoken:0.121189232931-0.169004412195-00105A989226:1040306879.510>
Connection: close
Authorization: xxxxxxxxxxxxxxxxxxxxxxxxxx

Sending request-line and headers:
Connecting to 127.0.0.1
Request sent; retry is 0
[status-line] < HTTP/1.1 204 No Content
[hdr] Server: Zope/(Zope 2.6.0 (binary release, python 2.1, linux2-x86), 
python 2.1.3, linux2) ZServer/1.1b1
Header Name: [server], Value: [Zope/(Zope 2.6.0 (binary release, python 
2.1, linux2-x86), python 2.1.3, linux2) ZServer/1.1b1]
[hdr] Date: Thu, 19 Dec 2002 14:08:29 GMT
Header Name: [date], Value: [Thu, 19 Dec 2002 14:08:29 GMT]
[hdr] Content-Length: 0
Header Name: [content-length], Value: [0]
[hdr] Ms-Author-Via: DAV
Header Name: [ms-author-via], Value: [DAV]
[hdr] Etag:
Header Name: [etag], Value: []
[hdr] Accept-Ranges: none
Header Name: [accept-ranges], Value: [none]
[hdr]
End of headers.
Running post_send hooks
Running destroy hooks.
Request ends.


coda.log:
---------
got 083 byte command: opcode = 10  (uid=500,euid=500, 
suid=500,fsuid=500) CODA OPCODE: 10
lookup  base:/  name:juttuputtu.txt
         flags=1: (stat: //juttuputtu.txt)WebDAV URL: /juttuputtu.txt/
WebDAV URL: /juttuputtu.txt
file '//juttuputtu.txt' probably does not exist. returning FAILURE (2), 
28 bytes

got 175 byte command: opcode = 11  (uid=500,euid=500, 
suid=500,fsuid=500) CODA OPCODE: 11

create  base:/  name:juttuputtu.txt
         (create_name: //juttuputtu.txt)New vfid created at 0x8060f20 
(file <//juttuputtu.txt: 0>)
  returning SUCCESS (0), 112 bytes

got 064 byte command: opcode = 03  (uid=500,euid=500, 
suid=500,fsuid=500) CODA OPCODE: 3
open    base://juttuputtu.txt
         flags:0x202 WebDAV URL: /juttuputtu.txt
WebDAV URL: /juttuputtu.txt
  returning SUCCESS (0), 24 bytes

got 064 byte command: opcode = 35  (uid=500,euid=500, 
suid=500,fsuid=500) CODA OPCODE: 35
store What should I save? returning SUCCESS (0), 12 bytes

got 064 byte command: opcode = 36  (uid=500,euid=500, 
suid=500,fsuid=500) CODA OPCODE: 36
close   base://juttuputtu.txt
         CLOSEsaving the file /tmp//davfs2_get_1hModp WebDAV URL: 
/juttuputtu.txt
  the current VFid list has 38 elements
  returning FAILURE (5), 12 bytes

----------

And the file was never created to Zope.

webdavLogger product gives me following log:

--------

HTTP/1.1 200 OK
Server: Zope/(Zope 2.6.0 (binary release, python 2.1, linux2-x86), 
python 2.1.3, linux2) ZServer/1.1b1
Date: Thu, 19 Dec 2002 14:43:28 GMT
Ms-Author-Via: DAV
Content-Type: text/xml; charset="utf-8"
Accept-Ranges: none
Etag:
Lock-Token: 
opaquelocktoken:0.364972989961-0.58610452749-00105A989226:1040309008.216
Content-Length: 475

<?xml version="1.0" encoding="utf-8" ?>
<d:prop xmlns:d="DAV:">
  <d:lockdiscovery>
    <d:activelock>
   <d:locktype><d:write/></d:locktype>
   <d:lockscope><d:exclusive/></d:lockscope>
   <d:depth>0</d:depth>
  <d:owner><o:href xmlns:o="DAV:">davfs2</o:href></d:owner>
   <d:timeout>Second-720</d:timeout>
   <d:locktoken>
 
<d:href>opaquelocktoken:0.364972989961-0.58610452749-00105A989226:1040309008.216</d:href>
   </d:locktoken>
  </d:activelock>
  </d:lockdiscovery>
</d:prop>

-- but nothing else, when creating new file fails.

----------


-huima