Prev Up Top Next Contents

6.A Error messages

therion and the external programs it uses can detect several errors in the input data, and generate useful error messages. These messages are usually clear enough to point the user to the cause of the error.
This appendix lists some of the error messages, and describes what they mean, and how to fix the error. The messages are listed alphabetically. Unfortunately the error messages are in english only. To localize the error reporting, it would not be enough to do it for therion (and xtherion), but one should have it also for cavern, mpost, pdfetex and tex.

The project compiles but xtherion shows "ERROR" If the compilation seems successful, but xtherion shows an "ERROR" it can be due to a missing helper program. I experienced this behaviour when using therion without having survex (cavern) installed.

Error: area borders X and Y don't intersect in scrap Z
This is a MetaPost error message, that is not intercepted by xtherion (which shows an "OK" result). You should open the file containing the named scrap and find the lines that produced the error (use the "Search" control of the map editor). Probably the two lines are consecutive lines in the area contour, but do not intersect, as pointed out by MetaPost. You must correct one of the lines (or both).

Warning: scrap outline intersect itself in scrap Z
This is a MetaPost error. It is displayed by xtherion in the output frame, but it shows an "OK" result nevertheless. You must open the file with that scrap and fix the outline. If your scraps are spread on several files, it might be hard to find where it is. xtherion cannot help you, because it has no information about which source file produced the problem. You can use a text search tool (eg, grep) to locate the file with that scrap.
A situation in which the scrap outline intersects itself occurs when a "wall" line has a kink due to long handles of line-points, as in the figure below.


Kink in the outline
Fig. 84. Kink in the outline
Sometimes a "scrap outline intersect itself" may be induced by the scrap "join". When therion must join scraps it deform the joining lines of the two scraps to smooth them together. A slight misplacement of a station in a scrap may induce a curling in the end of a line that give rise to this error.
If you compile the project with the debug option ("-d" on the therion command line), the postscript file of the wrong scrap is "$(thTMPDIR)/data.XX". Here "XX" is the number in square brackets that follows the error message in the output of MetaPost. You can view the scrap, with a postscript viewer or converting it to PDF and with the pdf viewer. You might need to edit the file and add a "200 200 translate" line at the beginning.
In this way you can see the scrap outline, processed by Metapost, and spot the place of the error.

Path X and Y don't intersect
TODO

The angle between two identical points is undefined
TODO

can not connect 1@subsurvey.survey to centerline network
It may denote an error in a "point" command of type "station": the given station name is not present in the centerline data. Another possibility is that the centerline is not connected, ie, an "equate" command is missing.

duplicate object name -- scrap1
This can happen when scraps are spread on sevral source files and you forget to assign their names. xtherion names the scraps following a default pattern, "scrap1" and so on. Therefore, if you do not name the scraps, two of them can get the same default name. To fix this problem, it is enough to rename the scraps.

incompatible scrap projection
This error occurs when a map contains a scrap or a map with a different projection type. Check the projection attributes ("-proj") and fix them.

invalid length reading This means that the command is inside a "centerline" block. You probably missed the "endcentreline" command that closes the block.

invalid line type - subtype combination This message denotes a "line" command with and invalid "-subtype" option. The name of the line is displayed and when you click on it xtherion takes you to the map editor with the incorrect line selected.

invalid name format
This message is followed by the invalid name. It can be that there are more than one space in the name, when only one is allowed, as in the names of people. For example, "M. Budaj (SCC)". To fix it replace a space with a slash '/': "M. Budaj/(SCC)".

invalid station reference
The name of a "station" point is incorrect. This message is followed by the wrong station name. xtherion switches automatically to the map editor and highlights the point (it is selected), so that you can correct the mistake.

MetaPost capacity exceeded, sorry [main memory size=3000001].
You must split the scrap in smaller scraps because you got to the limits of memory of the MetaPost program. See also the comment about TeX memory.

Fatal mem file error: I'm stymied.
This means the file mpost.mem can't be found or hasn't been updated since the last binary update, or the wrong one was found on a system that has more than one.
For the first, try kpsewhich mpost.mem to see if the file exists (and perhaps note where it is located). Recent versions of kpathsea require kpsewhich --engine=metapost mpost.mem.
For the second, run fmtutil --byfmt mpost, or possibly fmtutil-sys.
There are so many ways for the last to happen it is hard to say what to do, but at least try to find out if the mpost executable file is in the same general tree as mpost.mem. In my case, the mpost binary is in TeXLive/2008/bin/win32/ and the mem file is in TeXLive/2008/texmf-var/web2c/metapost/ since mpost looks in descendents of its grandparent directory for mem files, this is the normal pattern. However, values of the variable MPMEMS can change this [D. Luecking, 2009].

missing scrap before line command
Graphical elements have been inserted outside a scrap. Open the map file ".th2" in the map editor and check the list of elements in the "Objects" control.

missing survey before equate command
The "equate" command must appear inside a survey. The surveys must be hierarchically ordered, and the survey with the "equate" command must see (ie, contain) the stations this command refers to. These can be immediate stations of the survey, or belong to one of its subsurveys.
For example:
   survey X
     survey A
       1 ...
     endsurvey A

     survey B
       2 ...
     endsurvey B

     equate 1@A 2@B
   endsurvey X
Another example:
   survey X
     survey A
       1 ...
     endsurvey A
     
     2 ...

     equate 2 1@A
   endsurvey X

no reference station found in scrap
This message is followed by the name of the scrap. It states that the named scrap has no "station" point that refers to the survey data. Therefore, it cannot be placed on the map. Fix the scrap and insert points of type "station" or add the suitable "-name" options to those you already put in the scrap.

not enough layout option arguments
This message is followed by the name of the layout option that has too few arguments. Fix the configuration file adding the missing arguments to the option.

object does not exist
This error is likely due to a mistypo. It is followed by the name of the inexistent object, so it should be easy to find the mistake. You may have mispelled a name, or you might not have included ("input" command) the file with that object.
It can also happen when an object is not referred with the fully qualified name, and therion cannot find it. For example if you refer, in the outer source file, to a line of a subsurvey, without qualifying it with the survey name (ie, like line@survey). In this case it may be puzzling at first because the name seems properly spelled, ..., until you realize that you need to fully qualified name.

projection mishmash
The projections of the elements of a map do not match: they must all have the same projection.

strange path in ...
This message may denote the presence of a line with only two coincident points.

survey does not exist
The name (id) that you used is not that of a survey.

unknown option -- input test-layout.th
In the configuration file the input command has been used inside a layout block.

6.A.1 PdfTeX errors

PdfTeX errors are usually caused by incorrect data.

TeX capacity exceeded, sorry [main memory size=1000000].
This means that you have 1 MB of data in one scrap -- each scrap is processed separetely by pdftex. Often there it is due to an error in the scrap data.
If your scrap is really big you may also increase the memory pdftex is using in the file texmf.cnf by redefining the variable main_memory. This file is usually in a subdirectory of /etc, and can have a slightly different name. Use the command kpsewhich texmf.cnf to locate it on your system. On my system, it is /etc/texmf/texmf.d/00texmf.cnf. After changing it you must run, as root, the command texmf-update (or update-texmf, the name depends from the distribution), and fmtutil --all.
You can also increase the extra_mem_top or the extra_mem_bot. Or even increase these parameters for a specific program, for example, for MetaPost, extra_mem_top.mpost 2000000.
Therion automatically creates a scrap containing centreline if no map is selected in the thconfig file. This scrap can easily exceed 1 MB in size in large caves (e.g. 4.5 MB for Dead Bats Cave). You may avoid its creation by selecting any of defined map objects in 'export map' command [m. budaj 2006.12.28].

Dimension too large This error may be due to an incorrect value in the corners coordinates of an imported bitmap. An extra digit in a cartografic coordinate increases the size of the map by ten.

therion users - Mon Jun 7 10:11:18 2010
Prev Up Top Next Contents

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.