« Return to Thread: Problems with awk/nbawk on m68k

Problems with awk/nbawk on m68k

by Michael L. Hitch :: Rate this Message:

| View in Thread

I've seen problems when running nbawk on my amiga while doing release
builds (to execersize the system).  I'm pretty sure I've seen the same
problems some time back, and it just killed by build twice recently.

The first time was while building postfix:

/home/NetBSD-5/tools.m68k/bin/nbawk: trying to access out of range field -1
  input record number 513, file
/home/NetBSD-5/src/external/ibm-public/postfix/dist/src/postconf/../milter/milter.c
  source line number 29

The second one was a failure while checking the set lists:

======  1 missing files in DESTDIR  ========
Files in flist but missing from DESTDIR.
File wasn't installed ?
------------------------------------------
./usr/X11R7/lib/X11/fonts/100dpi/timB24-ISO8859-4.pcf.gz
========  end of 1 missing files  ==========
*** [checkflist] Error code 1

It's not obvious that this was due to nbawk, but that was my suspicion at
the time, and I have verfied that it was nbawk.  It was rather odd that it
complained about a /usr/X11R7 file being missing, since the amiga is not
using Xorg yet.

I was able to isolate the checkflist to a simple test for this.  A simple
find would generate a list of the installed files and directories, and I
was able to generate a list of the expected files using
src/distrib/sets/makeflist.  I can now replicate both the above nbawk
problems with a simple command line.

for N in 0 1 2 3 4 5 6 7 8 9
do
   MKX11=yes AWK=awk sh distrib/sets/makeflist -b -a m68k -m amiga| sort -u > /tmp/flist.$N
   echo -n `md5 /tmp/flist.$N`
   wc -l /tmp/flist.$N
done

This will generate the list of files from the set/lists data 10 times,
with and md5 sum and wc -l of each run.

On an idle system, I am usually able to run that script with the same
result for all 10 output files:

MD5 (/tmp/flist.0) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.0
MD5 (/tmp/flist.1) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.1
MD5 (/tmp/flist.2) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.2
MD5 (/tmp/flist.3) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.3
MD5 (/tmp/flist.4) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.4
MD5 (/tmp/flist.5) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.5
MD5 (/tmp/flist.6) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.6
MD5 (/tmp/flist.7) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.7
MD5 (/tmp/flist.8) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.8
MD5 (/tmp/flist.9) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.9

If I do something like a du -s /home/* while running that script, it will
almost always fail.  This is the output when I start the du after the
first iteration of the test script:

MD5 (/tmp/flist.0) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.0
/tmp/usr/bin/awk: trying to access out of range field -1
  input record number 8154, file
  source line number 25
xargs: cat terminated by SIGPIPE
MD5 (/tmp/flist.1) = 15800048dbd6453ee466516d92d5dc84    6314 /tmp/flist.1
/tmp/usr/bin/awk: trying to access out of range field -1
  input record number 8214, file
  source line number 25
xargs: cat terminated by SIGPIPE
MD5 (/tmp/flist.2) = 1f41c56016e8323fff319167e386e81e    6351 /tmp/flist.2
/tmp/usr/bin/awk: trying to access out of range field -1
  input record number 11213, file
  source line number 54
xargs: cat terminated by SIGPIPE
MD5 (/tmp/flist.3) = 46ea89ed4ae41fd3c881a998a7ffb659    8218 /tmp/flist.3
/tmp/usr/bin/awk: trying to access out of range field -1
  input record number 113167, file
  source line number 25
xargs: cat terminated by SIGPIPE
MD5 (/tmp/flist.4) = 52dbdae43cbf699534a02a0fc2fd1625   37486 /tmp/flist.4
MD5 (/tmp/flist.5) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.5
MD5 (/tmp/flist.6) = cbea14a873825db74869d5b0e60d846c   42145 /tmp/flist.6
/tmp/usr/bin/awk: trying to access out of range field -1
  input record number 7679, file
  source line number 25
xargs: cat terminated by SIGPIPE
MD5 (/tmp/flist.7) = 42fb1df910c3ae1ce2d4a9a3bc044c84    5988 /tmp/flist.7
MD5 (/tmp/flist.8) = df65d1ef5d67ce0144bb726985ce2fde   42145 /tmp/flist.8
/tmp/usr/bin/awk: trying to access out of range field -1
  input record number 41043, file
  source line number 54
xargs: cat terminated by SIGPIPE
MD5 (/tmp/flist.9) = 12eb420e8ecf5ac284adb85defda3f77    6392 /tmp/flist.9

Note that /tmp/flist.6 didn't error out, but the md5 sum doesn't match.
The diff between flist.5 and flist.6:
0a1
>
17129d17129
< ./usr/share/i18n/esdb/MISC/ATARIST.esdb

I'm not quite sure how to debug this, but at least I now can reliably
reproduce the failure.  I think I may still have a 4.? version installed
on that amiga, so I will be trying that to see if the same thing happens
there as well.

--
Michael L. Hitch mhitch@...
Computer Consultant
Information Technology Center
Montana State University Bozeman, MT USA

 « Return to Thread: Problems with awk/nbawk on m68k