Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Oct 2004 12:22:24 -0500
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Brian Reichert <reichert@numachi.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: awk leaking memory during arithmetic?
Message-ID:  <20041004172224.GA30419@dan.emsphone.com>
In-Reply-To: <20041004171422.GK262@numachi.com>
References:  <20041004171422.GK262@numachi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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.

-- 
	Dan Nelson
	dnelson@allantgroup.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041004172224.GA30419>