Custom Query (1030 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (808 - 810 of 1030)

Ticket Resolution Summary Owner Reporter
#821 invalid handler-case cannot handle stack overflow rfateman
Description

(defun f (n) (if (> n 0) (1+ (f (1- n))) 0))

In GCL,

(handler-case (f 100000)(error (x)(format t "~% handler-case caught error ~s" x) 'boohoo))

results in this:

handler-case caught error #<CONDITIONS::INTERNAL-SIMPLE-STREAM-ERROR.0>

BOOHOO

In Allegro CL, it results in this:

handler-case caught error #<synchronous-operating-system-signal @ #x221524ca>

boohoo

but in CCL we get this...

(handler-case (f 100000)(error (x)(format t "~% handler-case caught error ~s" x) 'boohoo))

Error: Stack overflow on value stack. While executing: F, in process listener(1). Type :POP to abort, :R for a list of available restarts. Type :? for other options

So CCL does not have error handling for this kind of error. If it is to be used seriously as a replacement for GCL on Windows, it has to recover better than this.

version: Welcome to Clozure Common Lisp Version 1.6-r14468M (WindowsX8632)!

Thanks

Richard Fateman fateman@…

#381 fixed hang when displaying NSRect record Gary Byers R. Matthew Emerson
Description

Start IDE with (require 'cocoa). (Either 64- or 32-bit x86).

Into a listener, type:

(defvar *junk* (ns:make-ns-rect 0 0 100 100))
*junk*

The IDE will hang.

#1258 fixed hash table shrinks following clrhash gz
Description

See http://lists.clozure.com/pipermail/openmcl-devel/2015-January/010839.html

The problem seems to be the lock-free version of clrhash not resetting nhash.grow-threshold.

? (let ((h (make-hash-table :size 100)))
    (format t "~&initial: ~s" (ccl::nhash.grow-threshold h))
    (dotimes (i 7) (setf (gethash i h) i))
    (format t "~&after use: ~s" (ccl::nhash.grow-threshold h))
    (clrhash h)
    (format t "~&after clrhash: ~s" (ccl::nhash.grow-threshold h)))
initial: 100
after use: 93
after clrhash: 93

Non-lock-free version works fine:

? (let ((h (make-hash-table :size 100 :lock-free nil)))
    (format t "~&initial: ~s" (ccl::nhash.grow-threshold h))
    (dotimes (i 7) (setf (gethash i h) i))
    (format t "~&after use: ~s" (ccl::nhash.grow-threshold h))
    (clrhash h)
    (format t "~&after clrhash: ~s" (ccl::nhash.grow-threshold h)))
initial: 100
after use: 93
after clrhash: 100
Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.