From dmiles@teknowledge.com Wed Dec 12 23:35:02 2001
Received: from helium.teknowledge.com (promethium.teknowledge.com [128.136.192.50])
	by swi.psy.uva.nl (8.11.6/8.11.2) with ESMTP id fBCMYv506231
	for <prolog@swi.psy.uva.nl>; Wed, 12 Dec 2001 23:35:02 +0100 (MET)
Received: by helium.teknowledge.com with Internet Mail Service (5.5.2653.19)
	id <YVLV2N38>; Wed, 12 Dec 2001 14:26:54 -0800
Message-ID: <EE25484266A64A47AE06CFC47C64232B403C97@helium.teknowledge.com>
From: "Douglas R. Miles" <dmiles@teknowledge.com>
To: prolog@swi.psy.uva.nl
Cc: "'apease@ks.teknowledge.com'" <apease@ks.teknowledge.com>
Date: Wed, 12 Dec 2001 14:25:26 -0800
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: text/plain;
	charset="iso-8859-1"
Subject: [SWIPL] access violation in libpl!PL_atom_generator+0xb82   |   libpl!PL_
	async_hook

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


