Re: ngx_http_core_send_continue рушится в 0.6.34

Peter Leonov pl at contactmaker.ru
Thu Dec 25 03:01:53 MSK 2008


On 23.12.2008, at 17:11, Igor Sysoev wrote:

> On Tue, Dec 23, 2008 at 05:09:27PM +0300, Petr Leonov wrote:
>
>> А то что он, когда не рушится, возвращает 500 это нормально?
>> Если нет, то я полезу вверх по стеку, и, может, найду в чем дело.
>>
>> Возможно, виноват curl ;)
>
> Во-первых, возращать он должен 405, потому что POST в статику.

Проверил 0.6.32 — возвращает 405 и не падает.

>
> Во-вторых, нестабильный результат говорит скорее о проблемах сборки.
>

Поставил gcc-4.2.1 и 0.6.34 стал падать стабильно.


> curl тут никаким боком.
>

Так точно :) Но этот его 100-Continue мешает очень.
На всякий случай его тоже обновил на 7.19.2. Результат тот же.

Бог с этим континуумом, конечно.
Приятного отпуска, Игорь ;)


>> On 23.12.2008, at 16:15, Igor Sysoev wrote:
>>
>>> On Tue, Dec 23, 2008 at 04:37:19AM +0300, Peter Leonov wrote:
>>>
>>>> От такой команды рушится nginx 0.6.34
>>>>
>>>> curl -i -F a=b http://localhost:8080/
>>>>
>>>> Отличается этот запрос тем, что шлет
>>>> Expect: 100-continue
>>>> после чего происходит сбой в функции
>>>> ngx_http_core_send_continue()
>>>> а именно тут ngx_http_core_modlue.c:1289
>>>>
>>>> n = r->connection->send(r->connection,
>>>>                      (u_char *) "HTTP/1.1 100 Continue" CRLF CRLF,
>>>>                      sizeof("HTTP/1.1 100 Continue" CRLF CRLF) -
>>>> 1);
>>>>
>>>> У меня получалось, что r->connection->send есть
>>>> NULL.
>>>> Иногда, после пересборки, процесс не
>>>> рушится, а возвращает 500 ошибку,
>>>> если пересобрать еще раз, начинает
>>>> просто падать.
>>>> И так по кругу ;)
>>>>
>>>>
>>>> Тестил на Mac OS 10.5.6, собирал gcc 4.0.1 (Apple Inc.
>>>> build 5484)
>>>
>>> У меня на FreeBSDi/gcc 4.2.1 не воспроизводится.
>>> Судя по нестабильности результата, дело в сборке.
>>>
>>>> конфиг такой:
>>>>
>>>> daemon off;
>>>> worker_processes  1;
>>>>
>>>> pid /tmp/nginx-js.pid;
>>>> error_log /tmp/nginx-js.log debug;
>>>>
>>>> events { worker_connections  1024; }
>>>>
>>>> http
>>>> {
>>>> 	include       mime.types;
>>>> 	default_type  application/octet-stream;
>>>> 	
>>>> 	access_log off;
>>>>
>>>> 	sendfile        on;
>>>> 	keepalive_timeout  65;
>>>>
>>>> 	server
>>>> 	{
>>>> 		listen       8080;
>>>> 		server_name  localhost;
>>>> 		
>>>> 		location /
>>>> 		{
>>>> 			root   html;
>>>> 			index  index.html index.htm;
>>>> 		}
>>>> 	}
>>>> }
>>>>
>>>
>>> -- 
>>> Игорь Сысоев
>>> http://sysoev.ru
>>>
>>
>
> -- 
> Игорь Сысоев
> http://sysoev.ru
>






More information about the nginx-ru mailing list