Bugs Fixed
- Compiler bug affecting very large clauses if
profiledcode
.
- Calling
restore/1
when library(clpfd)
had been loaded
would sometimes crash SICStus with a memory access error.
library(comclient)
did not dispose of all references to COM
objects. comclient_garbage_collect/0
did not work correctly
(but should not be needed if you use comclient_release/1
).
SP_garbage_collect_external_objects()
would reclaim live
objects. This affected comclient_garbage_collect/0
.
- The Java flag
-Dsicstus.path
should no longer be needed when
using Jasper, except in exceptional circumstances. SICStus will use the
location of the SICStus run-time library, e.g.
libsprt311.so
to set this up automatically.
SP_initialize()
will now return an error code if memory could not
be allocated. It used to terminate the process. Among other things this
ensures that creating a se.sics.jasper.SICStus
object will throw
an exception instead of terminating Java if there is insufficient
memory.
library(timeout)
is now more precise, in particular when calls to
time_out/3
are nested. The resolution has not been improved, it
is still on the order of a few tens of milliseconds.
library(timeout)
under Windows could sometimes deadlock or otherwise
behave erratically.
format/[2,3]
reported errors inconsistently.
undo/1
: missing meta-predicate declaration.
library(clpfd)
: constraints without arguments handled
incorrectly; inconsistent overflow handling; heap overflow detection;
bugs in element(X,L,Y)
with non-ground L
;
bugs in disjoint2/2
with margin/4
option.
library(chr)
: spurious error messages could occur when
loading CHR files from all-in-one executables.
library(objects)
:
Dangling pointer problems with instances if the class
was asserted to after the instance had been created.
library(jasper)
:
Memory leak when calling a Java method.
Segmentation fault on Solaris when passing arguments declared as +term
.
library(gauge)
: The help button did not work under Windows if
SICStus was installed in the default location or other folder with a
space in the path.
- Foreign resources generated with
splfr --exclusive-access
could
not be loaded more than once into the same process. The only SICStus
library affected is library(system)
.
- Problems with loading and unloading foreign resources if the name was
not unique or if file path facts had changed.
unload_foreign_resource/1
now takes the name of a
foreign resource. For backward compatibility it still accepts a file
name treated as for load_foreign_resource/1
. See Foreign Resources. unload_foreign_resource/1
is still a meta-predicate but
the module is ignored.
- SPARC native code issues: flushing the instruction cache, redefining
imported predicates.
- The
spdet
and spxref
tools now work also when installed
as part of a pre-built binary installation.
- The debugger command
t
(backtrace n) showed too much.
SP_read_from_string()
would leak memory.
- SICStus runtimes will work correctly for executables located at the root
of a drive, e.g. as
D:\foo.exe
.