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