users-prolog
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Atom table full


From: JCK
Subject: Atom table full
Date: Wed, 16 Apr 2008 07:49:44 -0400

Hi all,

I'm getting an "Atom table full" error. Admittedly, I do not know much about the atom table, I didn't even know there was one until I found out mine was full. I read a post in the archives concerning this which stated that: it was planned in the future to have an atom table without limitations (which I don't think has been done since I'm getting this message); and the only way to change the limit was to modify the code and recompile.

The thing is I'm quite sure I don't need that many atoms, the portion of my code that seems to be the culprit is a loop which reads in data (from mysql), processes the data and writes data back (to mysql). I was running into problems with stack size, so instead of looping recursively, I used a 'repeat' which seemed to have improved my stack issues but then I got "Atom Table Full'. I think it's just looping so many times that any number of atoms that get created and not destroyed will eventually fill the table. I even exit the 'repeat' loop every X number of loops (in hopes of cleaning thing up), and then re-enter the 'repeat' loop.

I have no need for backtracking during this portion of the code and have no need for the data after a loop is completed (it's in mysql). So I guess my question is:

(1) is there anyway of clearing the atoms that won't be used again from table? (2) there's nowhere in the loop where a huge number of atoms are created. The only place I can think of there being atoms created is after SQL calls when I'm converting and putting the data into prolog variables. Is there anyone else who's had this problem found a culprit which is known for creating lots of atoms?
(3) Any suggestions are welcome.

Thanks in advance,
JK




reply via email to

[Prev in Thread] Current Thread [Next in Thread]