https://redmine.lighttpd.net/https://redmine.lighttpd.net/favicon.ico?13667327412008-05-26T17:53:38Zlighty labsLighttpd - Bug #1674: Copying (big) files onto server fails with WinXP clientshttps://redmine.lighttpd.net/issues/1674?journal_id=41352008-05-26T17:53:38ZAnonymous
<ul></ul><p>I've tested it on the Ubunbtu box, too. A fairly large file is needed to trigger it (>1GB) but it is possible, thus it's obviously not a problem with the old build system.</p>
<p>-- trashy993-hosting</p> Lighttpd - Bug #1674: Copying (big) files onto server fails with WinXP clientshttps://redmine.lighttpd.net/issues/1674?journal_id=41362008-08-02T13:29:44Zstbuehler
<ul></ul><p>What exact operation did you do?</p>
<blockquote>
<p>If I copy a file onto the server which is bigger than about 10MB the process fails and XP reports that the copying of one or more files failed.</p>
</blockquote>
<p>html form upload, webdav, ... ?</p>
<p>error.log from lighttpd?</p>
<p>And if your upload times out... what do you think lighty should do? wait forever?...</p> Lighttpd - Bug #1674: Copying (big) files onto server fails with WinXP clientshttps://redmine.lighttpd.net/issues/1674?journal_id=41372008-08-03T10:49:10ZAnonymous
<ul></ul><p>Replying to <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/Comment2">stbuehler</a>:</p>
<blockquote>
<p>What exact operation did you do?</p>
</blockquote>
<p>I tried to do file operations via webdav. Copy file onto the server, delete files on the server and download files from the server.</p>
<blockquote><blockquote>
<p>If I copy a file onto the server which is bigger than about 10MB the process fails and XP reports that the copying of one or more files failed.</p>
</blockquote>
<p>html form upload, webdav, ... ?</p>
</blockquote>
<p>The whole bugreport is about copying files using webdav. Sorry, I thought that was clear.</p>
<blockquote>
<p>error.log from lighttpd?</p>
</blockquote>
<p>Well. The error log doesn't say anthing really useful.</p>
<p>192.168.0.1 - - <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/25May2008172001">+0200</a> "PUT /dav/user1/big.file HTTP/1.1" 413 0 "-" "Microsoft Data Access Internet Publishing Provider DAV" <br />192.168.0.1 192.168.0.13:1234 user1 <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/25May2008172014">+0200</a> "HEAD /dav/user1/upi-41ah.pdf HTTP/1.1" 404 0 "-" "Microsoft Data Access Internet Publishing Provider DAV" <br />192.168.0.1 192.168.0.13:1234 user1 <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/25May2008172014">+0200</a> "PUT /dav/user1/upi-41ah.pdf HTTP/1.1" 201 0 "-" "Microsoft Data Access Internet Publishing Provider DAV" <br />192.168.0.1 192.168.0.13:1234 user1 <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/25May2008172017">+0200</a> "DELETE /dav/user1/upi-41ah.pdf HTTP/1.1" 204 0 "-" "Microsoft Data Access Internet Publishing Provider DAV" <br />192.168.0.1 192.168.0.13:1234 user1 <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/25May2008172031">+0200</a> "HEAD /dav/user1/big.file HTTP/1.1" 404 0 "-" "Microsoft Data Access Internet Publishing Provider DAV" <br />192.168.0.1 - - <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/25May2008172031">+0200</a> "PUT /dav/user1/big.file HTTP/1.1" 413 0 "-" "Microsoft Data Access Internet Publishing Provider DAV" <br />192.168.0.1 192.168.0.13:1234 user1 <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/25May2008172110">+0200</a> "HEAD /dav/user1/big.file HTTP/1.1" 404 0 "-" "Microsoft Data Access Internet Publishing Provider DAV" <br />192.168.0.1 192.168.0.13:1234 user1 <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/25May2008174139">+0200</a> "PUT /dav/user1/big.file HTTP/1.1" 201 0 "-" "Microsoft Data Access Internet Publishing Provider DAV" <br />192.168.0.1 192.168.0.13:1234 user1 <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/25May2008180115">+0200</a> "PROPFIND /dav/user1 HTTP/1.1" 207 1172 "-" "Microsoft Data Access Internet Publishing Provider DAV" <br />192.168.0.1 192.168.0.13:1234 user1 <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/25May2008180117">+0200</a> "DELETE /dav/user1/big.file HTTP/1.1" 204 0 "-" "Microsoft Data Access Internet Publishing Provider DAV" <br />192.168.0.1 192.168.0.13:1234 user1 <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/25May2008180118">+0200</a> "PROPFIND /dav/user1 HTTP/1.1" 207 674 "-" "Microsoft Data Access Internet Publishing Provider DAV" <br />192.168.0.1 192.168.0.13:1234 user1 <a class="wiki-page new" href="https://redmine.lighttpd.net/projects/lighttpd/wiki/25May2008180119">+0200</a> "PROPFIND /dav/user1 HTTP/1.1" 207 674 "-" "Microsoft Data Access Internet Publishing Provider DAV"</p>
<p>and</p>
<p>2008-05-25 17:20:01: (request.c.1132) request-size too long: -0 -> 413 <br />2008-05-25 17:20:31: (request.c.1132) request-size too long: -0 -> 413 <br />2008-05-25 19:54:43: (server.c.1475) server stopped by UID = 0 PID = 8105</p>
<p>Note that those 2 413 errors are not the errors I'm talking about. The one I'm talking about is the last PUT in access.log and as you can see didnÄt produce any error in the logfile.</p>
<blockquote>
<p>And if your upload times out... what do you think lighty should do? wait forever?...</p>
</blockquote>
<p>I've already explained what the problem seems to be.<br />Ok. I'll rewrite that part a little bit more detailed:</p>
<p>As far as I have found out, the following happens:<br />While the data ist transmitted to lighty (via webdav), it puts the received data<br />into several seperate files in its temporary directory.<br />After the whole file has been transmitted, it copies the small chunks together into the destination directory, where the user wanted to put the file.</p>
<p>The problem seems to be the following: On a slow or busy machine with big files,<br />it may take quite long to copy e.g. 1.5 GB from the temp-dir over to its destination.<br />I don't know if lighty needs to send any acknowledgement after having finished or if the client wants something else while lighty is still copying, but the problem seems to occur during this part of the transmission process.</p>
<p>I don't know what's going wrong in detail (why the client exactly prints the error<br />message), maybe a wireshark trace could reveal that, but I have no time for that.</p>
<p>Obviosly, not all clients seem to behave the same way. WinXP and Win2k seem to have/trigger the problem, while cadaver doesn't.</p> Lighttpd - Bug #1674: Copying (big) files onto server fails with WinXP clientshttps://redmine.lighttpd.net/issues/1674?journal_id=41382008-08-03T14:20:25Zstbuehler
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Fixed</i></li><li><strong>Resolution</strong> set to <i>wontfix</i></li></ul>ok, let me summarize:
<ul>
<li>lighttpd does not timeout</li>
<li>the file is received completely and not corrupted (and http response is 201 Created)</li>
<li>only the webdav client (winxp / win2k) has a timeout, as the reponse is sent after the tmp-files are copied into the destination file</li>
</ul>
<p>I don't see how we could fix that without a mod_webdav rewrite - i am sorry, but this is a wontfix :(.</p>
<p>So your server machine should be fast enough to copy the files you want to upload before your client timeouts.</p> Lighttpd - Bug #1674: Copying (big) files onto server fails with WinXP clientshttps://redmine.lighttpd.net/issues/1674?journal_id=41392008-08-03T19:34:26ZAnonymous
<ul></ul><p>Well, actually I haven't investigated what exactly happens. I wrote only what I think that happens.<br />To find out the exact reason, further investigation would be needed (to find out why some clients timeout).</p>
<p>I think that this problem should be fixed.<br />Why?<br />Because the status quo is that the maximum filesize you can copy depends on you server speed (mostly on the harddisk speed and load to be more precise) and maybe on server load.<br />So for those (XP/2k) clients, which are maybe 90% (just a guess, but you know what mean) of the clients out there the maximum filesize is maybe most of the time sufficient, but totally unpredictable to be precise.</p>
<p>Of course, after it has aborted, you could check the filesize to be sure and be happy.<br />(The problem is if you wanted to copy more than one file, because the client aborts.)<br />But try to explain that to the average client user.</p>
<p>My opinion is that those problems render the webdav support unusable.<br />At least for me and those who want to use webdav with lighty as a small and<br />convinent replacement for ftp.</p>
<p>So, what do we need to do?<br />Investigate it to understand really.<br />We could (for example) not use chunks but write everything in one file and move that file to destination after a complete transfer. That would at least remove the problem if the temp-dir and destination dir are on the same filesystem, because moving is fast.<br />Alternatively we could drop the usage of a common temp-dir completely and use something like an "incoming" dir below the document root, which is below the document root and use the file-moving tactic. This way, chances are high, that in 99% of the lighty users we make a move on the same filesystem as the document root usually doesn't spread aross multiple filesystems.</p>
<p>Well, that are just my proposals on solving the problem.<br />(Note that I haven't read the webdav source, so I don't know if this is possible<br />without a rewrite.)</p>
<p>I may investigate this myself but not now and not in the near future, because I don't have time for that.</p>
<p>-- trashy993-hosting</p> Lighttpd - Bug #1674: Copying (big) files onto server fails with WinXP clientshttps://redmine.lighttpd.net/issues/1674?journal_id=41402008-08-26T16:28:01ZAnonymous
<ul></ul><p>I've had some time and did some Wireshark tests.</p>
<p>Interestingly I found out that under my current test<br />conditions the error seems to show up much earlier,<br />at least sometimes.</p>
<p>The error message on the client appears long before all<br />of the file is transmitted or after completion like I reported before.</p>
<p>I did the following:<br /> 1) Start copying a 50MB file onto the server with WebDAV.<br /> 2) Waited till the client error message popped up.<br /> This was at about 10MB packet capture size (shown by Wireshark).<br /> Strangely, the client kept sending while the error message box<br /> was on the screen and stopped about 4MB later.<br /> (I think that the client flushed its buffers.)</p>
<p>So what is the conclusion? I'm now convinced that this is a silly<br />Windows client problem and seems to have to be solved on the client side.</p>
<p>I'm very sorry for bugging you and (maybe) wasting your time.</p>
<p>-- trashy993-hosting</p> Lighttpd - Bug #1674: Copying (big) files onto server fails with WinXP clientshttps://redmine.lighttpd.net/issues/1674?journal_id=48582008-10-10T19:05:24Zstbuehler
<ul><li><strong>Status</strong> changed from <i>Fixed</i> to <i>Wontfix</i></li></ul> Lighttpd - Bug #1674: Copying (big) files onto server fails with WinXP clientshttps://redmine.lighttpd.net/issues/1674?journal_id=137282023-12-31T06:48:13Zgstrauss
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/13728/diff?detail_id=11269">diff</a>)</li><li><strong>Status</strong> changed from <i>Wontfix</i> to <i>Obsolete</i></li><li><strong>Target version</strong> deleted (<del><i>1.5.0</i></del>)</li><li><strong>ASK QUESTIONS IN Forums</strong> set to <i>No</i></li></ul><p>Issues such as this were very likely fixed long ago in lighttpd mod_webdav.<br />lighttpd mod_webdav writes a file upload into a temporary file next to the target, and then atomically renames the temporary file into place once the upload is complete.</p>
<p>Please file a new issue if that is not the case.</p>