[Openmcl-devel] ns:ns-tracking-area not present in 32bit CCL

Gary Byers gb at clozure.com
Tue Jun 9 04:32:13 PDT 2009


The bug's somewhat tersesly described in:

<http://trac.clozure.com/openmcl/ticket/516>

It's still open, though the code in the trunk version of the IDE
that was exposing/triggering the problem has been changed.

That code can cause the IDE to start up with

;;;; see CLtL2; DECLARATION-INFORMATION didn't make it into ANSI CL
? (ccl:declaration-information 'optimize nil) 
((SPEED 0) (SAFETY 3) (COMPILATION-SPEED 0) (SPACE 0) (DEBUG 3))

This combination of OPTIMIZE settings causes some rarely-executed
code to be executed, and the real bug is in that code.
(Of course, this should just have the effect of making the code as
slow, bloated, and stupid as possible, but it incidentally exposes
a bug.)

Untile the real bug is if fixed, you can work around the problem by doing:

? (declaim (optimize (speed 1) (space 1) (safety 1) (debug 1) (compilation-speed 1)))

on startup.




On Tue, 9 Jun 2009, Rainer Joswig wrote:

> Same error in  Clozure Common Lisp Version 1.3-r12235M  (DarwinX8664).
>
> Mac OS X 10.5.7 on 64bit Intel...
>
>
> *** Error in event process: unknown arg spec :REGISTERS
>
>  (442BE8) : 0 (FUNCALL #'#<(:INTERNAL |-[StandardView drawRect:]|)>
> #<SIMPLE-ERROR #x3000421B439D>) 85
>   (#:G2965)
>    #:G2965: #<SIMPLE-ERROR #x3000421B439D>
>
>   #:COMPILER-VAR: (NIL)
>   #:G2962: #<A Foreign Pointer #x7FFF5FBFD360>
>
>  (442C10) : 1 (SIGNAL #<SIMPLE-ERROR #x3000421B439D>) 981
>   (CONDITION &REST CCL::ARGS)
>    CONDITION: #<SIMPLE-ERROR #x3000421B439D>
>    CCL::ARGS: NIL
>
>   CCL::%HANDLERS%: ((ERROR) (ERROR))
>   CCL::TAG: #<SIMPLE-ERROR #x3000421B439D>
>   CCL::HANDLERS: CCL::*BACKTRACE-CONTEXTS*
>   CCL::FN: #<COMPILED-LEXICAL-CLOSURE (:INTERNAL |-[StandardView
> drawRect:]|) #x493DBF>
>
>  (442C68) : 2 (%ERROR #<SIMPLE-ERROR #x3000421B439D> (:REGISTERS)
> 558482) 117
>   (CONDITION CCL::ARGS CCL::ERROR-POINTER)
>    CONDITION: #<SIMPLE-ERROR #x3000421B439D>
>    CCL::ARGS: (:REGISTERS)
>    CCL::ERROR-POINTER: 558482
>
> ...
>
> Regards,
>
> Rainer Joswig
>
>
>
> Am 09.06.2009 um 07:02 schrieb Ron Garret:
>
>> Try updating.  The 1.3 branch is currently at verison r12153M.  It
>> works for me on that version.
>>
>> rg
>>
>> On Jun 8, 2009, at 9:35 PM, Rainer Joswig wrote:
>>
>>>
>>>
>>> using Clozure Common Lisp Version 1.3-r12088M  (DarwinX8664)
>>>
>>>
>>> On executing the add-subview example form in draggable.lisp
>>>
>>> I get:
>>>
>>> *** Error in event process: unknown arg spec :REGISTERS
>>>
>>> (442BE8) : 0 (FUNCALL #'#<(:INTERNAL |-[StandardView drawRect:]|)>
>>> #<SIMPLE-ERROR #x3000420F8DBD>) 85
>>> (#:G5085)
>>>  #:G5085: #<SIMPLE-ERROR #x3000420F8DBD>
>>>
>>> #:COMPILER-VAR: (NIL)
>>> #:G5082: #<A Foreign Pointer #x7FFF5FBFD360>
>>>
>>> (442C10) : 1 (SIGNAL #<SIMPLE-ERROR #x3000420F8DBD>) 981
>>> (CONDITION &REST CCL::ARGS)
>>>  CONDITION: #<SIMPLE-ERROR #x3000420F8DBD>
>>>  CCL::ARGS: NIL
>>>
>>> CCL::%HANDLERS%: ((ERROR) (ERROR))
>>> CCL::TAG: #<SIMPLE-ERROR #x3000420F8DBD>
>>> CCL::HANDLERS: CCL::*BACKTRACE-CONTEXTS*
>>> CCL::FN: #<COMPILED-LEXICAL-CLOSURE (:INTERNAL |-[StandardView
>>> drawRect:]|) #x493DBF>
>>>
>>> (442C68) : 2 (%ERROR #<SIMPLE-ERROR #x3000420F8DBD> (:REGISTERS)
>>> 558482) 117
>>> (CONDITION CCL::ARGS CCL::ERROR-POINTER)
>>>  CONDITION: #<SIMPLE-ERROR #x3000420F8DBD>
>>>  CCL::ARGS: (:REGISTERS)
>>>  CCL::ERROR-POINTER: 558482
>>>
>>>
>>>
>>> (442C90) : 3 (%FF-CALL 140735390423728 :REGISTERS #<NS-OBJECT
>>> <NSCFType: 0x170192c0> (#x170192C0)> :ADDRESS #<NS-CONSTANT-STRING
>>> "Lisp Rules!" (#x137CD2F0)> :ADDRESS #<A Foreign Pointer
>>> #x7FFF82F59600> :ADDRESS #<NS-MUTABLE-DICTIONARY {
>>>   NSFont = "TimesNewRomanPS-ItalicMT 48.00 pt. P [] (0x13799150)
>>> fobj=0x170178c0, spc=12.00";
>>> } (#x17019E50)> :VOID) 701
>>> (CCL::ENTRY &REST CCL::SPECS-AND-VALS)
>>>  CCL::ENTRY: 140735390423728
>>>  CCL::SPECS-AND-VALS: (:REGISTERS #<NS-OBJECT <NSCFType:
>>> 0x170192c0> (#x170192C0)> :ADDRESS #<NS-CONSTANT-STRING "Lisp
>>> Rules!" (#x137CD2F0)> :ADDRESS ...)
>>>
>>> CCL::LEN: 9
>>> CCL::TOTAL-WORDS: 0
>>> CCL::RESULT-SPEC: :VOID
>>> CCL::NARGS: 4
>>> CCL::N-FP-ARGS: 0
>>> CCL::I: 0
>>> CCL::SPECS: (:REGISTERS #<NS-OBJECT <NSCFType: 0x170192c0>
>>> (#x170192C0)> :ADDRESS #<NS-CONSTANT-STRING "Lisp
>>> Rules!" (#x137CD2F0)> :ADDRESS ...)
>>> CCL::SPEC: :REGISTERS
>>>
>>> (442CF8) : 4 (FUNCALL #'#<Anonymous Function #x300041D9AB4F> #<NS-
>>> CONSTANT-STRING "Lisp Rules!" (#x137CD2F0)> #S(CCL::OBJC-
>>> SELECTOR :NAME "sizeWithAttributes:" :%SEL #<A Foreign Pointer
>>> #x7FFF82F59600>) #<NS-MUTABLE-DICTIONARY {
>>>   NSFont = "TimesNewRomanPS-ItalicMT 48.00 pt. P [] (0x13799150)
>>> fobj=0x170178c0, spc=12.00";
>>> } (#x17019E50)>) 805
>>> (#:G3751 #:G3752 CCL::ARG0)
>>>  #:G3751: #<NS-CONSTANT-STRING "Lisp Rules!" (#x137CD2F0)>
>>>  #:G3752: #S(CCL::OBJC-SELECTOR :NAME "sizeWithAttributes:" :%SEL
>>> #<A Foreign Pointer #x7FFF82F59600>)
>>>  CCL::ARG0: #<NS-MUTABLE-DICTIONARY {
>>>   NSFont = "TimesNewRomanPS-ItalicMT 48.00 pt. P [] (0x13799150)
>>> fobj=0x170178c0, spc=12.00";
>>> } (#x17019E50)>
>>>
>>> #:G3753: #<NS-SIZE 0 X 0 #x3000420F8EDD> [gcable] (#x17029190)
>>> #:G3756: #<A Foreign Pointer #x17029190>
>>> #:G3755: #<NS-OBJECT <NSCFType: 0x170192c0> (#x170192C0)>
>>>
>>> (442D38) : 5 (FUNCALL #'#<(:INTERNAL CCL::SEND-UNAMBIGUOUS-MESSAGE
>>> (SHARED-INITIALIZE :AFTER (CCL::OBJC-DISPATCH-FUNCTION T)))> #<NS-
>>> CONSTANT-STRING "Lisp Rules!" (#x137CD2F0)> #<NS-MUTABLE-DICTIONARY {
>>>   NSFont = "TimesNewRomanPS-ItalicMT 48.00 pt. P [] (0x13799150)
>>> fobj=0x170178c0, spc=12.00";
>>> } (#x17019E50)>) 501
>>> (CCL::RECEIVER &REST CCL::ARGS)
>>>  CCL::RECEIVER: #<NS-CONSTANT-STRING "Lisp Rules!" (#x137CD2F0)>
>>>  CCL::ARGS: (#<NS-MUTABLE-DICTIONARY {
>>>   NSFont = "TimesNewRomanPS-ItalicMT 48.00 pt. P [] (0x13799150)
>>> fobj=0x170178c0, spc=12.00";
>>> } (#x17019E50)>)
>>>
>>> CCL::SELECTOR: #S(CCL::OBJC-SELECTOR :NAME "sizeWithAttributes:" :
>>> %SEL #<A Foreign Pointer #x7FFF82F59600>)
>>> FUNCTION: #<Anonymous Function #x300041D9AB4F>
>>>
>>> (442D78) : 6 (FUNCALL #'#<#<STANDARD-METHOD VIEW-DRAW-CONTENTS
>>> (TEXT-VIEW)>> #<TESTVIEW #x30004201D12D> #<NS-RECT 100 X 100 @ 0,0
>>> (#x7FFF5FBFD370) #x3000420F928D>) 229
>>> (V &OPTIONAL RECT)
>>>  V: #<TESTVIEW #x30004201D12D>
>>>  RECT: #<NS-RECT 100 X 100 @ 0,0 (#x7FFF5FBFD370) #x3000420F928D>
>>>
>>>
>>>
>>> (442DA0) : 7 (FUNCALL #'#<|-[StandardView drawRect:]|>
>>> 17591849974380) 981
>>> (#:G5081)
>>>  #:G5081: 17591849974380
>>>
>>> #:G5088: #<A Foreign Pointer #x7FFF5FBFD360>
>>> #:G5082: #<A Foreign Pointer #x7FFF5FBFD360>
>>> #:COMPILER-VAR: (NIL)
>>> #:G5087: #<COMPILED-LEXICAL-CLOSURE (:INTERNAL |-[StandardView
>>> drawRect:]|) #x493DBF>
>>> #:G5089: (CONDITION #<COMPILED-LEXICAL-CLOSURE # #x493DBF>)
>>> CCL::%HANDLERS%: ((CONDITION #) (ERROR))
>>> SELF: #<STANDARD-VIEW <StandardView: 0x170221c0> (#x170221C0)>
>>> _CMD: #<A Foreign Pointer #x7FFF83013F38>
>>> RECT: #<NS-RECT 100 X 100 @ 0,0 (#x7FFF5FBFD370) #x3000420F928D>
>>>
>>> (442E48) : 8 (%PASCAL-FUNCTIONS% 277 17591849974380) 397
>>> (CCL::INDEX CCL::ARGS-PTR-FIXNUM)
>>>  CCL::INDEX: 277
>>>  CCL::ARGS-PTR-FIXNUM: 17591849974380
>>>
>>> CCL::LISP-FUNCTION: #<Compiled-function |-[StandardView drawRect:]|
>>> (Non-Global)  #x300041F007BF>
>>> WITHOUT-INTERRUPTS: NIL
>>> CCL::*CALLBACK-TRACE-P*: NIL
>>>
>>> (442F08) : 10 (FUNCALL #'#<Anonymous Function #x30004122027F>
>>> #<LISP-APPLICATION <LispApplication: 0x1c3580> (#x1C3580)>
>>> #S(CCL::OBJC-SELECTOR :NAME "run" :%SEL #<A Foreign Pointer
>>> #x7FFF82FFFD68>)) 205
>>> (#:G3072 #:G3073)
>>>  #:G3072: #<LISP-APPLICATION <LispApplication: 0x1c3580> (#x1C3580)>
>>>  #:G3073: #S(CCL::OBJC-SELECTOR :NAME "run" :%SEL #<A Foreign
>>> Pointer #x7FFF82FFFD68>)
>>>
>>>
>>>
>>> (442F28) : 11 (FUNCALL #'#<(:INTERNAL CCL::SEND-UNAMBIGUOUS-MESSAGE
>>> (SHARED-INITIALIZE :AFTER (CCL::OBJC-DISPATCH-FUNCTION T)))> #<LISP-
>>> APPLICATION <LispApplication: 0x1c3580> (#x1C3580)>) 501
>>> (CCL::RECEIVER &REST CCL::ARGS)
>>>  CCL::RECEIVER: #<LISP-APPLICATION <LispApplication: 0x1c3580>
>>> (#x1C3580)>
>>>  CCL::ARGS: NIL
>>>
>>> CCL::SELECTOR: #S(CCL::OBJC-SELECTOR :NAME "run" :%SEL #<A Foreign
>>> Pointer #x7FFF82FFFD68>)
>>> FUNCTION: #<Anonymous Function #x30004122027F>
>>>
>>> (442F68) : 12 (EVENT-LOOP NIL) 413
>>> (&OPTIONAL GUI::END-TEST)
>>>  GUI::END-TEST: NIL
>>>
>>> GUI::APP: #<LISP-APPLICATION <LispApplication: 0x1c3580> (#x1C3580)>
>>> *BREAK-ON-ERRORS*: NIL
>>> #:G163537: (ERROR)
>>> CCL::%HANDLERS%: ((ERROR))
>>> GUI::*EVENT-PROCESS-REPORTED-CONDITIONS*: (#<SIMPLE-ERROR
>>> #x3000420F8DBD>)
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Am 09.06.2009 um 02:44 schrieb Ron Garret:
>>>
>>>> [This may be a repeat, but the original never showed up in my
>>>> inbox.  Also, there's an update at the end.]
>>>>
>>>> On Jun 8, 2009, at 11:32 AM, Arthur W Cater wrote:
>>>>
>>>>> Use #/addTrackingRect:owner:userData:assumeInside: with
>>>>> - the view
>>>>> - its #/bounds
>>>>> - a ns-object as target
>>>>> - ccl::+null-ptr+
>>>>> - #$NO
>>>>>
>>>>> Then
>>>>> (objc:define-objc-method ((:void :mouse-entered (:id event))
>>>>> <theTargetClassYouUsed>) ...)
>>>>>
>>>>> likewise :mouse-exited and :mouse-move
>>>>
>>>> Thanks!  Updated version enclosed. This has been tested in 32-bit
>>>> CCL, and should now work on Tiger as well.
>>>>
>>>> This version also fixes a bug whereby testviews did not get
>>>> properly re-initialized to add a tracker when the class got
>>>> redefined.  I was using an initialize-instance :after method when
>>>> I should have been using shared initialize -- I think.  There is
>>>> still a subtle bug which I can't figure out.  When you add a
>>>> highlighted mixin to an existing testview instance, you have to
>>>> click on it once before it starts to highlight itself.  I have no
>>>> idea why this is happening.  I may not be using shared-initialize
>>>> properly.  Maybe a CLOS wizard can help with some advice on the
>>>> proper way to do this.
>>>>
>>>> UPDATE: it turns out that the reason for this is that calling
>>>> shared-initialize is done lazily.  So until there is an
>>>> interaction with the updated object it doesn't get re-initialized,
>>>> so add-tracker doesn't get called, so the event that would
>>>> normally cause the interaction never gets received.  Makes an
>>>> interesting little puzzle.
>>>>
>>>> rg
>>>>
>>>> <draggable.lisp>
>>>> _______________________________________________
>>>> Openmcl-devel mailing list
>>>> Openmcl-devel at clozure.com
>>>> http://clozure.com/mailman/listinfo/openmcl-devel
>>>
>>> Rainer Joswig, Hamburg, Germany
>>> http://lispm.dyndns.org/
>>> mailto:joswig at lisp.de
>>>
>>>
>
> Rainer Joswig, Hamburg, Germany
> http://lispm.dyndns.org/
> mailto:joswig at lisp.de
>
>
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>



More information about the Openmcl-devel mailing list