Custom Query (1030 matches)
Results (418 - 420 of 1030)
| Ticket | Resolution | Summary | Owner | Reporter |
|---|---|---|---|---|
| #789 | wontfix | bug printing/insepecting circular Objective-C structures | ||
| 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
|
|||
| #788 | fixed | ARM FFI problems, partial patch | ||
| Description |
I've discovered multiple problems in ARM FFI while trying to run CFFI test suite.
Namely, these functions use explicit register specifications for their temps that are used for strd/ldrd instructions that need consective registers. This seems to break register handling somehow, as the following can be observed at the end of disassembly of my-mem-set-double-float in attached floatfail.lisp: (ldrd imm0 (:@ arg_z (:$ 2))) (fmdrr d0 imm0 imm1) (add nargs imm0 imm1) (fmrrd imm0 imm1 d0) (strd imm0 (:@ nargs (:$ 0))) (ldmia (:! sp) (imm0 vsp fn pc)) Here we see imm0 and imm1 getting destroyed by get-double vinsn and later being used to construct address for the following strd as if nothing happened. This leads to memory fault. The possible workaround is not using strd/ldrd at all but perhaps it's also possible to fix temp handling, but I don't have time to do it myself right now. |
|||
| #787 | fixed | ccl:arglist interns into the current package | ||
| Description |
When used on macros, ccl:arglist interns symbols from the lambda list into the current package: (defpackage :foo (:use :cl)) #<Package "FOO"> ? (in-package :foo) #<Package "FOO"> ? (defmacro bar (bar10)) ;Compiler warnings : ; In BAR: Unused lexical variable BAR10 BAR ? (in-package :cl-user) #<Package "COMMON-LISP-USER"> ? (find-symbol "BAR10") NIL NIL ? (ccl:arglist 'foo::bar t) (BAR10) :DECLARATION ? (find-symbol "BAR10") BAR10 :INTERNAL |
|||
