I have found the solution to a common problem that people should know about.
Q: When parsing huge ace-file my xace/tace process seg-faults ?
A: explanation:
When large objects in huge files are parsed the program grows considerably
internally to deal with the datastructures that are involved. Some of those
datastructures are recursive and program recursion uses up stack-space.
The memory that is available to be used up by a programs stackframe isn't
unlimited. For limits of that kind there exists a hard and a soft limit. The
hard limit is machine dependent and usually set by the system adminstrators for
a particular machine when it is installed and configured.
However the soft limit for the stack-space is under user control and because it
is usually lower that the hard limit, it may be useful to increase it before
such large parse attempts.
solution:
The shell commands "limit" and "unlimit" control the soft limit for internal
settings such as stacksize.
Type 'limit' to enquire the current soft limits. You may get output like this:
cputime unlimited
filesize unlimited
datasize 262144 kbytes
stacksize 2048 kbytes
coredumpsize 0 kbytes
memoryuse 247856 kbytes
vmemoryuse 1048576 kbytes
descriptors 4096
For the parsing problem it's "stacksize" you're after, so to selectivly increase
the limit on that value, type "unlimit stacksize".
This command line may be included into the shell-startup file (such as .profile
or .cshrc) so it is available all the time.
If you type "unlimit" without an argument, all settings go to their maximum hard
limit.
------------------------------------------------------------------------
Fred Wobus Phone: +44-(0)7971-085893
Web: http://www.sanger.ac.uk/~fw
---