Closed
Description
nginx 1.4.1, lua-module from master, luajit
Below is the snippet (https://github.com/pgaertig/nginx-big-upload/blob/master/file_storage_handler.lua) of code catching the problem:
ngx.log(ngx.ERR, self.left)
ngx.log(ngx.ERR, current_chunk_size) -- 4096
ngx.log(ngx.ERR, 'raw0')
local chunk, err = self.socket:receive(current_chunk_size)
ngx.log(ngx.ERR, 'raw1')
if err then
return nil, "socket:receive :"..err
end
Shortly, gigabytes of data is read with plain HTTP-SSL, but when SPDY is enabled usually the first or second socket read fails with epoll_ctl(1, 21) failed (17: File exists)
. Excerpt of log:
2013/06/27 18:48:38 [error] 10188#0: *1 [lua] request_processor.lua:35: raw_body_by_chunk(): left 28672, client: 127.0.0.1, server: foo.com, request: "POST /upload HTTP/1.1", host: "foo.com", referrer: "https://foo.com/"
2013/06/27 18:48:38 [error] 10188#0: *1 [lua] request_processor.lua:36: raw_body_by_chunk(): read size 4096, client: 127.0.0.1, server: foo.com, request: "POST /upload HTTP/1.1", host: "foo.com", referrer: "https://foo.com/"
2013/06/27 18:48:38 [error] 10188#0: *1 [lua] request_processor.lua:38: raw_body_by_chunk(): raw0, client: 127.0.0.1, server: foo.com, request: "POST /upload HTTP/1.1", host: "foo.com", referrer: "https://foo.com/"
2013/06/27 18:48:38 [alert] 10188#0: *1 epoll_ctl(1, 21) failed (17: File exists), client: 127.0.0.1, server: foo.com, request: "POST /upload HTTP/1.1", host: "foo.com", referrer: "https://foo.com/"
2013/06/27 18:48:38 [error] 10188#0: *1 [lua] request_processor.lua:40: raw_body_by_chunk(): raw1, client: 127.0.0.1, server: foo.com, request: "POST /upload HTTP/1.1", host: "foo.com", referrer: "https://foo.com/"
2013/06/27 18:48:38 [error] 10188#0: *1 [lua] big-upload.lua:41: socket:receive :error, client: 127.0.0.1, server: foo.com, request: "POST /upload HTTP/1.1", host: "foo.com", referrer: "https://foo.com/"
Full log http://pastebin.com/KP1cixpS .
Metadata
Metadata
Assignees
Labels
No labels