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

Rainer Joswig joswig at lisp.de
Tue Jun 9 06:11:16 PDT 2009


Am 09.06.2009 um 13:32 schrieb Gary Byers:

> 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))

yes, it starts up with these values.

>
> 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.)

Actually I'm a fan of higher safety/debug than speed values. ;-)

>
> 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.
>

Then it works.

Thanks for the infos.

Regards,

Rainer Joswig


>
>
>
> 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
>>
>>

Rainer Joswig, Hamburg, Germany
http://lispm.dyndns.org/
mailto:joswig at lisp.de






More information about the Openmcl-devel mailing list