Re: Появляются лишние символы при использовании SSI echo.

Владислав Щапов phprus at gmail.com
Thu Feb 19 12:02:59 MSK 2009


Здравствуйте!

Спасибо за помощь и за патч.

19 февраля 2009 г. 5:48 пользователь Maxim Dounin <mdounin at mdounin.ru>написал:

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


More information about the nginx-ru mailing list