Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 82a8be034ef45778a36e24db776f17cb > files > 8

polyml-doc-5.4.1-1.fc14.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
<title>Using Poly/ML - RTS Error and Warning Messages</title>
</head>

<body>

<h1><font SIZE="6">Poly/ML RTS Warning and Error Messages</font></h1>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>&lt;dbase&gt;: Write permission denied.<br>
&lt;dbase&gt;: Opened for reading only.</b></font></p>

<p><font SIZE="3">This warning means that </font><b><font FACE="Courier" SIZE="3">&lt;dbase&gt;</font></b><font SIZE="3"> could not be opened for writing by Poly/ML, and so </font><b><font FACE="Courier" SIZE="3">PolyML.commit</font></b><font SIZE="3"> is disabled for this
session.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>Error - Database is not opened for writing.</b></font></p>

<p><font SIZE="3">This warning is issued by </font><b><font FACE="Courier" SIZE="3">PolyML.commit</font></b><font SIZE="3"> if the database is not writable. This is caused either by using the </font><b><font FACE="Courier" SIZE="3">-r</font></b><font SIZE="3"> command line flag, or if the database
could not be opened for writing.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>&lt;dbase&gt;: Database name is not a full path name.<br>
&lt;dbase&gt;: Child databases cannot be created.</b></font></p>

<p><font SIZE="3">These warning messages are issued when the database name specified on
the command line is not a full path name. Child databases can only be created in a Poly/ML
session that uses a full path name to locate the database. This is so that the child
database can use the same full path name to locate its parent database in future Poly/ML
sessions.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>Warning - Increasing stack from ... to ... bytes</b></font></p>

<p><font SIZE="3">This warning is produced when the default stack limit of 256Kb is
exceeded and Poly/ML needs to increase the size of the stack. This may occur using very
deeply recursive ML functions, but it may be because the functions are accidentally
infinitely recursive. Since the stack is stored within the heap it cannot grow larger than
the heap limit.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>Run out of store - interrupting console processes</b></font></p>

<p><font SIZE="3">When Poly/ML detects that the heap can no longer be expanded to keep all
the current objects and a certain amount of free buffer space, then it attempts to stop
the ML processes by raising the exception </font><font FACE="Courier" SIZE="3"><b>Interrupt</b></font><font SIZE="3">. This will typically stop the current function and return to the Poly/ML prompt.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>If discgarb crashes the database will be left in an
unusable state. ^C disabled until discgarb has finished.</b></font></p>

<p><font SIZE="3">This warning is always produced when running </font><font FACE="Courier" SIZE="3"><b>discgarb</b></font><font SIZE="3">. It serves as a reminder that discgarb
cannot be interrupted. If discgarb crashes, perhaps because the disk is full, then the
database will be corrupted and cannot be used.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>Unable to open &lt;dbase&gt;<br>
Unable to create &lt;dbase&gt;</b></font></p>

<p><font SIZE="3">These error messages mean that either the database could not be found or
that insufficient file permissions exist.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>Stack size too big - reduce your limit</b></font></p>

<p><font SIZE="3">This error message may be produced by Poly/ML when initialising. It
needs to allocate address spaces for the heap and all the databases. If the stack address
space overlaps any of these it produces this message and Poly/ML will not run. To get
Poly/ML to run the stack limit specified by the csh command '</font><font FACE="Courier" SIZE="3"><b>limit</b></font><font SIZE="3">' must be reduced to allow more room for
database address spaces. Typically a stack limit of 10000 is sufficient.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>Incompatible CPU type in &lt;dbase&gt;</b></font></p>

<p><font SIZE="3">This error message means that the database CPU type does not match the
CPU running the Poly/ML. Since the database contains compiled machine code, it is
essential to run the Poly/ML session on the correct type of CPU for the database.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>&lt;dbase&gt; is too short to be a mapped database<br>
&lt;dbase&gt; is not a mapped database</b></font></p>

<p><font SIZE="3">This error message, means that the file specified to Poly/ML as a
database does not have the correct database format. Poly/ML databases contain a 'magic'
number for use as a format check.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>Invalid heap-size value<br>
Invalid immutables-buffer value<br>
Invalid mutables-buffer value<br>
Invalid immutables-percent value<br>
Invalid mutables-percent value<br>
Immutable buffer too large<br>
Mutable buffer too large</b></font></p>

<p><font SIZE="3">The error messages above are issued when the heap size parameters on the
command line<b> </b>are either inconsistent or exceed the limits set down in chapter 9.</font></p>

<p>&nbsp;</p>

<p><font SIZE="3">Any one of<br>
</font><font FACE="Courier" SIZE="3"><b>Cannot map to address &lt;addr&gt;<br>
mmap failed<br>
mprotect failed</b></font></p>

<p><font SIZE="3">followed by</font><br>
<font face="Courier"><b>ENOMEM: Not enough memory</b></font></p>

<p><font SIZE="3">This error message means the virtual memory resources of the machine are
exhausted. It is usually caused by trying to run too many concurrent Poly/ML sessions on
one machine. Using smaller heap sizes, and not using profiling may get round this problem.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>No more room for pages</b></font></p>

<p><font SIZE="3">This error message means that the database address space is full and
commit cannot find room for any more data. The database will be left unchanged. See
section 8.3 for information on the size of database address spaces.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>Not enough address spaces</b></font></p>

<p><font SIZE="3">This error message is produced when all available database address
spaces have been used. It is then no longer possible to create any more child database.
See section 8.3 for information on the number of levels of child databases.</font></p>

<p>&nbsp;</p>

<p><font FACE="Courier" SIZE="3"><b>ftruncate failed<br>
fsync failed on &lt;dbase&gt;<br>
close failed on &lt;dbase&gt;</b></font></p>

<p><font SIZE="3">These error messages means that there was a problem writing data out to
the database during a commit, and it may mean that the database is no longer usable. It is
usually caused by the filesystem containing the database being full.</font></p>

<p><font size="2"><b>Copyright (c) 2000 CUTS and contributers.&nbsp;</b></font></p>
</body>
</html>