nginx large POST body under Solaris

Igor Sysoev is at rambler-co.ru
Tue Mar 25 23:42:22 MSK 2008


On Tue, Mar 25, 2008 at 03:45:46PM -0400, Wil Tan wrote:

> Hello Nginx-ers,
> 
> I had a problem with uploading large files to a FastCGI (Django)  
> process behind nginx. Nginx crashes when running under Solaris 10  
> (SunOS 5.11 snv_67 i86pc i386 i86pc) and nginx 0.5.35 compiled  
> without any special modules. I also tried nginx 0.6.29 with the same  
> problem.
> 
> The problem is that when I upload a small file, it works fine. But  
> when uploading a large file (> 1Mb) I got 413 request too large and  
> so I upped the client_max_body_size parameter in the config. When I  
> upload, I get a blank page back, with a message like this:
> 
> 2008/03/25 08:03:15 [warn] 3176#0: *5 a client request body is  
> buffered to a temporary file /tmp/nginx/0/00/0000000000, client:  
> 75.75.25.21, server: mojipage.com, request: "POST /account/avatar/? 
> t=1206428905 HTTP/1.1", host: "mojipage.com", referrer: "http:// 
> mojipage.com/account/avatar/?t=1206428905"
> 2008/03/25 08:03:24 [notice] 3175#0: signal 18 (SIGCHLD) received
> 2008/03/25 08:03:24 [alert] 3175#0: worker process 3176 exited on  
> signal 11
> 2008/03/25 08:03:24 [notice] 3175#0: start worker process 3184
> 
> 
> Here's a debug log that I correspond to one of these attempts:
> 
> 2008/03/25 07:29:21 [debug] 28590#0: *5 connect to unix:/home/moji/ 
> web/floweb/floweb-fcgi.sock, fd:9 #6
> 2008/03/25 07:29:21 [debug] 28590#0: *5 devpoll add event: fd:9 ev:0001
> 2008/03/25 07:29:21 [debug] 28590#0: *5 devpoll fd:9 ev:0001 fl:0000
> 2008/03/25 07:29:21 [debug] 28590#0: *5 connected
> 2008/03/25 07:29:21 [debug] 28590#0: *5 http upstream connect: 0
> 2008/03/25 07:29:21 [debug] 28590#0: *5 http upstream send request
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:992
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:354
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:14
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 malloc: 080F0E00:4096
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:27809
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:15
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:32768
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:8
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:27809
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer buf fl:0 s:15
> 2008/03/25 07:29:21 [debug] 28590#0: *5 chain writer in: 080F0D4C
> 2008/03/25 07:29:21 [debug] 28590#0: *5 writev: 1408
> 2008/03/25 07:29:21 [notice] 28575#0: signal 18 (SIGCHLD) received
> 2008/03/25 07:29:21 [alert] 28575#0: worker process 28590 exited on  
> signal 11
> 
> Any pointers would be appreciated.

You should enable core dumps for setuid processes (nginx calls setuid()
to change unprivileged user) and then run

gdb /path/to/nginx /path/to/core

bt

quit


-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list