|
From: Christophe R. <cs...@ca...> - 2020-07-30 20:29:28
|
Dear all,
I have released SBCL 2.0.7; sources are available at Sourceforge. The
principal changes are listed below.
Before upgrading, it is perhaps worth knowing that we have strengthened
checks against using destructive operations (particularly list
operations), including in macroexpanders -- where it is undefined
behaviour to perform destructive modification.
We are also trialling a new method of thread initialization, which
should be substantially faster than the others. It causes some failures
in stress-tests, which might be an timing issue in the test itself;
we've disabled this new method in the release, but it will be turned
back on early in the development cycle, and extra eyes or test reports
would be very welcome.
Best wishes,
Christophe
changes in sbcl-2.0.7 relative to sbcl-2.0.6:
* minor incompatible change: SB-THREAD:THREAD-OS-TID returns NIL for
a thread which has exited.
* minor incompatible change: OPEN no longer calls TRUENAME implicitly
on a string filespec prior to issuing an open() system call.
* minor incompatible change: PATHNAME is no longer a STRUCTURE-OBJECT.
* documentation: HASH-FUNCTION is a function designator. (lp#1888028,
reported by Jacek Zlydach)
* bug fix: eliminated a potential garbage-collector deadlock
when linking with TCMalloc.
* bug fix: foreign threads (those not made by SB-THREAD:MAKE-THREAD)
can not crash with a "GC_PENDING, but why?" error when returning
back from Lisp into the foreign caller.
* bug fix: sb-fasteval crashed trying to install a JIT-compiled
DEFSTRUCT accessor in a locked package.
* bug fix: removed misuse of putwc() which caused stdio streams
to drop characters.
* bug fix: the "maximum interrupt nesting depth exceeded" error
generated in the C runtime is significantly less likely to occur.
* bug fix: sb-sprof should no longer segfault from calling pthread_kill()
on a nonexistent thread.
* bug fix: a portability issue arising from various build hosts
(lp#1886255, reported by Pierre Neidhart)
* bug fix: spurious compiler warnings from REDUCE with :INITIAL-VALUE.
(lp#1885515, reported by Michael South)
* bug fix: an inconsistency between class hierarchies and the type system
under some circumstances involving redefinition. (lp#1886397, reported by
Atilla Lendvai)
* bug fix: the USE-VALUE restart for OPEN on non-existent files is more
likely to function as expected. (lp#1886587)
* bug fix: various invalid inputs to ROTATE-BYTE no longer cause compiler
errors. (lp#1887164, lp#1888152)
* optimization: PPC64 on linux uses the __thread annotation on C variables
in preference to pthread_setspecific() and pthread_getspecific().
|