<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>10144</bug_id>
          
          <creation_ts>2006-10-16 19:40:04 +0400</creation_ts>
          <short_desc>Проблема при использовании стековых переменных</short_desc>
          <delta_ts>2008-06-08 22:29:15 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>gcc4.1-c++</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>NOTABUG</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ilia Korolyov">korol82</reporter>
          <assigned_to name="Dmitry V. Levin">ldv</assigned_to>
          <cc>glebfm</cc>
    
    <cc>php-coder</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>41393</commentid>
    <comment_count>0</comment_count>
    <who name="Ilia Korolyov">korol82</who>
    <bug_when>2006-10-16 19:40:04 +0400</bug_when>
    <thetext>Актуальный сизиф. gcc 4.1.1 20060928 (ALT Linux, build 4.1.1-alt9)
Есть следующий код


int main( int argc, char** argv )
{
        try
        {
                boost::regex
re(&quot;(\\w+):\\/\\/(([^:]+?)(:(.+))?@)?([^:\\/]+)(:(\\d+))?((\\/.+?)*)(\\?(.+?))?(#(.+))?&quot;);
                boost::match_results&lt;std::string::const_iterator&gt; what;

                std::string
first(&quot;http://breeze@abc.ru/banner.jsp?keywords=%CC%E5%E3%E0%F4%EE%ED&amp;id=1&amp;ip=1.1.1.1&amp;version=1#123&quot;);


                boost::regex::locale_type loc(&quot;ru_RU.cp1251&quot;);
//              re.imbue( loc );

                for( int i=0; i&lt;5; ++i )
                {
                        if(
!boost::regex_match(boost::algorithm::trim_copy(first), what, re) ) continue;
                        cerr &lt;&lt; &quot;res =  &quot; &lt;&lt; what[12].str() &lt;&lt; endl;

                        string tmp = boost::algorithm::trim_copy(first);
                        if( !boost::regex_match(tmp, what, re) ) continue;
                        cerr &lt;&lt; &quot;res2 =  &quot; &lt;&lt; what[12].str() &lt;&lt; endl;
                }

                re.imbue( loc );
        }
        catch (std::exception&amp; ex)
        {
                cerr &lt;&lt; &quot;UGLY STANDART ERROR: &quot; &lt;&lt; ex.what() &lt;&lt; endl;
                return -1;
        }
        catch(...)
        {
                cerr &lt;&lt; &quot;UGLY ERROR: UNHANDLED EXCEPTION&quot; &lt;&lt; endl;
                return -1;
        }

        return 0;
}

Данные код просто парсит URL при помощи boost::regex, есть две проблемы:
1. Строки &quot;res=...&quot; и &quot;res2=...&quot; должны быть одинаковыми, реально получается

res =  keywords=%CC%E5%E3%E0%F4%EE%ED&amp;iи╟Aь╥╟Aь╥.1&amp;version=1
res2 =  keywords=%CC%E5%E3%E0%F4%EE%ED&amp;id=1&amp;ip=1.1.1.1&amp;version=1

т.е. в строке &quot;res=...&quot; присутствует явный мусор

Подобное поведение встречается не только при работе с boost, но и с
произвольными объектами в случае, когда результат функции не сохраняется явно в
какой-то переменной, а непосредственно передаётся в другую функцию


PS Возможно я обратился не по адресу - подскажите, куда следует обратиться
Steps to Reproduce:
make &amp;&amp; run</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41396</commentid>
    <comment_count>1</comment_count>
    <who name="Damir Shayhutdinov">damir</who>
    <bug_when>2006-10-16 20:06:38 +0400</bug_when>
    <thetext>У меня подозрение что где-то внутри переполнение стека.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41411</commentid>
    <comment_count>2</comment_count>
      <attachid>1662</attachid>
    <who name="Ilia Korolyov">korol82</who>
    <bug_when>2006-10-17 10:08:56 +0400</bug_when>
    <thetext>Created attachment 1662
Исходный код и Makefile

Просто для удобства добавил полный код тестового приложения</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42388</commentid>
    <comment_count>3</comment_count>
    <who name="Ilia Korolyov">korol82</who>
    <bug_when>2006-11-22 11:00:42 +0300</bug_when>
    <thetext>Что-то прояснилось?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42697</commentid>
    <comment_count>4</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2006-12-04 00:14:49 +0300</bug_when>
    <thetext>*** Bug 10148 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42698</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2006-12-04 00:21:54 +0300</bug_when>
    <thetext>Я думаю что это ошибка в тестовой программе.  Если вы подозреваете ошибку
в компиляторе, просьба представить тест попроще и без использования boost.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71504</commentid>
    <comment_count>6</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-06-08 22:29:15 +0400</bug_when>
    <thetext>Недостаточно информации, закрываю.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>1662</attachid>
            <date>2006-10-17 10:08:56 +0400</date>
            <delta_ts>2006-10-17 10:08:56 +0400</delta_ts>
            <desc>Исходный код и Makefile</desc>
            <filename>boost.tar.gz</filename>
            <type>application/x-gzip</type>
            <size>931</size>
            <attacher name="Ilia Korolyov">korol82</attacher>
            
              <data encoding="base64">H4sIACxzNEUCA+2VbXPaRhCA+Sr9ii0OnpMxegGEZwSYOCCndCjuYDxtJ7jMIQ5Qo7c5nWKTTPrb
eycRTJq67hen08k9MHOrvb3dZXdPLOI4ZUbpWTE5Z7ZdrK3mZ+uOkmXalm2eWU3bLJmWZdebJbBL
X4EsZZgClBaUkPfkcbun9v+nLPL+/4jfkpUfkOfrf6vZfLT/Tau573+j2eL9b1itsxKYsv/Pjtof
Dd3xtJvGWPeSRO1fvfrB7U+vuy9QglmaLVIGFbFzWtHj0xeoMNc0dTR8dd2tBfn8zClZk/va2vNq
IYNakHiUqJeji9fc4mccBFC7MqG2VlUuO8BDzfGaRExV92KuzRNQ1tUq8DgD9/Ja4wJfh2M3F3OP
QhiO+6ObQaHcJcQlkZEGtfgwgBcQHDmqQkOoreDkj72kx5/EB+vSN0hx/3fFL/0n979unRXv/0ar
YZv1/P6bli3v/1e5/0d+5AXZkkDH55NACQ7PD3TFeOTXW98kybn6xR4O1jH12SY0+Gk/WhdmT1nN
D1w+2Kbb1GDbhKT65lC9s+XB1SzlhyHCIUkT7BFI2bLN1X7EIMR+hEBImK69U/A2mJ6ciId3oKkf
VIXRrarwVclTcpzcLVCCymg2u6tqzmxm8C9Cb35zbqs9DTlIr2pa76XWEyq+dVsVytlsKdSIC4bO
7U40LvWQELn2qDhU1toPkULMvA3/yWkWsLTDc3acogyO48URf3/6jFDMYnoOdxvM+C9SlAMrWPk0
Zai8YSxxDKOYxJd44ek0MxY4igjVf0+T3luyvYvpMu1W+v2Ka1fcRsU1K5fNiutW3MGxv+xax37S
tfT8c/yO0NSPo651ZNUbIt+/lMZxgtjDAZmLlgCXUZlm88kNf1NYddsSJwxDUSjR/XCRESRMoHCz
imnRCr9rtsHv2G2oVn3eBiVvgOKvEHx3GGuelwjtVPtpcRxegHDuxckW5UXQTvMKnfK2aaABrx7z
o4yIWiseoRQ6HSjzQkMXoCwehPUbq36r81IiTWhItAzyJJVddVmYcPOnQ7f/KXPu5F+mVn8yN0X5
KPL7orBcrXgiGqB8Osi9RxLGW3gM5F4rZnsf6eb16Fe4nl6MBxeTKbiTydXEKcLyuyQifx6REpbR
CGrWQRik6/rfut15uxl/z92P3AG4v/Tdn6bDq3H5cZ/qp2ezrX78Jv9rJRKJRCKRSCQSiUQikUgk
EolEIpFIJJLn5k9SIqCtACgAAA==
</data>

          </attachment>
      

    </bug>

</bugzilla>