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