Subject: [SWIPL] access violation in libpl!PL_atom_generator+0xb82 | libpl!PL_ async_hook

From: "Douglas R. Miles" <[email-masked]>
Date: Wed, 12 Dec 2001 14:25:26 -0800

Hi Jan,

I am having an access violation in (plwin.exe and plcon.exe)

While implementing a memoization (tabling) in SWI (in prolog)

To do so, I am using a call to term_to_atom(Goal,PrototypeAtom)

(Under NT system debugger so i can get a symbol dump).

After runnning a while, I get

NTSD: access violation
eax=0012fe08 ebx=010a9248 ecx=00004de4 edx=01358314 esi=00052403
edi=00004de4
eip=100027d2 esp=0012fdbc ebp=0012fe4c iopl=0         nv up ei pl nz ac po
nc
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000
efl=00010216
libpl!PL_atom_generator+b82:
100027d2 8b471c           mov     eax,[edi+0x1c]
ds:0023:00004e00=????????
0:000> ln
(10001c50)   libpl!PL_atom_generator+0xb82   |  (10003170)
libpl!PL_async_hook

Giving it a second chance to see where it was going next

0:000> g
NTSD: access violation
eax=00004de4 ebx=10031440 ecx=010a814c edx=013e0088 esi=1004eb5c
edi=0000000b
eip=1003156b esp=0012f9b4 ebp=000008d6 iopl=0         nv up ei pl nz na po
nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000
efl=00010206
libpl!PL_erase_external+dfb:
1003156b 8b00             mov     eax,[eax]
ds:0023:00004de4=????????
0:000> ln
(10030770)   libpl!PL_erase_external+0xdfb   |  (100316b0)   libpl!PL_signal
0:000>

I am thinkiing it is due to me making lots and lots of atoms
(libpl!PL_atom_generator+0xb82)

Would this be likely that I am 'filling' the atom table?

Thank you in advance,
 Douglas