Ann: SWI-Prolog 7.1.14

42 views
Skip to first unread message

Jan Wielemaker

unread,
May 7, 2014, 5:09:30 AM5/7/14
to swi-p...@googlegroups.com
Hi,

I have uploaded SWI-Prolog 7.1.14. Most of the changes fix possible
crashes, notable in the semweb (RDF) library. Thanks to Wouter Beek for
trying to download all data from the `Linked Open Data cloud' and
processing them in threads using RDF transactions ... Other stuff:

- Two patches for the Dict.key syntax (unbound key, Dict is a list)
- Serious bug in variant_sha1/2, returning same hash for all
`indirect' datatypes (float, big int, string).
- Fixed portability to 32-bit platforms that have no support for
64-bit atomic operations (e.g., (some?) ARM).

Enjoy --- Jan

P.s. Note that the GIT sources are on github. See
http://www.swi-prolog.org/news/3dc83b48-d138-11e3-9f22-00144fee017c

=========================================
SWI-Prolog Changelog since version 7.1.13
=========================================

* DOC: Updated example

* DOC: Updated open/4 (Wouter Beek).

* DEVEL: Fix --enable-dmalloc option to compile with malloc debugging

* FIXED: dict.put(Var,Value) now raises an instantiation_error (ran
out of local stack).

* ENHANCED: Base stack traces in Linux on backtrace(), dladdr() and
addr2line(1). This produces stack traces at the line level and
removes the need for libunwind on Linux.

* FIXED: link local variable if it appears as Var:G or G@Var.
Without, uninitialised memory may be used for Var, causing a crash.
Guenter Kniesel.

* FIXED: variant_sha1/2 gave same hash for all _indirect types_ (big
integers, floats and strings). Jacco van Ossenbruggen.

* FIXED: Prepare to update git submodules

* FIXED: Slock(): wrong place to increment stream->references

* FIXED: reference locked streams to avoid them being GC'ed

* FIXED: Rereference stream `filters' to avoid them being GC'ed

* FIXED: peek_string/3: clear EOF if file is shorter than peeked string.

* GIT: Avoid directory names in git submodules to facilitate github

* FIXED: Reading one byte after static array (innocent).

* FIXED: trimming the stacks in GC. Reported by Johan Romme.
Keri Harris discovered that we need to include ARGP in `body mode'.

* FIXED: possible signed overflow when creating stand-alone resource
archives. Very unlikely to occur in practice

* REVERTED: Packages pengines to March 1 version. Current version
is available in the branch 'testing'. It exhibits timing issues,
notably on slow hardware such as the Pi.

* FIXED: . notation on lists, added test cases. Raivo Laanemets.

* PORT: Avoid dependency on 8-byte atomic operations on 32-bit
platforms. Allows compiling on ARMv6 (e.g., the Raspberry Pi)



===============
Package archive
===============

* FIXED: Release archive stream when closing archive

* FIXED: Avoid access to archive after closing

* FIXED: archive_next_header/2: Raise a permission error if the
previously opened entry has not been closed.

============
Package clib
============

* DOC: Typo in example. Reported by Raivo Laanemets as comment.

============
Package http
============

* FIXED: atom_json_dict/3: make as(Type) optional (defaults to =atom=).

================
Package pengines
================

* REVERTED: Reverted pengines to March 1 version, which is the last
version that passes the tests on all hardware (notably slow hardware
such as the Pi exhibits timing issues).

==============
Package semweb
==============

* PORT: 32-bit version of modified deallocation of triples.

* FIXED: Delay unregistering atoms and literals from triples until the
triple is really deleted. Without, we may still process the triple
after it has been deleted.

* FIXED: Added enter/exit scan to update_duplicates() to avoid that
duplicate detection crashes on freed triples.

* ADDED: rdf_statistics/1: lingering(-Triples), showing #triples freed
but not yet released for re-use

* ENHANCED: Limit considered size for O and PO indexes to the number
of triples (because we do not have resource GC, this may be higher).

* FIXED: Stop transactions from garbage collecting reindexed triples.

* FIXED: Only the tail of a ->reinidexed chain can be considered garbage.

* FIXED: Triple copying while extending the hash tables during a
transaction causes modifications to survive if the transaction is
discarded. Wouter Beek.

* FIXED: Make erase_triple() thread-safe. This is called concurrently
when asserted triples are erased for discarding a transaction.

* ENHANCED: Better message if the Turtle empty prefix is not defined.

* ENHANCED: Try to read more triples from invalid Turtle.

* ADDED: Provide default definitions for foaf and void prefixes

* FIXED: library(semweb/rdf_library) to find input that has a .gz
(or other registered _storage extension_). Chris Dijkshoorn, Jacco
van Ossenbruggen.

* ADDED: register library(semweb/rdfa) as hook for rdf_load/2, format
rdfa and .html files.

* FIXED: MD5 computation of qualified literals may crash.

============
Package sgml
============

* MODIFIED: sgml_parse/2: unknown options are now silently ignored.

===========
Package ssl
===========

* FIXED: Avoid reading past end-of-string for time conversion.

* FIXED: Convert subject/issuer fields to UTF-8, so the appear as proper
Unicode names in Prolog.


============
Package xpce
============

* FIXED: X11: possible curruption of window administration.

* FIXED: Wrong detection of changed device. Performs read access to
xpce Int array one past end of local array (this is innocent).
Reply all
Reply to author
Forward
0 new messages