First of all, thanks for the XSB system and your
efforts. Hope this helps. - Paul@Broome.net
The compiler saw a memory violation while compiling one
of the files of the WordNet distribution from the
Princeton CogSci Lab:
ftp://ftp.cogsci.princeton.edu/pub/wordnet/1.7.1/WNprolog-1.7.1.tar.gz.
The file is attached.
The file is 195817 lines and looks like this:
[pb@linuxdell prolog]$ more wn_s.pl
s(100001742,1,'entity',n,1,11).
s(100001742,2,'physical_thing',n,1,0).
s(100002219,1,'thing',n,12,0).
s(100002361,1,'anything',n,1,0).
s(100002471,1,'something',n,1,0).
s(100002579,1,'nothing',n,2,0).
s(100002579,2,'nonentity',n,3,0).
s(100002664,1,'whole',n,2,0).
Other than the size, there's nothing unusual about it.
grep -v tells me they all begin with s(, and end with
). Some lines have embedded single quotes, such as
s(111674981,2,'nor''-nor''-west',n,1,0).
s(112881681,1,'Dhu''l-Qa''dah',n,1,0).
but a file of only the lines with embedded single
quotes compiles ok.
The compiler also took an unusual amount of time to
reach this point but didn't have this problem with
other similar, but larger files.
Here's an event:
[pb@linuxdell prolog]$ xsb
[xsb_configuration loaded]
[sysinitrc loaded]
[packaging loaded]
XSB Version 2.5 (Okocim) of March 11, 2002
[i686-pc-linux-gnu; mode: optimal; engine: slg-wam; gc:
indirection; scheduling: local]
| ?- [s].
[Compiling ./s]
++Memory violation occurred during evaluation.
++Please report this problem using the XSB bug tracking
system accessible from
++ http://sourceforge.net/projects/xsb
++Please supply the steps necessary to reproduce the
bug.
Exiting XSB abnormally...
[pb@linuxdell prolog]$ ls -l s.* wn_s.pl
-rw-rw-r-- 1 pb pb 9 Jan 12 22:34
s.O
lrwxrwxrwx 1 pb pb 7 Jan 9 21:50
s.P -> wn_s.pl
-r--r--r-- 1 pb pb 6896866 Apr 30 2002
wn_s.pl
Logged In: NO
The file, wn_s.pl.gz, is 1.7 mb compressed so it was too big
to attach. - Paul@Broome.net
Logged In: NO
Also, the symlink from s.P to wn_s.pl is not the issue
either as I can duplicate the problem on a file that isn't
linked. It's a size problem because it compiles ok when
split into 196 files of 1000 lines each. But then the file
wn_g.pl, which is larger at 10mb, compiles ok. -
Paul@Broome.net
Logged In: YES
user_id=6694
It seems the segmentation fault has been fixed --- I get an
out-of-memory error message from Linux and Windows. That's
after running for about an hour and using more than half a
gig of RAM (in Linux --- Windows fails early, both with
cygwin and msvc).
Anyway, large database-like files like this are better
handled by XSB with load_dyn/1 (see the manual:
http://xsb.sourceforge.net/manual2/node5.html#1743\).