Project

General

Profile

Actions

Bug #360

closed

File uploads above 64Kb in Safari are not always working

Added by Anonymous almost 16 years ago. Updated over 5 years ago.

Status:
Invalid
Priority:
Normal
Category:
core
Target version:
-
ASK QUESTIONS IN Forums:

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

test.html (809 Bytes) test.html Anonymous, 2007-06-14 07:40
Actions #1

Updated by Anonymous almost 16 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

Actions #2

Updated by gstrauss over 5 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?

Actions #3

Updated by stbuehler over 5 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, ...

Actions

Also available in: Atom