The problem first appeared when GNU awk in 3.0-CURRENT was apgraded to 3.0.3. I run C-News, which uses awk extensively. After awk apgrade C-News expire stopped to work. It appeared that some GNU awk 3.0.3 programms when given absolutely legitimate input fail, giving out a number of messages: awk in free(): warning: chunk is already free. Fix: I was not able to track the error in awk sources. As a workaround, I just reverted to GNU awk 2.15.5. How-To-Repeat: Run the following awk program (it is cut out of C-News expire scripts). I was not able to cut it down more -- omitting some portions of the code (e.g. OFMT line), make error go away in this case, though it certainly does not fix awk. ----------------cut-here---------------- #!/usr/bin/awk -f BEGIN { OFMT = "%.12g" big = 99999999999 lowest = big small = 0 highest = small } $0 ~ /^[0-9]+$/ { if ($1 < lowest) lowest = $1 if ($1 > highest) highest = $1 next } $0 ~ /^[a-z]+/ { print dir, highest, lowest dir = $0 lowest = big highest = small } ----------------cut-here---------------- To get the error, just give this script the following input: ----------------cut-here---------------- a 1 b ----------------cut-here----------------
State Changed From-To: open->suspended reported to GNU maintainer.
> >The problem first appeared when GNU awk in 3.0-CURRENT was apgraded to >3.0.3. I run C-News, which uses awk extensively. After awk apgrade C-News See also gnu/12935.
> >I was not able to track the error in awk sources. As a workaround, >I just reverted to GNU awk 2.15.5. More complete list of See-Also's: gnu/9281, gnu/10555, gnu/7821
State Changed From-To: suspended->closed Our gawk was upgraded to 3.0.4 in CURRENT a while ago and merged in time for 3.4-RELEASE.