MNU during trunk update Kernel-ar.337

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

MNU during trunk update Kernel-ar.337

Randal L. Schwartz

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
<[hidden email]> <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

Reply | Threaded
Open this post in threaded view
|

Re: MNU during trunk update Kernel-ar.337

Igor Stasenko
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 <[hidden email]>:

>
> 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
> <[hidden email]> <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.


Reply | Threaded
Open this post in threaded view
|

Re: MNU during trunk update Kernel-ar.337

Andreas.Raab
In reply to this post by Randal L. Schwartz
Does anyone else see this? It's a weird problem since the update in
question only removes code and as a consequence there shouldn't be any
attempt to create new compiled method trailers during installation. Have
you by any chance some other package installed that hooks into
SystemChangeNotifier and does strange things upon method removal?


Cheers,
   - Andreas

Randal L. Schwartz wrote:

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


Reply | Threaded
Open this post in threaded view
|

Re: MNU during trunk update Kernel-ar.337

Igor Stasenko
In reply to this post by Igor Stasenko
Oh... its harder to do than to say :)

The Kernel-ar.337
removes #trailerClass before removing #new

i think , for safety, a cleanup should be split on 2 phases:
- remove CompiledMethodTrailer>>new
- remove rest

2009/12/22 Igor Stasenko <[hidden email]>:

> 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 <[hidden email]>:
>>
>> 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
>> <[hidden email]> <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.
>


--
Best regards,
Igor Stasenko AKA sig.


Reply | Threaded
Open this post in threaded view
|

Re: Re: MNU during trunk update Kernel-ar.337

Igor Stasenko
In reply to this post by Andreas.Raab
2009/12/22 Andreas Raab <[hidden email]>:
> Does anyone else see this? It's a weird problem since the update in question
> only removes code and as a consequence there shouldn't be any attempt to
> create new compiled method trailers during installation. Have you by any
> chance some other package installed that hooks into SystemChangeNotifier and
> does strange things upon method removal?
>
it is because of triggering system notification, and then Changeset
tries to get sourcePointer of method being removed and as result its
going to create a trailer instance.

>
> Cheers,
>  - Andreas
>
> Randal L. Schwartz wrote:
>>
>> 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)")
>>
>>
>
>
>


--
Best regards,
Igor Stasenko AKA sig.


Reply | Threaded
Open this post in threaded view
|

Re: Re: MNU during trunk update Kernel-ar.337

garduino
In reply to this post by Andreas.Raab
Same problem here and not, not another package hooking SystemChangeNotifier.

Cheers.
Germán.


2009/12/22 Andreas Raab <[hidden email]>:

> Does anyone else see this? It's a weird problem since the update in question
> only removes code and as a consequence there shouldn't be any attempt to
> create new compiled method trailers during installation. Have you by any
> chance some other package installed that hooks into SystemChangeNotifier and
> does strange things upon method removal?
>
>
> Cheers,
>  - Andreas
>
> Randal L. Schwartz wrote:
>>
>> 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)")
>>
>>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Re: MNU during trunk update Kernel-ar.337

Randal L. Schwartz
In reply to this post by Andreas.Raab
>>>>> "Andreas" == Andreas Raab <[hidden email]> writes:

Andreas> Does anyone else see this? It's a weird problem since the update in
Andreas> question only removes code and as a consequence there shouldn't be
Andreas> any attempt to create new compiled method trailers during
Andreas> installation. Have you by any chance some other package installed
Andreas> that hooks into SystemChangeNotifier and does strange things upon
Andreas> method removal?

No.  I'm just updating the trunk I downloaded a month or two ago,
and have been updating once every few days from the stream.

Nothing else loaded.

--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<[hidden email]> <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

Reply | Threaded
Open this post in threaded view
|

Re: MNU during trunk update Kernel-ar.337

Andreas.Raab
In reply to this post by Igor Stasenko
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 <[hidden email]>:
>> 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 <[hidden email]>:
>>> 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
>>> <[hidden email]> <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.
>>
>
>
>
>
> ------------------------------------------------------------------------
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Re: MNU during trunk update Kernel-ar.337

Igor Stasenko
In reply to this post by Randal L. Schwartz
installing The Kernel-ar.337
removes #trailerClass before removing #new
in CompiledMethodTrailer
which makes impossible to create or access state of any methods.
Actually an image is completely broken at this point, because you
can't do anything without getting same DNU over and over.

it should be split on 2 phases (separate packages, or preamble?):
- remove CompiledMethodTrailer class>>new
- remove rest

2009/12/22 Randal L. Schwartz <[hidden email]>:

>>>>>> "Andreas" == Andreas Raab <[hidden email]> writes:
>
> Andreas> Does anyone else see this? It's a weird problem since the update in
> Andreas> question only removes code and as a consequence there shouldn't be
> Andreas> any attempt to create new compiled method trailers during
> Andreas> installation. Have you by any chance some other package installed
> Andreas> that hooks into SystemChangeNotifier and does strange things upon
> Andreas> method removal?
>
> No.  I'm just updating the trunk I downloaded a month or two ago,
> and have been updating once every few days from the stream.
>
> Nothing else loaded.
>
> --
> Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
> <[hidden email]> <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.

Reply | Threaded
Open this post in threaded view
|

Re: MNU during trunk update Kernel-ar.337

Andreas.Raab
In reply to this post by Randal L. Schwartz
Hi Randal -

I think we're good now. Try it. Can I have my pony now? :)

Cheers,
   - Andreas

Randal L. Schwartz wrote:

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


Reply | Threaded
Open this post in threaded view
|

Re: Re: MNU during trunk update Kernel-ar.337

Randal L. Schwartz
>>>>> "Andreas" == Andreas Raab <[hidden email]> writes:

Andreas> I think we're good now. Try it. Can I have my pony now? :)

Indeed.  Thanks for the fix.  I'll put the order in for the pony right
away. :)

--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<[hidden email]> <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