awk leaking memory during arithmetic?

Ruslan Ermilov ru at freebsd.org
Thu Oct 7 11:10:26 PDT 2004


On Mon, Oct 04, 2004 at 12:22:24PM -0500, Dan Nelson wrote:
> In the last episode (Oct 04), Brian Reichert said:
> > I may be misremembering some awk lore, but this still seems like
> > undesired behavior.  Essentially, I'm trying to sum up some numbers,
> > but awk spin, chewing up memory, until it drops a huge core file.
> > 
> >   # uname -a
> >   FreeBSD backup.internal 5.2.1-RELEASE FreeBSD 5.2.1-RELEASE #1: Mon Sep 27
> >   19:27:46 EDT 200	 root at backup2.internal:/usr/src/sys/i386/compile/FILESERVER  i386
> >   
> >   # cat test_list | awk '{print $1}'
> >   53999616
> >   53999616
> >   53311488
> >   102475776
> >   257134592
> >   858624
> >   512909312
> >   1147392
> >   39385174
> >   35815424
> > 
> >   # cat test_list | awk '{ t += $1 } END {print $t}'
> >   awk in malloc(): error: allocation failed
> 
> I think "print t" is what you want here.  $t would refer to the t'th
> field in the line, and it looks like awk tried to resize the array out
> to 1111037014 entries and failed.
> 
There's an open PR bin/72370 on this (now with the patch).


Cheers,
-- 
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20041007/25ac2412/attachment.bin


More information about the freebsd-current mailing list