Custom Query (1030 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (352 - 354 of 1030)

Ticket Resolution Summary Owner Reporter
#1273 fixed bug with inlining/bignums/type declarations Jared Davis
Description

Hi,

This looks like a bug -- can you reproduce?

I am using CCL version 1.11-dev-r16355M-trunk, built just now on Linux, X86-64.

(declaim (inline part-select-width-low
                 part-select-low-high))

(defun part-select-width-low (x width low)
    (logand (1- (ash 1 width))
            (ash x (- low))))

(defun part-select-low-high (x low high)
    (part-select-width-low x (+ 1 (- high low)) low))

(defun fpreg->rawexpt (x)
  (declare (type (unsigned-byte 80) x))
  (part-select-low-high x 64 78))

(list :wrapper (fpreg->rawexpt (1- (expt 2 80)))
      :direct  (part-select-low-high (1- (expt 2 80)) 64 78))

Expected result: (:WRAPPER 32767 :DIRECT 32767)

Actual result: varies, examples shown below:

;; ? (list :wrapper (fpreg->rawexpt (1- (expt 2 80)))
;;         :direct  (part-select-low-high (1- (expt 2 80)) 64 78))
;; (:WRAPPER 13483 :DIRECT 32767)
;;
;; ? (list :wrapper (fpreg->rawexpt (1- (expt 2 80)))
;;         :direct  (part-select-low-high (1- (expt 2 80)) 64 78))
;; (:WRAPPER 12543 :DIRECT 32767)
;;
;; ? (list :wrapper (fpreg->rawexpt (1- (expt 2 80)))
;;         :direct  (part-select-low-high (1- (expt 2 80)) 64 78))
;; (:WRAPPER 11675 :DIRECT 32767)
;;
;; ? (list :wrapper (fpreg->rawexpt (1- (expt 2 80)))
;;         :direct  (part-select-low-high (1- (expt 2 80)) 64 78))
;; (:WRAPPER 10807 :DIRECT 32767)
;;
;; ? (list :wrapper (fpreg->rawexpt (1- (expt 2 80)))
;;         :direct  (part-select-low-high (1- (expt 2 80)) 64 78))
;; (:WRAPPER 9939 :DIRECT 32767)
;;
;; ...

Thanks!

Jared

#789 wontfix bug printing/insepecting circular Objective-C structures Paul Krueger
Description

If you try to print circular Lisp structures in the listener you eventually get a stack overflow and move on. If you have comparable Objective-C structures, CCL will crash trying to display them in the listener. If you try to inspect such an object you get an unhandled runtime exception.

To replicate do something like the following:

Welcome to Clozure Common Lisp Version 1.7-dev-r14466M-trunk  (DarwinX8664)!
? (progn
  (setf d1 (let ((d1 (#/dictionaryWithCapacity: ns:ns-mutable-dictionary 4))
                 (d2 (#/dictionaryWithCapacity: ns:ns-mutable-dictionary 4)))
             (#/setObject:forKey: d1 d2 #@"d2ptr")
             (#/setObject:forKey: d2 d1 #@"d1ptr")
             d1))
  t)
T
? (inspect d1)

And in the AltConsole you get:

Unhandled exception 10 at 0x7fff81951f9f, context->regs at #x7fff5fbfe1e0
Exception occurred while executing foreign code
 at szone_malloc_should_clear + 116
received signal 10; faulting address: 0x7fff5f3fffe8
? for help
[12203] Clozure CL kernel debugger: b
current thread: tcr = 0x1007b0, native thread ID = 0x207, interrupts enabled


(#x000000000044B630) #x0000300000E43B2C : #<Anonymous Function #x0000300000E43A7F> + 173
(#x000000000044B650) #x0000300001324E2C : #<Function (:OBJC-DISPATCH description) #x0000300001324B9F> + 653
(#x000000000044B688) #x0000300000D9023C : #<Function NSOBJECT-DESCRIPTION #x0000300000D9016F> + 205
(#x000000000044B6F0) #x0000300000D8FB2C : #<Function (:INTERNAL (PRINT-OBJECT (OBJC-OBJECT T))) #x0000300000D8FA9F> + 141
(#x000000000044B730) #x0000300000252154 : #<Function %PRINT-UNREADABLE-OBJECT #x000030000025202F> + 293
(#x000000000044B778) #x0000300000D8FD64 : #<Method-Function PRINT-OBJECT (OBJC-OBJECT T) #x0000300000D8FC5F> + 261
(#x000000000044B7A8) #x0000300000209684 : #<Function %CALL-NEXT-METHOD #x000030000020928F> + 1013
(#x000000000044B840) #x00003000001F6B04 : #<Function %%STANDARD-COMBINED-METHOD-DCODE #x00003000001F684F> + 693
(#x000000000044B8C8) #x0000300000506644 : #<Function WRITE-A-FROB #x000030000050659F> + 165
(#x000000000044B948) #x0000300000C37724 : #<Function DO-XP-PRINTING #x0000300000C375CF> + 341
(#x000000000044B9D0) #x0000300000C37B7C : #<Function (:INTERNAL DO-IT XP-PRINT) #x0000300000C37B4F> + 45
(#x000000000044B9F8) #x0000300000508294 : #<Function MAYBE-INITIATE-XP-PRINTING #x000030000050804F> + 581
(#x000000000044BA78) #x00003000005078BC : #<Function WRITE-INTERNAL #x00003000005075AF> + 781
(#x000000000044BAD8) #x0000300000512334 : #<Function WRITE-1 #x000030000051210F> + 549
(#x000000000044BB08) #x000030000011D864 : #<Function PRIN1 #x000030000011D7DF> + 133
(#x000000000044BB48) #x000030000011D6EC : #<Function PRIN1-TO-STRING #x000030000011D64F> + 157
(#x000000000044BB98) #x000030000186738C : #<Function INSPECTOR-OBJECT-NSSTRING #x000030000186727F> + 269
(#x000000000044BC60) #x0000300001866CDC : #<Function MAKE-INSPECTOR-ITEM #x0000300001866BEF> + 237
(#x000000000044BC98) #x0000300001866674 : #<Function MAKE-INSPECTOR-WINDOW #x00003000018665FF> + 117
(#x000000000044BCB8) #x0000300001867524 : #<Function MAKE-INSPECTOR #x000030000186749F> + 133
(#x000000000044BCF0) #x0000300001347744 : #<Function HANDLE-INVOKING-LISP-FUNCTION #x00003000013475FF> + 325
(#x000000000044BD68) #x0000300001358B44 : #<Method-Function INVOKE-LISP-FUNCTION (6614255403008 T) #x00003000013589FF> + 325
(#x000000000044BDD0) #x000030000135919C : #<Function -[NSApplication invokeLispFunction:] #x0000300001358EDF> + 701
(#x000000000044BE38) #x00003000001AC04C : #<Function %PASCAL-FUNCTIONS% #x00003000001ABEDF> + 365
(#x000000000044BEF0) #x0000300000FBB55C : #<Anonymous Function #x0000300000FBB4AF> + 173
(#x000000000044BF10) #x000030000139D87C : #<Function (:OBJC-DISPATCH run) #x000030000139D5EF> + 653
(#x000000000044BF48) #x000030000139D104 : #<Function EVENT-LOOP #x000030000139CF5F> + 421
(#x000000000044BFA0) #x00003000013AE0AC : #<Function (:INTERNAL COCOA-STARTUP START-COCOA-APPLICATION) #x00003000013ADCBF> + 1005
[12203] Clozure CL kernel debugger: k
#1301 fixed bug in write-perverted-string Pascal Bourguignon
Description

In write-perverted-string in l1-io.lisp, there's a bug in computing the length of outbuf (assuming the code in its body does what it should do), when escape is not nil:

(block bug
  (let ((string  (string '|\\; \".1|)))
    (handler-bind
        ((error (lambda (err) (princ err) (terpri) (return-from bug))))
      (ccl::write-perverted-string string *standard-output* (length string)
                                   :downcase #\")
      (values))))
"\\; \".1"
; No value


(block bug
  (let ((string  (string '|\\; \".1|)))
    (handler-bind
        ((error (lambda (err) (princ err) (terpri) (return-from bug))))
      (ccl::write-perverted-string string *standard-output* (length string)
                                   :downcase nil)
      (values))))
Array index 6 out of bounds for "\\\\; \"." .
nil

Using the following formula should correct it:

         (outbuf (make-string (+ end
                                 (if escape 2 0)
                                 (count-if (lambda (c)
                                             (or (eql c escape)
                                                 (eql c #\\)))
                                           string :end end))))

Note: it might be a good idea to rename the parameter escape to quote.

Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.