MM Topo Error 0001
See also:
2010-10-27
11:53 Email from Nik:
I've got some sample chunks from the OS which are adjacent areas. After
I run the first chunk if I don't move the tiles (.td7) from the tiles
folder I get an abort message from the second chunk (attached). Is this
what you would expect?
00237 str1.c iStr1_addChar iChar204
10280 ust0.c iUst0_read17 iStr1_addChar() failed
12461 ust0.c iUst0_readRest iUst0_read17() failed
12041 ust0.c iUst0_readNext iUst0_readW1WTF() failed
06937 uxtr.c iUxtr_rUstfileFidsDelete iUst0_readNext() failed
04006 uxtrt.c iUxtrt_R rUstfileFidsDelete() failed
01094 uxtrt.c main iUxtrt_R() failed
15:18 Reply from DWH:
No. I wouldn't expect that at all. It's quite safe to leave all the tiles in place.
Looking at the abend file I'd say the problem is occurring when a text element is being read from the design file.
An ASCII value of 204 is not recognised as a printable character.
I've never seen this before. I wonder if the routine that writes the characters out isn't bothered about the values,
but the one that reads it in is checking to make sure they are printable?
It's happening when a tile is being read and matching FID's from the 'del' file are being deleted. If you send me
the two gz's that cause the problem I'll run them one after the other and see what's going on.
15:36 Email from Nik (attachments
http://www.dhp11.com/site04/wiki1downloads/mmtopo_error_0001/70406-SN5804-5i15.gz,
http://www.dhp11.com/site04/wiki1downloads/mmtopo_error_0001/70406-SN6109-5i29.gz,
http://www.dhp11.com/site04/wiki1downloads/mmtopo_error_0001/runBatch.txt):
Attached a couple of gzips, both run fine providing there are no tiles
in the output folder. It doesn't matter which way around you run them,
the first one is ok and the second abends.
Attached the batch (.txt or our virus checker will eat it!) I'm using -
just in case it's me.
16:21 Reply from DWH:
I'm looking at these now.
18:27 Reply from DWH:
Just to let you know I've replicated the error.
I'm guessing it's got something to do with an extended ASCII (i.e. non-ASCII!) character in one of the Welsh place names.
IIRC although I *have* previously translated all OS-MasterMap data for all of England, Scotland and Wales I'll bet I wasn't
using quite as strict (or inflexible) a string handling library.
I'm going to relax the ASCII constraint and see what happens.
Processing the Files
In this directory:
$ cd /mnt/www/site04/wiki1downloads/mmtopo_error_0001
Get the extents:
$ ~/source/bin/uxtrt -testY -gml=gz/70406-SN5804-5i15.gz
uxtrt.c 6327 iUxtrt_Y GML0_EXTENTS_FAKE_RECTANGLE dX1258469.000000 dY1=204000.000000 dX2=263000.000000 dY2=209000.000000
uxtrt.c 1170 Test Y OK
$ ~/source/bin/uxtrt -testY -gml=gz/70406-SN6109-5i29.gz
uxtrt.c 6327 iUxtrt_Y GML0_EXTENTS_FAKE_RECTANGLE dX1261725.000000 dY1=209000.000000 dX2=263000.000000 dY2=210302.000000
uxtrt.c 1170 Test Y OK
Get the files from each extents:
$ ~/source/bin/uxtrt -testZ -x1=258469.000000 -y1=204000.000000 -x2=263000.000000 -y2=209000.000000 > tiles.txt
$ ~/source/bin/uxtrt -testZ -x1=261725.000000 -y1=209000.000000 -x2=263000.000000 -y2=210302.000000 >> tiles.txt
Run the conversion script:
$ ./convert.sh
The last few lines of output (notice we are on Part 2):
uxtrt.c 4019 Part 2
uxtrt.c 4040 Tile tiles/SN5804 is readable, Del del/SN5804.del is readable
uxtrt.c 4040 Tile tiles/SN5805 is readable, Del del/SN5805.del is readable
uxtrt.c 4040 Tile tiles/SN5806 is readable, Del del/SN5806.del is readable
uxtrt.c 4040 Tile tiles/SN5807 is readable, Del del/SN5807.del is readable
uxtrt.c 4040 Tile tiles/SN5808 is readable, Del del/SN5808.del is readable
uxtrt.c 4040 Tile tiles/SN5904 is readable, Del del/SN5904.del is readable
The abend file:
00237 str1.c iStr1_addChar iChar204
10280 ust0.c iUst0_read17 iStr1_addChar() failed
12461 ust0.c iUst0_readRest iUst0_read17() failed
12041 ust0.c iUst0_readNext iUst0_readW1WTF() failed
06937 uxtr.c iUxtr_rUstfileFidsDelete iUst0_readNext() failed
04048 uxtrt.c iUxtrt_R rUstfileFidsDelete() failed
01119 uxtrt.c main iUxtrt_R() failed
Check tile SN5904 for readablility:
$ ~/source/bin/uxtrt -test2 tiles/SN5904
Failed!
Solution
This change to UST0:
030 2010-10-28 10:57 DWH
Changed iStr1_addChar() to iStr1_addCharEx() to allow extended ASCII
characters in Nik's Wales data.