From: Gabor M. <me...@us...> - 2009-02-16 22:26:31
|
Update of /cvsroot/sbcl/sbcl In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv15361 Modified Files: NEWS version.lisp-expr Log Message: 1.0.25.51: use WITH-RECURSIVE-SYSTEM-SPINLOCK ... instead of WITH-RECURSIVE-SPINLOCK because it's possible to deadlock due to lock ordering with sufficiently unlucky interrupts as demonstrated by test (:timer :parallel-unschedule) with low probability. This affects hash tables and some pcl locks. Also, use WITH-RECURSIVE-MUTEX for packages. Not a spinlock becuase it can be held for a long time and not a system lock (i.e. with WITHOUT-INTERRUPTS) because conflicts are signalled while holding the lock which I think this warrants a FIXME. Index: NEWS =================================================================== RCS file: /cvsroot/sbcl/sbcl/NEWS,v retrieving revision 1.1478 retrieving revision 1.1479 diff -u -d -r1.1478 -r1.1479 --- NEWS 16 Feb 2009 22:19:27 -0000 1.1478 +++ NEWS 16 Feb 2009 22:26:25 -0000 1.1479 @@ -16,6 +16,8 @@ memory, stack, alien stack, binding stack, encountering a memory fault, etc. In the absence of --lose-on-corruption a warning is printed to stderr. + * enhancement: detect binding stack exhaustion + * enhancement: detect alien stack exhaustion on x86/x86-64 * improvement: generally more stable and reliable interrupt handling * improvement: there is a per thread interruption queue, interruptions are executed in order of arrival @@ -37,6 +39,8 @@ * bug fix: fix deadlocks related to starting threads * bug fix: fix deadlines on locks on futex platforms * bug fix: restore errno in signal handlers + * bug fix: fix deadlocks related to hash tables + * bug fix: fix deadlocks in pcl changes in sbcl-1.0.25 relative to 1.0.24: * incompatible change: SB-INTROSPECT:FUNCTION-ARGLIST is deprecated, to be Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.4336 retrieving revision 1.4337 diff -u -d -r1.4336 -r1.4337 --- version.lisp-expr 16 Feb 2009 22:23:08 -0000 1.4336 +++ version.lisp-expr 16 Feb 2009 22:26:25 -0000 1.4337 @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.25.50" +"1.0.25.51" |