10.17.2 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.
libsprt312.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
.