github.com/benhoyt/goawk@v1.8.1/testdata/gawk/ofmtbig.awk (about) 1 # 2 # [USEMAP] 3 # 4 # Problem Report gnu/7821 5 # 6 # awk in free(): warning: chunk is already free. 7 # 8 # Confidential 9 # no 10 # 11 # Severity 12 # serious 13 # 14 # Priority 15 # medium 16 # 17 # Responsible 18 # freebsd-bugs@freebsd.org 19 # 20 # State 21 # suspended 22 # 23 # Class 24 # sw-bug 25 # 26 # Submitter-Id 27 # current-users 28 # 29 # Arrival-Date 30 # Thu Sep 3 10:30:00 PDT 1998 31 # 32 # Last-Modified 33 # Thu Sep 17 02:04:26 PDT 1998 34 # 35 # Originator 36 # Alexander Litvin archer@lucky.net 37 # 38 # Organization 39 # 40 # 41 #Lucky Net ltd. 42 # 43 # Release 44 # FreeBSD 3.0-CURRENT i386 45 # 46 # Environment 47 # 48 # 49 #FreeBSD grape.carrier.kiev.ua 3.0-CURRENT FreeBSD 3.0-CURRENT #121: Thu Sep 3 50 #1 51 #1:21:44 EEST 1998 archer@grape.carrier.kiev.ua:/usr/src/sys/compile/GRAPE 52 #i 53 #386 54 # 55 # Description 56 # 57 # 58 #The problem first appeared when GNU awk in 3.0-CURRENT was apgraded to 59 #3.0.3. I run C-News, which uses awk extensively. After awk apgrade C-News 60 #expire stopped to work. It appeared that some GNU awk 3.0.3 programms when 61 #given absolutely legitimate input fail, giving out a number of messages: 62 # 63 #awk in free(): warning: chunk is already free. 64 # 65 # How-To-Repeat 66 # 67 # 68 #Run the following awk program (it is cut out of C-News expire scripts). 69 #I was not able to cut it down more -- omitting some portions of the 70 #code (e.g. OFMT line), make error go away in this case, though it 71 #certainly does not fix awk. 72 # 73 #----------------cut-here---------------- 74 #!/usr/bin/awk -f 75 BEGIN { 76 OFMT = "%.12g" 77 big = 99999999999 78 lowest = big 79 small = 0 80 highest = small 81 } 82 83 $0 ~ /^[0-9]+$/ { 84 if ($1 < lowest) 85 lowest = $1 86 if ($1 > highest) 87 highest = $1 88 next 89 } 90 91 # $0 ~ /^[a-z]+/ { 92 $0 ~ /^[[:lower:]]+/ { 93 print dir, highest, lowest 94 dir = $0 95 lowest = big 96 highest = small 97 } 98 #----------------cut-here---------------- 99 # 100 #To get the error, just give this script the following input: 101 #----------------cut-here---------------- 102 #a 103 #1 104 #b 105 #----------------cut-here---------------- 106 # 107 # Fix 108 # 109 # 110 #I was not able to track the error in awk sources. As a workaround, 111 #I just reverted to GNU awk 2.15.5. 112 # 113 # Audit-Trail 114 # 115 # 116 #State-Changed-From-To: open-suspended 117 #State-Changed-By: phk 118 #State-Changed-When: Thu Sep 17 02:04:08 PDT 1998 119 #State-Changed-Why: 120 #reported to GNU maintainer. 121 # 122 # Submit Followup 123 # _________________________________________________________________ 124 # 125 # 126 # www@freebsd.org