Custom Query (1030 matches)
Results (367 - 369 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #598 | fixed | Crashes with external process semaphores | ||
| Description |
The following test will usually crash CCL within seconds with a malloc heap corruption. Doesn't crash if I redefine %make-semaphore-ptr to not create a gcable pointer. (defun run-env ()
(with-output-to-string (out)
(let ((process (run-program "/bin/sh" (list "-c" "env")
:wait t :output out)))
(when process
(multiple-value-bind (status code)
(external-process-status process)
(unless (and (eq status :exited) (zerop code))
(error "Shell command failed")))))))
(list
(process-run-function "Worker 1" (lambda () (loop (run-env))))
(process-run-function "Worker 2" (lambda () (loop (run-env))))
(process-run-function "GC'er" (lambda () (loop (gc) (sleep (1+ (random 3)))))))
|
|||
| #599 | fixed | io encoding in RUN-PROGRAM | ||
| Description |
With "Version 1.3-r12839M (LinuxPPC32)" and Ubuntu 7.10, the following (with-output-to-string
works as expected, while (with-output-to-string
does not (no suggestions are showed). Both worked five years ago on MacOS X, and in shell aspell works correctly. Some investigation showed that the problem is in the encoding RUN-PROGRAM uses for io. CCL is started with -K utf-8 --eval '(setf *default-file-character-encoding* :utf-8)' but it seems it's not enough... |
|||
| #600 | fixed | defmethod congruency checks | ||
| Description |
(From Pascal Costanza, http://clozure.com/pipermail/openmcl-devel/2009-September/010353.html) Clozure Common Lisp seems to be too eager in its checking of congruency of generic function lambda lists and those of their methods. Consider the following example: ? (defgeneric foo (a b c))
#<STANDARD-GENERIC-FUNCTION FOO #x30004125B93F>
? (add-method
#'foo
(make-instance 'standard-method
:qualifiers '()
:specializers (list (find-class 't) (find-class 't) (find-class 't))
:lambda-list '(a b c)
:function (lambda (&rest args) (print args))))
> Error: Lambda list of method #<STANDARD-METHOD NIL (T T T)>
> is incompatible with that of the generic function FOO.
> Method's lambda-list : (A B C)
> Generic-function's : (A B C)
While executing: CCL::CHECK-DEFMETHOD-CONGRUENCY, in process
listener(1).
Indeed, check-defmethod-congruency uses the method-function to check for congruency, while it should actually use method-lambda-list for that purpose (at least in non-standard cases). As far as I can tell at the moment, this is the only remaining step so that I can provide compatibility in Closer to MOP of the generic function invocation protocol to the specification in AMOP. |
|||
