Здравствуйте!<br><br>Спасибо за помощь и за патч.<br><br><div class="gmail_quote">19 февраля 2009 г. 5:48 пользователь Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>></span> написал:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello!<br>
<div class="Ih2E3d"><br>
On Wed, Feb 18, 2009 at 06:20:52AM +0300, Maxim Dounin wrote:<br>
<br>
> Hello!<br>
><br>
> On Tue, Feb 17, 2009 at 09:39:55PM +0500, Владислав Щапов wrote:<br>
><br>
> > Здравствуйте.<br>
> ><br>
> > Отловил Debug-log на nginx 0.7.34. На версии 0.7.35 баг не исчез, НО стал<br>
> > проявляться значительно реже.<br>
> > Проблема возникает в файле /static/XXXXXXXX_menu.html?menu_account=selected<br>
> > (Х-ами заменено реальное название но количество символов сохранено. Такие-же<br>
> > замены сделаны и в логах)<br>
> > Результат вывода echo такой "<li class="tab3 selected/rpc ">" хотя в этом<br>
> > месте явно должен был быть код '<li class="tab3 selected">'. При следующем<br>
> > запросе вывелось "<li class="tab3 selectedml" &gt; ="">", потом "<li<br>
> > class="tab3<br>
> > selectedq�� ">".<br>
<br>
</div>[...]<br>
<div class="Ih2E3d"><br>
> Патч нарисую завтра если Игорь не успеет раньше.<br>
<br>
</div>Патч прилагается.<br>
<font color="#888888"><br>
Maxim Dounin<br>
</font><div><div></div><div class="Wj3C7c"><br>
><br>
> To Игорь:<br>
><br>
> В функции ngx_http_arg() утверждение<br>
><br>
> /*<br>
> * although r->args.data is not null-terminated by itself,<br>
> * however, there is null in the end of request line<br>
> */<br>
><br>
> не является правдой для подзапросов из ssi.<br>
><br>
> Maxim Dounin<br>
><br>
> ><br>
> > Так-же в конце лога подозрительно выглядят строчки "2009/02/17 21:01:23<br>
> > [debug] 5669#0: *2280 free: 00000000"<br>
> ><br>
> > 16 февраля 2009 г. 18:22 пользователь Владислав Щапов <<a href="mailto:phprus@gmail.com">phprus@gmail.com</a>>написал:<br>
> ><br>
> > > Здравствуйте.<br>
> > > Nginx и так был собран с --with-debug.<br>
> > > Жаль, что дебаг лог я вчера включить не догадался. Сегодня при помощи ab<br>
> > > сделал более 10к запросов к различным страничкам и в том числе к проблемным,<br>
> > > но все запросы окончились успешно, те размеры отдаваемых страниц были точно<br>
> > > такие какие должны были быть, да и ручное кликание по ссылкам результата не<br>
> > > дало. Буду продолжать попытки воспроизвести баг.<br>
> > ><br>
> > > Кусок HTML'я в котором выводятся некорректное значение вот такой:<br>
> > ><br>
> > > <!--# if expr="$account" --><br>
> > > <li class="tab3 <!--# echo var="arg_menu_account" default="" -->"><br>
> > > <a href="/account/">Мой аккаунт</a><br>
> > > <ul class="submenu tab_cnt_2"><br>
> > > <li><a href="/account/">Мой аккаунт</a></li><br>
> > > <li><a href="/account/EditPasswd">Изменить email и<br>
> > > пароль</a></li><br>
> > > <!-- <li><a href="/account/Setting">Настройки</a></li> --><br>
> > > </ul><br>
> > > </li><br>
> > > <!--# endif --><br>
> > ><br>
> > > Ожидается, что на месте <!--# echo var="arg_menu_account" default="" --><br>
> > > выведется selected, но выводилось следующее: "selected85;", "selectedml?m" а<br>
> > > так-же другие символы(в том числе и не алфавитно-цифровые) которых я не<br>
> > > помню.<br>
> > ><br>
> > > nginx скомпилирован таким образом:<br>
> > > ./configure --prefix=/usr/local/nginx \<br>
> > > --error-log-path=/var/log/nginx/error.log \<br>
> > > --http-log-path=/var/log/nginx/access.log \<br>
> > > --http-client-body-temp-path=/var/spool/nginx/client_body_temp<br>
> > > \<br>
> > > --http-proxy-temp-path=/var/spool/nginx/proxy_temp \<br>
> > > --http-fastcgi-temp-path=/var/spool/nginx/fastcgi_temp \<br>
> > > --pid-path=/var/run/nginx/nginx.pid \<br>
> > > --with-http_ssl_module \<br>
> > > --with-http_sub_module \<br>
> > > --with-http_gzip_static_module \<br>
> > > --with-http_addition_module \<br>
> > > --with-http_flv_module \<br>
> > > --with-http_xslt_module \<br>
> > > --with-http_secure_link_module \<br>
> > > --with-http_dav_module \<br>
> > > --with-debug<br>
> > ><br>
> > ><br>
> > > 16 февраля 2009 г. 1:56 пользователь Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>>написал:<br>
> > ><br>
> > > Hello!<br>
> > >><br>
> > >> On Sun, Feb 15, 2009 at 11:10:11PM +0500, Владислав Щапов wrote:<br>
> > >><br>
> > >> > Накаркал. Сейчас эти лишние символы стали появляться буквально через<br>
> > >> раз, но<br>
> > >> > зато удалось заметить, что их либо 3 либо 4 штуки. :(<br>
> > >> ><br>
> > >> > Кстати забыл еще упомянуть такую деталь, что этот echo находится внутри<br>
> > >> if'а<br>
> > >> > который проверяет существование другой переменной, которая<br>
> > >> устанавливается<br>
> > >> > или не устанавливается в подключаемой внешним файлом при помощи include<br>
> > >> (с<br>
> > >> > указанием параметра wait="yes") html-странице.<br>
> > >><br>
> > >> Постарайтесь сделать debug log для запроса, на котором проявляется<br>
> > >> проблема. Для этого надо собрать nginx с параметром configure<br>
> > >> --with-debug. Логгирование с уровнем debug можно включить для<br>
> > >> конкретных ip-адресов так:<br>
> > >><br>
> > >> events {<br>
> > >> ...<br>
> > >> debug_connection 127.0.0.1;<br>
> > >> debug_connection <a href="http://192.168.0.0/16" target="_blank">192.168.0.0/16</a>;<br>
> > >> }<br>
> > >><br>
> > >> Имея debug log можно будет пытаться что-то понять (также<br>
> > >> желательно полный исходный код ssi-страницы, и результат запроса с<br>
> > >> видимой проблемой).<br>
> > >><br>
> > >> Maxim Dounin<br>
> > >><br>
> > >> ><br>
> > >> > 15 февраля 2009 г. 18:49 пользователь Владислав Щапов <<a href="mailto:phprus@gmail.com">phprus@gmail.com</a><br>
> > >> >написал:<br>
> > >> ><br>
> > >> > > Здравствуйте.<br>
> > >> > > Есть nginx 0.7.34<br>
> > >> > > Столкнулся с тем, что при использовании конструкции <!--# echo<br>
> > >> > > var="arg_menu_account" default="" --> после самого значения параметра<br>
> > >> иногда<br>
> > >> > > выводятся несколько левых символов (два раза выводились 3 лишних<br>
> > >> символа,<br>
> > >> > > один раз 4). Параметр menu_account в строке запроса имеет значение<br>
> > >> selected.<br>
> > >> > > Специально воспроизвести эту проблему не получилось.<br>
> > >> > ><br>
> > >> > > Подскажите пожалуйста, в чем может быть причина такого странного<br>
> > >> поведения<br>
> > >> > > Nginx?<br>
> > >> > ><br>
> > >><br>
> > >><br>
> > ><br>
><br>
><br>
><br>
</div></div></blockquote></div><br>