[squeak-dev] Re: MNU during trunk update Kernel-ar.337
Andreas Raab
andreas.raab at gmx.de
Tue Dec 22 17:35:54 UTC 2009
Igor Stasenko wrote:
> Oh... its harder to do than to say :)
Ah, but certainly doable. Get a halo on the debugger, explore it, find
CompiledMethodTrailer>>new, find pointers to the receiver, this gets you
into CompiledMethodTrailer class. Now inspect methodDict, remove #new
and you're done :-)
(okay not exactly what you would have your mom do ...)
> The Kernel-ar.337
> removes #trailerClass before removing #new
Yup. And I suspect it worked for me when I tried it earlier due to MCs
unreliable sort order (sigh... the image I used I had updated step by
step while posting the changes to make sure I could load them). And of
course *that* part of loading changes (i.e., unload) happens a little
less careful than installing methods (which defers notifications).
Double-sigh. I think we should consider changing all this to future
messages - which makes it safe since it'll be processed when we're good
and ready and not before.
> i think , for safety, a cleanup should be split on 2 phases:
> - remove CompiledMethodTrailer>>new
> - remove rest
Exactly. I'm on it, give me a few more minutes.
Cheers,
- Andreas
> 2009/12/22 Igor Stasenko <siguctua at gmail.com>:
>> It seems a cleanup procedure is still broken.
>>
>> Remove the CompiledMethodTrailer class>>new by hand,
>> then you should be able to compile new methods in system.
>>
>> 2009/12/22 Randal L. Schwartz <merlyn at stonehenge.com>:
>>> MessageNotUnderstood: CompiledMethodTrailer class>>trailerClass
>>> 22 December 2009 8:09:25.698 am
>>>
>>> VM: Mac OS - a SmalltalkImage
>>> Image: Squeak3.10.2 [latest update: #8507]
>>>
>>> SecurityManager state:
>>> Restricted: false
>>> FileAccess: true
>>> SocketAccess: true
>>> Working Dir /Users/merlyn/Smalltalk/Squeak3.0/Squeak3.10.2-Trunk-090912
>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>> Untrusted Dir /Users/merlyn/Library/Preferences/Squeak/Internet/My Squeak
>>>
>>> CompiledMethodTrailer class(Object)>>doesNotUnderstand: #trailerClass
>>> Receiver: CompiledMethodTrailer
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> superclass: Object
>>> methodDict: a MethodDictionary(#clear->(CompiledMethodTrailer>>#clear "a Compil...etc...
>>> format: 140
>>> instanceVariables: #('data' 'encodedData' 'kind' 'size' 'method')
>>> organization: ('initialize-release' clear initialize method:)
>>> ('creating a meth...etc...
>>> subclasses: nil
>>> name: #CompiledMethodTrailer
>>> classPool: a Dictionary()
>>> sharedPools: nil
>>> environment: Smalltalk "a SystemDictionary with lots of globals"
>>> category: #'Kernel-Methods'
>>> traitComposition: nil
>>> localSelectors: nil
>>>
>>> CompiledMethodTrailer class>>new
>>> Receiver: CompiledMethodTrailer
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> superclass: Object
>>> methodDict: a MethodDictionary(#clear->(CompiledMethodTrailer>>#clear "a Compil...etc...
>>> format: 140
>>> instanceVariables: #('data' 'encodedData' 'kind' 'size' 'method')
>>> organization: ('initialize-release' clear initialize method:)
>>> ('creating a meth...etc...
>>> subclasses: nil
>>> name: #CompiledMethodTrailer
>>> classPool: a Dictionary()
>>> sharedPools: nil
>>> environment: Smalltalk "a SystemDictionary with lots of globals"
>>> category: #'Kernel-Methods'
>>> traitComposition: nil
>>> localSelectors: nil
>>>
>>> CompiledMethod>>trailer
>>> Receiver: (CompiledMethodTrailer class>>#trailerClass "a CompiledMethod(3360)")
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> (CompiledMethodTrailer class>>#trailerClass "a CompiledMethod(3360)")
>>> CompiledMethod>>sourcePointer
>>> Receiver: (CompiledMethodTrailer class>>#trailerClass "a CompiledMethod(3360)")
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> (CompiledMethodTrailer class>>#trailerClass "a CompiledMethod(3360)")
>>>
>>>
>>> --
>>> Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
>>> <merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
>>> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
>>> See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion
>>>
>>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>
>
>
>
> ------------------------------------------------------------------------
>
>
More information about the Squeak-dev
mailing list
|