unlimit stacksize solves parsing problem

Fred Wobus fw at sanger.ac.uk
Wed Sep 22 09:26:22 EST 1999


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



---




More information about the Acedb mailing list