Custom Query (1030 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (478 - 480 of 1030)

Ticket Resolution Summary Owner Reporter
#383 fixed (setf (char (make-string 1) -1) #\1) "crashes" the CCL process Gary Byers Johan Lindberg
Description

(setf (char (make-string 1) -1) #\1) "crashes" the CCL process.

It's the -1 that's causing the trouble. And I know that it's not valid code since the ANSI standard clearly states that the index must not be negative. But I expected to be thrown out into the debugger, not to have the CCL process just die.

I run Mac OS X 10.5.5 and have installed Clozure CL 1.2-rc1-intel.dmg from May 9 2008.

#882 fixed [patch] (restart-case (warn ... )) R. Matthew Emerson James M. Lawrence
Description
(handler-bind ((warning (lambda (w)
                          (declare (ignore w))
                          (invoke-restart 'eleven))))
  (restart-case (warn "foo")
    (eleven () 11)))

=>

value #<SIMPLE-CONDITION #x302000E8041D> is not of the expected type WARNING.
   [Condition of type TYPE-ERROR]

A simple-error is created by error, but a simple-warning is not created by warning :)

--- ccl/lib/macros.lisp	(revision 15001)
+++ ccl/lib/macros.lisp	(working copy)
@@ -409,7 +409,7 @@
           ((signal error warn)
            (destructuring-bind
              (cond &rest args) expansion
-             (setq condform `(condition-arg ,cond (list ,@args) ,(if (eq head 'warning)
+             (setq condform `(condition-arg ,cond (list ,@args) ,(if (eq head 'warn)
                                                                    ''simple-warning
                                                                    (if (eq head 'error)
                                                                      ''simple-error

#1030 fixed Failure with conditional-store Gary Byers James M. Lawrence
Description

(This is assuming ccl::conditional-store should work as a typical compare-and-swap, even though it's not exported.)

The RUN function below causes an assertion failure within 2000 iterations on my Linux-x86 machine. An svref place has the same issue. I did not see a problem on Darwin.

Removing the assertion (but keeping the conditional-store) results in a hang. Replacing that conditional-store (the second one) with setf also produces a hang.

(defstruct stack
  (head nil)
  (lock nil))

(defun call-with-spin-lock (stack fn)
  (loop :until (ccl::conditional-store
                (stack-lock stack) nil t))
  (unwind-protect
       (funcall fn)
    (assert (ccl::conditional-store
             (stack-lock stack) t nil))))

(defmacro with-spin-lock ((stack) &body body)
  `(call-with-spin-lock ,stack (lambda () ,@body)))

(defun push-stack (value stack)
  (with-spin-lock (stack)
    (push value (stack-head stack))))

(defun pop-stack (stack)
  (with-spin-lock (stack)
    (pop (stack-head stack))))

(defun test (thread-count)
  (let ((stack (make-stack)))
    (loop :repeat thread-count
          :do (ccl:process-run-function "test" #'push-stack t stack))
    (loop :repeat thread-count
          :do (loop :until (pop-stack stack)))))

(defun run ()
  (loop
     (test 1)
     (format t ".")))
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.