Bug #360
closedFile uploads above 64Kb in Safari are not always working
Description
The file uploads above 64Kb (the ones streamed to disk) are still failing in Safari (latest version: 2.0.2 / Mac OS X 10.4.3) and Lighttpd 1.4.7.
I'm running Lighttpd on a FC4 box.
The problem arises both if you are using SSL or not.
In rare ocasions it will work and upload the file (with and without SSL), but most of the times it will fail miserably.
This is an extract of a strace:
11:30:10.282414 time(NULL) = 1131532210 11:30:10.282455 epoll_wait(4, {}, 1025, 1000) = 0 11:30:11.279325 time(NULL) = 1131532211 11:30:11.279388 epoll_wait(4, {}, 1025, 1000) = 0 11:30:12.279381 time(NULL) = 1131532212 11:30:12.279444 epoll_wait(4, {}, 1025, 1000) = 0 11:30:13.279446 time(NULL) = 1131532213 11:30:13.279514 epoll_wait(4, {}, 1025, 1000) = 0 11:30:14.279520 time(NULL) = 1131532214 11:30:14.279579 epoll_wait(4, {}, 1025, 1000) = 0 11:30:15.279565 time(NULL) = 1131532215 11:30:15.279629 epoll_wait(4, {}, 1025, 1000) = 0 11:30:16.279632 time(NULL) = 1131532216 11:30:16.279701 shutdown(11, 1 /* send */) = 0 11:30:16.279822 epoll_ctl(4, EPOLL_CTL_DEL, 11, {0, {u32=0, u64=0}}) = 0 11:30:16.279882 close(11) = 0 11:30:16.279930 epoll_wait(4, {}, 1025, 1000) = 0 11:30:17.279688 time(NULL) = 1131532217 11:30:17.279751 epoll_wait(4, {}, 1025, 1000) = 0 11:30:18.279755 time(NULL) = 1131532218 11:30:18.279815 epoll_wait(4, {}, 1025, 1000) = 0 11:30:19.279817 time(NULL) = 1131532219 11:30:19.279876 epoll_wait(4, {}, 1025, 1000) = 0 11:30:20.279879 time(NULL) = 1131532220 11:30:20.279938 epoll_wait(4, {}, 1025, 1000) = 0 11:30:21.279946 time(NULL) = 1131532221 11:30:21.280007 epoll_wait(4, {}, 1025, 1000) = 0 11:30:22.280006 time(NULL) = 1131532222 11:30:22.280067 epoll_wait(4, {}, 1025, 1000) = 0 11:30:23.280068 time(NULL) = 1131532223 11:30:23.280127 epoll_wait(4, {}, 1025, 1000) = 0 11:30:24.280124 time(NULL) = 1131532224 11:30:24.280180 epoll_wait(4, {}, 1025, 1000) = 0 11:30:25.280192 time(NULL) = 1131532225 11:30:25.280251 epoll_wait(4, {}, 1025, 1000) = 0 11:30:26.280248 time(NULL) = 1131532226 11:30:26.280304 epoll_wait(4, {}, 1025, 1000) = 0 11:30:27.280318 time(NULL) = 1131532227 11:30:27.280378 epoll_wait(4, {}, 1025, 1000) = 0 11:30:28.280374 time(NULL) = 1131532228 11:30:28.280430 epoll_wait(4, {}, 1025, 1000) = 0 11:30:29.280438 time(NULL) = 1131532229 11:30:29.280498 epoll_wait(4, {}, 1025, 1000) = 0 11:30:30.280551 time(NULL) = 1131532230 11:30:30.280608 epoll_wait(4, {}, 1025, 1000) = 0 11:30:31.280559 time(NULL) = 1131532231 11:30:31.280617 epoll_wait(4, {}, 1025, 1000) = 0 11:30:32.280623 time(NULL) = 1131532232 11:30:32.280683 epoll_wait(4, {}, 1025, 1000) = 0 11:30:33.280886 time(NULL) = 1131532233 11:30:33.280948 epoll_wait(4, {}, 1025, 1000) = 0 11:30:34.280754 time(NULL) = 1131532234 11:30:34.280808 epoll_wait(4, {}, 1025, 1000) = 0 11:30:35.280822 time(NULL) = 1131532235 11:30:35.280881 epoll_wait(4, {}, 1025, 1000) = 0 11:30:36.280875 time(NULL) = 1131532236 11:30:36.280932 epoll_wait(4, {}, 1025, 1000) = 0 11:30:37.280947 time(NULL) = 1131532237 11:30:37.281007 epoll_wait(4, {}, 1025, 1000) = 0 11:30:38.280997 time(NULL) = 1131532238 11:30:38.281050 epoll_wait(4, {}, 1025, 1000) = 0 11:30:39.281068 time(NULL) = 1131532239 11:30:39.281127 epoll_wait(4, {}, 1025, 1000) = 0 11:30:40.281128 time(NULL) = 1131532240 11:30:40.281185 epoll_wait(4, {}, 1025, 1000) = 0 11:30:41.281191 time(NULL) = 1131532241 11:30:41.281250 epoll_wait(4, {}, 1025, 1000) = 0
Looks like lighttpd does not seem to catch anything when I'm trying to upload the file?
This is my vhost, serving a Rails app using fastcgi:
$HTTP["host"] =~ "demo.somedomain.net" { simple-vhost.default-host = "demo.somedomain.net" server.error-handler-404 = "/dispatch.fcgi" server.errorlog = "/var/www/domains/demo.somedomain.net/log/error.log" accesslog.filename = "/var/www/domains/demo.somedomain.net/log/access.log" fastcgi.server =( ".fcgi" => ( "demo.somedomain.net" => ( "min-procs" => 1, "max-procs" => 1, "socket" => "/tmp/demo_somedomain.fcgi.socket", "bin-path" => "/var/www/domains/demo.somedomain.net/public/dispatch.fcgi "bin-environment" => ("RAILS_ENV" => "production_demo") ) ) ) }
Note: I've tried using Firefox (Mac/Win) and IE for Windows, no problems there.
-- tonka
Files
Updated by Anonymous almost 19 years ago
Setting...
$HTTP["useragent"] =~ "^(.*MSIE.*)|(.*AppleWebKit.*)$" { server.max-keep-alive-requests = 0 }
... does the trick.
Looks like keep alive requests are not only causing troubles on IE but in Safari too...
-- tonka
Updated by gstrauss over 8 years ago
(old ticket)
IE 6 (good riddance) is no longer supported by Microsoft, and many version of Safari have been released the past 10 years.
Is this still an issue?
Updated by stbuehler over 8 years ago
- Description updated (diff)
- Status changed from New to Invalid
- Assignee deleted (
jan)
The strace doesn't even show lighttpd accepting the connection, there is only a connection close (probably due to some timeout) at 6 seconds into the strace log.
Could be an application firewall, ...
Also available in: Atom