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