If you can provide me with enough information to reproduce it I'll investigate. The more you can cut down the examples the better.
The InternalError exception is an assertion that "should not happen". I guess it's possible that this could occur in some dead code after an exception but it's definitely an error of some sort.
The assertion fault in MTGCProcessMarkPointers::ForkNew means that a count of the active threads has somehow gone wrong. I've had a look at the code and discovered one case where the count could be decremented without the lock ebing held. I've committed a fix to both SVN trunk and polyml-fixes.5.5. It's perfectly possible, though, that the crash you're getting has nothing to do with that.
Regards, David
On 07/06/2013 02:27, Michael Norrish wrote:
Using PolyML 5.5.0 as downloaded from Sourceforge, we can reliably produce:
Exception- InternalError: indirect - invalid constant address raised while compiling
Exception- InternalError: indirect - invalid constant address raised while compiling
We can also regularly, but somewhat less reliably, produce
hol.builder: gc_mark_phase.cpp:199: bool MTGCProcessMarkPointers::ForkNew(PolyObject*): Assertion `marker != 0' failed. Aborted (core dumped)
where hol.builder is the name of our dumped heap.
Are there any obvious things we can try to get around these problems?
Thanks, Michael
_______________________________________________ polyml mailing list polyml at inf.ed.ac.uk http://lists.inf.ed.ac.uk/mailman/listinfo/polyml