Opened 12 years ago

Closed 12 years ago

#616 closed defect (fixed)

delete-package thread (non) safety

Reported by: rme Owned by:
Priority: normal Milestone:
Component: other Version: trunk
Keywords: Cc:


(dotimes (i 1000)
  (if (evenp i)
      (lambda ()
        (ignore-errors (delete-package :foo))
        (make-package :foo)))
      (lambda ()
        (ignore-errors (intern "FOO" :foo))))))

Running this a time or two in an x8632 lisp results in errors of the form:

> Error: Fault during read of memory address #x-34F3EA94
> While executing: DELETE-PACKAGE, in process creator(1458).

It appears that delete-package reads/modifies %all-packages% without using the associated locks.

Change History (2)

comment:1 Changed 12 years ago by rme

(In [13100]) Use package-list locks in DELETE-PACKAGE. (See ticket:616)

comment:2 Changed 12 years ago by rme

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.