bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gawk on suse 10.1 (was [Fwd: [suse-security] Puzzled with gawk])


From: Pablo Costa
Subject: gawk on suse 10.1 (was [Fwd: [suse-security] Puzzled with gawk])
Date: Thu, 20 Jul 2006 16:03:24 +0200 (CEST)
User-agent: SquirrelMail/1.4.6

Hello gawk people!

I am having some problems with gawk on Suse 10.1 machines.

I have tried several Suse 10.1 installations and it fails consistently. On
other distributions (gentoo, RedHat EL-ES) and MacOS X, everything runs as
expected.

Under Suse 10.1:

fails: gawk 3.1.5 shipped with suse 10.1
fails: gawk 3.1.5 dowloaded from official site, ./configure;make
works: gawk 3.1.4 downloaded from official site, ./configure;make

I want to solve this issue. I am about to find differences between 3.1.5
and 3.1.4 sources trying to isolate the involved lines, but maybe someone
behind 'bug-gawk' (Arnold?) will have a clue at a first glance.

Thank you for your help!
And thank you very much for all those years behind gawk!
Pablo

---------------------------- Original Message ----------------------------
Subject: [suse-security] Puzzled with gawk
From:    "Pablo" <address@hidden>
Date:    Wed, June 28, 2006 1:43 pm
To:      address@hidden
--------------------------------------------------------------------------

Hello there,

I've just found a rather weird problem on my opensuse10.1 box.

I've produced a simple awk script and a sample input file which makes gawk
crash on my 10.1, while it works as expected on my gentoo. I got also what
I would expect on non-gnu awk running under Mac OS X.

I would really appreciate if someone ran my script under 10.1 and tried to
reproduce the error. It's a one minute task: I've arranged everything
below so you can run it on your ~/tmp with a single copy/paste, if you
feel like giving it a try.

Maybe I'm not seeing the obvious, I would expect a broken awk build to
cause lots of trouble on my system, but this sample script is quite  
tricky.
So I would appreciate if someone confirms the odd behaviour or has any
clue before I go on with further testing.


  $ uname -a
  Linux 2.6.16.13-4-smp #1 SMP Wed May 3 04:53:23 UTC 2006 i686 i686
i386 GNU/Linux
  $ rpm -qa | grep awk
  gawk-3.1.5-18
  $ gawk --version | head -n 1
  GNU Awk 3.1.5


Thank you for getting so far, and thank you very much if you choose   to
go on ;)
Kind regards.
Pablo


-8<-------------cut here---------------------
#skip this if your CWD is a better place for two temp files ;)
cd ~/tmp


# the script; PLEASE take care if you copy on your own file
# to remove the BACKSLASH just before the DOLLAR; It's
# there to prevent the shell from evaluating $i when copy/pasting. cat >
problem.awk <<-EOF
{
   print "RECORD " NR;
   for ( i = 0; length( \$i ) > 0; i++ ) print "  FIELD " i " of " NF;
}
EOF

# It doesn't seem to really matter what kind of input you
# give to the script. Also it doesn't matter if it's given
# on a file via gawk command line invocation or if it's fed
# via stdin through a pipe.
cat > awk_example <<EOF
drwxr-xr-x 2 pablo users 112 2006-06-20 19:29 .
drwxr-xr-x 3 pablo users 248 2006-06-20 19:26 ..
-rw-r--r-- 1 pablo users   0 2006-06-20 19:43 awk_example
-rw-r--r-- 1 pablo users  91 2006-06-20 19:37 problem.awk
drwxr-xr-x 2 pablo users 112 2006-06-20 19:29 .
drwxr-xr-x 3 pablo users 248 2006-06-20 19:26 ..
-rw-r--r-- 1 pablo users   0 2006-06-20 19:43 awk_example
-rw-r--r-- 1 pablo users  91 2006-06-20 19:37 problem.awk
EOF

# Unleash hell!
gawk -f problem.awk awk_example

-8<-------------cut here---------------------

This is the expected output (what I get on my Gentoo's gawk and on my  
Mac OS X's awk):

   $ gawk -f problem.awk awk_example
   RECORD 1
     FIELD 0 of 8
     FIELD 1 of 8
     FIELD 2 of 8
     FIELD 3 of 8
     FIELD 4 of 8
     FIELD 5 of 8
     FIELD 6 of 8
     FIELD 7 of 8
     FIELD 8 of 8
[... records 2 to 7 ...]
   RECORD 8
     FIELD 0 of 8
     FIELD 1 of 8
     FIELD 2 of 8
     FIELD 3 of 8
     FIELD 4 of 8
     FIELD 5 of 8
     FIELD 6 of 8
     FIELD 7 of 8
     FIELD 8 of 8

This is what I get on my opensuse10.1:

   $ gawk -f problem.awk awk_example
   RECORD 1
     FIELD 0 of 8
     FIELD 1 of 8
     FIELD 2 of 8
     FIELD 3 of 8
     FIELD 4 of 8
     FIELD 5 of 8
     FIELD 6 of 8
     FIELD 7 of 8
     FIELD 8 of 8
   RECORD 2
     FIELD 0 of 8
     FIELD 1 of 8
     FIELD 2 of 8
   *** glibc detected *** gawk: double free or corruption (fasttop):
0x08089be0 ***
   ======= Backtrace: =========
   /lib/libc.so.6[0xb7e80911]
   /lib/libc.so.6(__libc_free+0x84)[0xb7e81f84]
   gawk(str2wstr+0x37)[0x806f2dd]
   gawk(do_length+0x1f3)[0x8056c73]
   gawk(r_tree_eval+0x3a2)[0x80742f2]
   gawk(r_tree_eval+0x75)[0x8073fc5]
   gawk[0x8075d12]
   gawk(interpret+0x2c6)[0x80727e6]
   gawk(interpret+0x221)[0x8072741]
   gawk(interpret+0x1b1)[0x80726d1]
   gawk(do_input+0x33)[0x806a743]
   gawk(main+0x79b)[0x806e33b]
   /lib/libc.so.6(__libc_start_main+0xdc)[0xb7e3287c]
   gawk[0x804c9b1]
   ======= Memory map: ========
   08048000-08082000 r-xp 00000000 03:01 431340     /bin/gawk
   08082000-08083000 rw-p 0003a000 03:01 431340     /bin/gawk
   08083000-080a9000 rw-p 08083000 00:00 0          [heap]
   b7b00000-b7b21000 rw-p b7b00000 00:00 0
   b7b21000-b7c00000 ---p b7b21000 00:00 0
   b7d12000-b7de9000 r--p 00000000 03:01 441088     /usr/lib/locale/
en_US.utf8/LC_COLLATE
   b7de9000-b7e1c000 r--p 00000000 03:01 441087     /usr/lib/locale/
en_US.utf8/LC_CTYPE
   b7e1c000-b7e1d000 rw-p b7e1c000 00:00 0
   b7e1d000-b7f36000 r-xp 00000000 03:01 473445     /lib/libc-2.4.so
b7f36000-b7f38000 r--p 00118000 03:01 473445     /lib/libc-2.4.so
b7f38000-b7f3a000 rw-p 0011a000 03:01 473445     /lib/libc-2.4.so
b7f3a000-b7f3d000 rw-p b7f3a000 00:00 0
   b7f3d000-b7f60000 r-xp 00000000 03:01 473453     /lib/libm-2.4.so
b7f60000-b7f62000 rw-p 00022000 03:01 473453     /lib/libm-2.4.so
b7f62000-b7f64000 r-xp 00000000 03:01 473451     /lib/libdl-2.4.so
b7f64000-b7f66000 rw-p 00001000 03:01 473451     /lib/libdl-2.4.so
b7f6b000-b7f75000 r-xp 00000000 03:01 473492     /lib/libgcc_s.so.1
b7f75000-b7f76000 rw-p 00009000 03:01 473492     /lib/libgcc_s.so.1
b7f76000-b7f77000 rw-p b7f76000 00:00 0
   b7f77000-b7f78000 r--p 00000000 03:01 441084     /usr/lib/locale/
en_US.utf8/LC_NUMERIC
   b7f78000-b7f79000 r--p 00000000 03:01 429431     /usr/lib/locale/
en_US.utf8/LC_TIME
   b7f79000-b7f7a000 r--p 00000000 03:01 431263     /usr/lib/locale/
en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES
   b7f7a000-b7f81000 r--s 00000000 03:01 428430     /usr/lib/gconv/
gconv-modules.cache
   b7f81000-b7f82000 rw-p b7f81000 00:00 0
   b7f82000-b7f9c000 r-xp 00000000 03:01 479433     /lib/ld-2.4.so
b7f9c000-b7f9e000 rw-p 00019000 03:01 479433     /lib/ld-2.4.so
bf868000-bf87d000 rw-p bf868000 00:00 0          [stack]
   ffffe000-fffff000 ---p 00000000 00:00 0          [vdso]
   Aborted







reply via email to

[Prev in Thread] Current Thread [Next in Thread]