And I was afraid my test wasn't actually testing anything rigorously enough.

I'm going to have to disable those tests for ppc until I get set up with a test environment.
As things stand, globaldb is never written concurrently because until my changes, it would not have been possible.
Things are working because the compiler grabs **world-lock** I guess.
Also I'm comforted by the fact that the 'info-vector-classoid-cell' test isn't crashing for you. 


On Thu, Mar 27, 2014 at 5:04 AM, Stas Boukarev <stassats@gmail.com> wrote:
:lockfree-hash-concurrent-twiddling and
:lockfree-hash-concurrent-consing crash hard.

A reduced test case:

(defun test (&key (table (sb-c::make-info-hashtable))
                  (threads 2) (iterations 1000))
  (mapc #'sb-thread:join-thread
        (loop repeat threads
              collect
              (sb-thread:make-thread
               (lambda ()
                 (loop for i from 1 to iterations
                       do
                       (sb-c::info-puthash
                        table i
                        (constantly nil))))))))

(test)

=>
Segmentation fault.
--
With best regards, Stas.