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

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

    <bug>
          <bug_id>16359</bug_id>
          
          <creation_ts>2008-07-15 16:14:14 +0400</creation_ts>
          <short_desc>Crash on certain regexp</short_desc>
          <delta_ts>2010-06-04 22:41:07 +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>gawk</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</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="Vitaly A. Ostanin">vyt</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>glebfm</cc>
    
    <cc>ldv</cc>
    
    <cc>led</cc>
    
    <cc>php-coder</cc>
    
    <cc>placeholder</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>74044</commentid>
    <comment_count>0</comment_count>
      <attachid>2702</attachid>
    <who name="Vitaly A. Ostanin">vyt</who>
    <bug_when>2008-07-15 16:14:14 +0400</bug_when>
    <thetext>Created attachment 2702
testcase

gawk-3.1.5-alt3

Файлы в аттаче. Воспроизводится так:
cat test.conf | ./bad-write-param.awk
*** glibc detected *** awk: realloc(): invalid next size: 0x0000000000670470 ***

cat test.conf | ./ok-write-param.awk
(ожидаемый вывод)
cat test.conf | ./ok2-write-param.awk
(ожидаемый вывод)

Все *.awk - один и тот же скрипт, немного изменённый в части регулярных выражений. Да, там в gensub используется несуществующая компонента \\5, но и падений не должно быть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74069</commentid>
    <comment_count>1</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2008-07-16 09:10:56 +0400</bug_when>
    <thetext>У меня не воспроизвелось:

[c0der@xxx ~/awk-crash]$ cat test.conf| ./bad-write-param.awk &gt;bad
[c0der@xxx ~/awk-crash]$ cat test.conf| ./ok-write-param.awk &gt;ok
[c0der@xxx ~/awk-crash]$ cat test.conf| ./ok2-write-param.awk &gt;ok2
[c0der@xxx ~/awk-crash]$ diff -u bad ok 
[c0der@xxx ~/awk-crash]$ diff -u bad ok2
--- bad 2008-07-16 12:06:19 +0700
+++ ok2 2008-07-16 12:06:31 +0700
@@ -24,7 +24,7 @@
 #report_remote_uri_down        = yes                           # yes = create the reports if the remote host is down. no = don&apos;t make any reports if the host is down
 
 #@@ mandatory backup fields
-backup_source          = /usr #source 
+backup_source          = /usr #source
 backup_destination     = $HOME/backup
 backup_exclude         = $HOME/backup *.swp *.tmp
 
[c1der@xxx ~/awk-crash]$

gawk-3.1.5-alt3, локаль UTF8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74084</commentid>
    <comment_count>2</comment_count>
    <who name="Vitaly A. Ostanin">vyt</who>
    <bug_when>2008-07-16 13:40:29 +0400</bug_when>
    <thetext>У меня локаль ru_RU.CP1251, ядро 2.6.18-xen-dom0-alt7, glibc-2.5-alt5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74086</commentid>
    <comment_count>3</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2008-07-16 14:17:34 +0400</bug_when>
    <thetext>(In reply to comment #2)
&gt; У меня локаль ru_RU.CP1251, ядро 2.6.18-xen-dom0-alt7, glibc-2.5-alt5.

У меня локаль ru_RU.UTF-8, ядро 2.6.18-std-smp-alt7, glibc-2.5.1-alt4

Попробую ещё дома проверить, так ядро свежее и локаль CP1251 как раз.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74113</commentid>
    <comment_count>4</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2008-07-16 21:18:51 +0400</bug_when>
    <thetext>На 2.6.25-std-def-alt6, glibc-2.5.1-alt5, gawk-3.1.5-alt3 и CP1251 падение воспроизвести не смог.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74125</commentid>
    <comment_count>5</comment_count>
    <who name="Vitaly A. Ostanin">vyt</who>
    <bug_when>2008-07-17 14:51:43 +0400</bug_when>
    <thetext>На glibc-2.5.1-alt5 тоже воспроизводится. Забыл сказать: система x86_64. Получается, что различия только в ядре и, возможно, в архитектуре.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74126</commentid>
    <comment_count>6</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2008-07-17 14:54:46 +0400</bug_when>
    <thetext>&gt;Забыл сказать: система x86_64.

Ну так это существенно меняет дело!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74127</commentid>
    <comment_count>7</comment_count>
    <who name="Vitaly A. Ostanin">vyt</who>
    <bug_when>2008-07-17 14:59:30 +0400</bug_when>
    <thetext>Если ещё какие-нибудь детали меняют дело, спрашивайте, не стесняйтесь. Что вспомнил - написал.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74347</commentid>
    <comment_count>8</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2008-07-24 17:11:06 +0400</bug_when>
    <thetext>Ага! Смог воспроизвести:

[coder@pbf64 awk-crash]$ rpm -q --qf &apos;%{NAME}-%{VERSION}-%{RELEASE} %{ARCH}\n&apos; gawk glibc 
gawk-3.1.5-alt3 x86_64
glibc-2.5-alt4 x86_64

При этом ядро: 2.6.18-ovz-smp-alt20 и локаль обязательно должна быть однобитная (т.е. при ru_RU.UTF8 не падает, а при C -- падает).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74348</commentid>
    <comment_count>9</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2008-07-24 17:30:09 +0400</bug_when>
    <thetext>Вот нормальный backtrace:

[coder@pbf64 gawk-3.1.5]$ gdb -q
(gdb) set env LANG=C
(gdb) run -f bad-write-param.awk &lt;test.conf &gt;/dev/null
Starting program: /home/coder/gawk-3.1.5/gawk -f bad-write-param.awk &lt;test.conf &gt;/dev/null
*** glibc detected *** gawk: realloc(): invalid next size: 0x000000000066e700 ***
[skip]
(gdb) bt
#0  0x00002aaaab1783a5 in raise () from /lib64/libc.so.6
#1  0x00002aaaab179730 in abort () from /lib64/libc.so.6
#2  0x00002aaaab1adebb in iswupper () from /lib64/libc.so.6
#3  0x00002aaaab1b2e1e in iswupper () from /lib64/libc.so.6
#4  0x00002aaaab1b5abe in iswupper () from /lib64/libc.so.6
#5  0x00002aaaab1b6cff in realloc () from /lib64/libc.so.6
#6  0x000000000040fc9e in sub_common (tree=&lt;value optimized out&gt;, how_many=1, backdigs=1) at builtin.c:2455
#7  0x0000000000410504 in do_gensub (tree=&lt;value optimized out&gt;) at builtin.c:2560
#8  0x000000000043b7d2 in r_tree_eval (tree=0x65bc40, iscond=0) at eval.c:991
#9  0x0000000000411a23 in do_print (tree=0x65bd00) at builtin.c:1670
#10 0x0000000000439bf4 in interpret (tree=0x65bd00) at eval.c:787
#11 0x0000000000439ad0 in interpret (tree=0x65be00) at eval.c:477
#12 0x000000000043a022 in interpret (tree=0x65bf80) at eval.c:484
#13 0x00000000004398cf in interpret (tree=0x65a970) at eval.c:456
#14 0x0000000000426068 in do_input () at io.c:457
#15 0x000000000042822b in main (argc=3, argv=0x7fff0eaaa9d8) at main.c:595</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76701</commentid>
    <comment_count>10</comment_count>
    <who name="">led</who>
    <bug_when>2008-08-31 05:02:26 +0400</bug_when>
    <thetext>а как с этой проблемой в 3.1.6?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76705</commentid>
    <comment_count>11</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2008-08-31 11:28:28 +0400</bug_when>
    <thetext>(In reply to comment #10)
&gt; а как с этой проблемой в 3.1.6?

Когда будет в Сизифе, тогда и проверим.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88231</commentid>
    <comment_count>12</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2009-03-29 13:52:30 +0400</bug_when>
    <thetext>(В ответ на комментарий №10)
&gt; а как с этой проблемой в 3.1.6?

Также.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>88234</commentid>
    <comment_count>13</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2009-03-29 14:20:57 +0400</bug_when>
    <thetext>Уменьшил test case до:

printf &apos;backup_source\t= /home/coder\t#source\n&apos; | gawk &apos;{if($0~/(^[[:space:]]*backup_source[[:space:]]*=)([^#]*)?(#.*)?$/){print gensub(/(^[[:space:]]*backup_source[[:space:]]*=)([^#]*)?(#.*)?$/, &quot;\\1 /usr \\3 \\5&quot;, &quot;&quot;, $0)}}&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109701</commentid>
    <comment_count>14</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2010-06-04 22:41:07 +0400</bug_when>
    <thetext>gawk-3.1.8-alt1 -&gt; sisyphus:

* Thu Jun 03 2010 Dmitry V. Levin &lt;ldv@altlinux&gt; 3.1.8-alt1
- Updated to 3.1.8 (closes: #4911, #16359).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2702</attachid>
            <date>2008-07-15 16:14:14 +0400</date>
            <delta_ts>2008-07-15 16:14:14 +0400</delta_ts>
            <desc>testcase</desc>
            <filename>awk-crash.tar.bz2</filename>
            <type>application/octet-stream</type>
            <size>2818</size>
            <attacher name="Vitaly A. Ostanin">vyt</attacher>
            
              <data encoding="base64">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
qvLdltpBbHoK0D0wAv/F3JFOFCQ7UGwQgA==
</data>

          </attachment>
      

    </bug>

</bugzilla>