Menu

Src (SVN)-old Commit Log


Commit Date  
[r8970] by tswift

Yet another bug in traverse_variant_answer_trie - those pesky hash
tables again. In this case the traversal was not properly pushing
information pertaining to hash tables onto the stack when the
traversal occurred via encountering a hash node during traversal
of the unseen nodes of the trie. Another case, where information was
pushed onto the stack when initialziing information from a segment of
choice points was in fact working properly (a prior bug).

This fix solves a CMU-SEI problem, but I need to look at it with fresh
eyes to see if its general or not.

2017-01-22 22:56:08 Tree
[r8969] by tswift

Adding tests from CMU SEI, mostly to do with the view consistency portion of incremental tabling.

2017-01-20 20:52:02 Tree
[r8968] by tswift

Fix for a bug in the view consistency portion of incremental tabling.
The problem was in ensuring that the list collected onto the heap was
properly preserved. The problem is that you need to create the list
on the heap, but you're doing it via a meta-operation on a choice
point that isn't at the top of the choice point stack. Originally, I
thought that setting hfreg worked for this, but a prior test broke it
during GC. (I didn't look into why.) My prior fix was simply to
comment out the line of code, as I had forgotten exactly why I'd set
hreg to hfreg. This fixed the immediate bug, but wasn't entirely
correct as its possible that if the CP changed had other choice points
on top of it, the hreg would be improperly set when those other choice
points were backtracked into. This problem could have manifested
itself in a number of ways, but heap gc caught it this time, as the
offset of the hreg for the view conssitency choice point lay outside
the heap array used when GC marks from the CP stack.

So, my fix was to run from breg to the coalesced choicepoint, setting
all of the cp_hregs to the new hreg. This is ok, as we know that the
new hreg is larger than the previous, since we just put stuff onto the
heap.

2017-01-20 20:49:21 Tree
[r8967] by dwarren

fixed bug in when check for interned_struct was done. findall changes
the structure of a Prolog term during copying to heap to preserve
sharing, so a structure subterm that was previously copied has a heap
pointer in place of the psc pointer as the first word. Testing for
interned structures didn't handle this. The fix is to move the intern
test to after the already-copied test. (I have no real idea why this
didn't trip us up before.)

2017-01-19 18:07:45 Tree
[r8966] by tswift

Fixed an invalid read in remove_incomplete_tries

2017-01-16 22:25:00 Tree
[r8965] by tswift

Just adding a little documentation.

2017-01-16 18:42:50 Tree
[r8964] by tswift

Avoiding spurious noise in the testsuite.

2017-01-16 18:40:23 Tree
[r8963] by dwarren

Added lock extension, for locking when compiling XSB files.

2017-01-16 17:35:44 Tree
[r8962] by tswift

Small documentation changes.

2017-01-16 16:25:10 Tree
[r8961] by dwarren

1. Added creation of a lockfile when compiling to avoid multiple
processes trying to compile a .P file at the same time. This is not
guaranteed to avoid all kinds of collisions, just simple ones I've encountered
when starting multiple processes at the same time, when they use the same
files that need re-compiling.
2. Added code to catch compiler errors and close the object file. On windows
this lack had sometimes kept corrupted .xwam files from being deleted, and
resulted in confusing results, fixable only by explicitly deleting the .xwam
file. This may only be a windows issue.
3. In looking at compiler errors, I noticed that in the move from written
messages to thrown errors, we lost some possibly useful information in the
resulting error messages, so I added it back in. (And did a couple of
other small improvements in the area of compiler errors.)

2017-01-14 18:41:39 Tree
Older >
MongoDB Logo MongoDB