All Manuals > LispWorks Release Notes and Installation Guide > 14 Troubleshooting, Patches and Reporting Bugs


14.1 Troubleshooting

This section describes some of the most common problems that can occur on any platform during installation or configuration.

14.1.1 License key errors

LispWorks looks for a valid license key when it is started up. If a problem occurs at this point, LispWorks exits.

These are the possible problems:

On Linux, x86/x64 Solaris, FreeBSD and AIX, this is also a possible cause of the problem:

On Mac OS X, Linux, x86/x64 Solaris, FreeBSD and AIX, the key is expected to be stored in a keyfile, and an appropriate error message is printed at the terminal for each case. If this message does not help you to resolve the problem, report it to Lisp Support and include the terminal output.

On Windows, the key is expected to be stored in the Windows registry. If you cannot resolve the problem, export your HKEY_LOCAL_MACHINE\SOFTWARE\LispWorks registry tree and include this with your report to Lisp Support.

14.1.2 Failure of the load-on-demand system

Module files are in the modules directory lib/7-0-0-0/load-on-demand under *lispworks-directory*.

If loading files on demand fails to work correctly, check that the modules directory is present. If it is not, perhaps your LispWorks installation is corrupted.

Do not remove any files from the modules directory unless you are really certain they will never be required.

The supplied image contains a trigger which causes *lispworks-directory* to be set on startup and hence you should not need to change its value. Subsequently saved images do not have this trigger.

14.1.3 Build phase (delivery-time) errors

A common cause of errors seen while building (delivering) an application is running part of the application's runtime initialization, or something else that assumes the application is already running.

One error sometimes seen is "Not yet multiprocessing." and other likely build phase errors include those arising from code that assumes something about the runtime environment.

Such initializations should be done at the start of the runtime phase, as described in Separate runtime initializations from the build phase.

14.1.4 Memory requirements

To run the full LispWorks system, with its GUI, you will need around 30MB of swap space for the image and whatever else is necessary to accommodate your application.

We recommend that you routinely check the size of your image using cl:room, whether you see warning messages or not.

When running a large image, you may occasionally see

<**> Failed to enlarge memory

printed to the standard output.

The message means that the LispWorks image is close to the limit: it attempted to expand one of the GC generations, but there was not enough swap space to accommodate the resulting growth in image size. When this happens, the garbage collector is invoked. It will usually manage to free the required space, but if it cannot then crashes may result. Therefore you should take action to reduce allocation or increase available memory when you see this message.

Check the size of the image, both by cl:room and by OS facilities (such as ps or top on *nix, Task Manager on Windows) to see if all the sizes are as expected. If there are large discrepancies, check them.

Occasionally, however, continued demand for additional memory will end up exhausting resources. You will then see the message above repeatedly, and there will be little or no other activity apparent in the image. At this point you should restart the image, or increase swap space. In cases where external libraries are mapped above LispWorks and inhibit its growth, you may be able to relocate LispWorks, as described under "Startup relocation" in the LispWorks User Guide and Reference Manual .

14.1.5 Corrupted LispWorks executable

Programs which attempt to clean up your machine by automatically removing data they identify as unnecessary may accidentally corrupt your LispWorks executable, because they do not understand its format. This will prevent LispWorks from starting.

Examples are the prelink cron job on Linux and CleanMyMac on Macintosh. These particular programs should no longer affect LispWorks, but there may be similar utilities in use.

If corruption occurs check if it has been caused by a clean-up utility. If this is the case, firstly configure your clean-up utility to ignore LispWorks, and then reinstall LispWorks.

LispWorks Release Notes and Installation Guide - 2 Mar 2015