[Pharo-project] Error loading update with AnObsoleteTranscript
Hi, Trying to upgrade my 1.3 image with Menu/System/Software Update, I had a MNU during update 13191 at AnObsoleteTranscript class >> cr which comes from: UndeclaredVariableWarning>>defaultAction selector ifNotNil: [Transcript cr; nextPutAll: class name, '>>', selector, ' '] ifNil: [Transcript cr ]. Transcript show: '(' , name , ' is Undeclared) '. ^true Something is missing or I did something wrong? TIA Regards, Alain
On Wed, May 18, 2011 at 12:06 AM, Alain_Rastoul <alr.dev@free.fr> wrote:
Hi,
Trying to upgrade my 1.3 image with Menu/System/Software Update, I had a MNU during update 13191 at AnObsoleteTranscript class >> cr which comes from: UndeclaredVariableWarning>>defaultAction selector ifNotNil: [Transcript cr; nextPutAll: class name, '>>', selector, ' '] ifNil: [Transcript cr ]. Transcript show: '(' , name , ' is Undeclared) '. ^true
Something is missing or I did something wrong?
Probably not. But probably Smalltalk fixObsoleteReferences also fixes it.
TIA Regards, Alain
-- Mariano http://marianopeck.wordpress.com
When I do Smalltalk fixObsoleteReferences I have AnObsoleteTranscript class DNU show: :( "Mariano Martinez Peck" <marianopeck@gmail.com> a écrit dans le message de news: BANLkTin_Q9ArEvU6qHZRcT2x9r3VLFp39w@mail.gmail.com... On Wed, May 18, 2011 at 12:06 AM, Alain_Rastoul <alr.dev@free.fr> wrote: Hi, Trying to upgrade my 1.3 image with Menu/System/Software Update, I had a MNU during update 13191 at AnObsoleteTranscript class >> cr which comes from: UndeclaredVariableWarning>>defaultAction selector ifNotNil: [Transcript cr; nextPutAll: class name, '>>', selector, ' '] ifNil: [Transcript cr ]. Transcript show: '(' , name , ' is Undeclared) '. ^true Something is missing or I did something wrong? Probably not. But probably Smalltalk fixObsoleteReferences also fixes it. TIA Regards, Alain -- Mariano http://marianopeck.wordpress.com
ahahahahhaha HAHAHAHAHAHAHAHAHHAHAHH SmalltalkImage >> fixObsoleteReferences "SmalltalkImage current fixObsoleteReferences. SystemNavigation default obsoleteBehaviors size > 0 ifTrue: [ SystemNavigation default obsoleteBehaviors inspect. self error:'Still have obsolete behaviors. See inspector']" | informee obsoleteBindings obsName realName realClass | Smalltalk garbageCollect; garbageCollect. CompiledMethod allInstances do: [ :method | obsoleteBindings := method literals select: [ :literal | literal isVariableBinding and: [ literal value isBehavior and: [ literal value isObsolete ]]]. obsoleteBindings do: [ :binding | obsName := binding value name. Transcript show: 'Binding: '; show: obsName; cr. realName := obsName copyReplaceAll: 'AnObsolete' with: ''. realClass := Smalltalk globals at: realName asSymbol ifAbsent: [ UndefinedObject ]. binding key: binding key value: realClass ] ]. Behavior flushObsoleteSubclasses. Smalltalk garbageCollect; garbageCollect remove that lines in yellow and try again :) On Wed, May 18, 2011 at 12:30 AM, Alain_Rastoul <alr.dev@free.fr> wrote:
When I do Smalltalk fixObsoleteReferences I have AnObsoleteTranscript class DNU show: :(
"Mariano Martinez Peck" <marianopeck@gmail.com> a écrit dans le message de news: BANLkTin_Q9ArEvU6qHZRcT2x9r3VLFp39w@mail.gmail.com...
On Wed, May 18, 2011 at 12:06 AM, Alain_Rastoul <alr.dev@free.fr> wrote:
Hi,
Trying to upgrade my 1.3 image with Menu/System/Software Update, I had a MNU during update 13191 at AnObsoleteTranscript class >> cr which comes from: UndeclaredVariableWarning>>defaultAction selector ifNotNil: [Transcript cr; nextPutAll: class name, '>>', selector, ' '] ifNil: [Transcript cr ]. Transcript show: '(' , name , ' is Undeclared) '. ^true
Something is missing or I did something wrong?
Probably not. But probably Smalltalk fixObsoleteReferences also fixes it.
TIA Regards, Alain
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com
Thanks Mariano It did it for a while (twice because of 'context not in process chain' errors). Then I had a ***system error handling failed*** Original error: Error MNU: TextAttribute class>> colorBlock: Debugger error: SubscriptOutOfBounds ... etc message on top line of Pharo's main window (I had switched to another window then returned to Pharo window again) I 'll try again tomorrow :o) Cheers Alain "Mariano Martinez Peck" <marianopeck@gmail.com> a écrit dans le message de news: BANLkTim2exeJ5=--Nfm-oegmjxV1xQqy6A@mail.gmail.com... ahahahahhaha HAHAHAHAHAHAHAHAHHAHAHH SmalltalkImage >> fixObsoleteReferences "SmalltalkImage current fixObsoleteReferences. SystemNavigation default obsoleteBehaviors size > 0 ifTrue: [ SystemNavigation default obsoleteBehaviors inspect. self error:'Still have obsolete behaviors. See inspector']" | informee obsoleteBindings obsName realName realClass | Smalltalk garbageCollect; garbageCollect. CompiledMethod allInstances do: [ :method | obsoleteBindings := method literals select: [ :literal | literal isVariableBinding and: [ literal value isBehavior and: [ literal value isObsolete ]]]. obsoleteBindings do: [ :binding | obsName := binding value name. Transcript show: 'Binding: '; show: obsName; cr. realName := obsName copyReplaceAll: 'AnObsolete' with: ''. realClass := Smalltalk globals at: realName asSymbol ifAbsent: [ UndefinedObject ]. binding key: binding key value: realClass ] ]. Behavior flushObsoleteSubclasses. Smalltalk garbageCollect; garbageCollect remove that lines in yellow and try again :) On Wed, May 18, 2011 at 12:30 AM, Alain_Rastoul <alr.dev@free.fr> wrote: When I do Smalltalk fixObsoleteReferences I have AnObsoleteTranscript class DNU show: :( "Mariano Martinez Peck" <marianopeck@gmail.com> a écrit dans le message de news: BANLkTin_Q9ArEvU6qHZRcT2x9r3VLFp39w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org... On Wed, May 18, 2011 at 12:06 AM, Alain_Rastoul <alr.dev@free.fr> wrote: Hi, Trying to upgrade my 1.3 image with Menu/System/Software Update, I had a MNU during update 13191 at AnObsoleteTranscript class >> cr which comes from: UndeclaredVariableWarning>>defaultAction selector ifNotNil: [Transcript cr; nextPutAll: class name, '>>', selector, ' '] ifNil: [Transcript cr ]. Transcript show: '(' , name , ' is Undeclared) '. ^true Something is missing or I did something wrong? Probably not. But probably Smalltalk fixObsoleteReferences also fixes it. TIA Regards, Alain -- Mariano http://marianopeck.wordpress.com -- Mariano http://marianopeck.wordpress.com
Yes this is why we also removed from Transcript show: from deep down in the system.
From that perspective having a self log: would be better since we could control it. Right now there are plenty of places which holds a reference to the Transcript. What is strange is that the migration code was recompiling all the methods that had a reference to transcript so that they point to the new one.
Stef
ahahahahhaha
HAHAHAHAHAHAHAHAHHAHAHH
SmalltalkImage >> fixObsoleteReferences "SmalltalkImage current fixObsoleteReferences. SystemNavigation default obsoleteBehaviors size > 0 ifTrue: [ SystemNavigation default obsoleteBehaviors inspect. self error:'Still have obsolete behaviors. See inspector']"
| informee obsoleteBindings obsName realName realClass | Smalltalk garbageCollect; garbageCollect. CompiledMethod allInstances do: [ :method | obsoleteBindings := method literals select: [ :literal | literal isVariableBinding and: [ literal value isBehavior and: [ literal value isObsolete ]]]. obsoleteBindings do: [ :binding | obsName := binding value name. Transcript show: 'Binding: '; show: obsName; cr. realName := obsName copyReplaceAll: 'AnObsolete' with: ''. realClass := Smalltalk globals at: realName asSymbol ifAbsent: [ UndefinedObject ]. binding key: binding key value: realClass ] ]. Behavior flushObsoleteSubclasses. Smalltalk garbageCollect; garbageCollect
remove that lines in yellow and try again :)
On Wed, May 18, 2011 at 12:30 AM, Alain_Rastoul <alr.dev@free.fr> wrote: When I do Smalltalk fixObsoleteReferences I have AnObsoleteTranscript class DNU show: :( "Mariano Martinez Peck" <marianopeck@gmail.com> a écrit dans le message de news: BANLkTin_Q9ArEvU6qHZRcT2x9r3VLFp39w@mail.gmail.com...
On Wed, May 18, 2011 at 12:06 AM, Alain_Rastoul <alr.dev@free.fr> wrote: Hi,
Trying to upgrade my 1.3 image with Menu/System/Software Update, I had a MNU during update 13191 at AnObsoleteTranscript class >> cr which comes from: UndeclaredVariableWarning>>defaultAction selector ifNotNil: [Transcript cr; nextPutAll: class name, '>>', selector, ' '] ifNil: [Transcript cr ]. Transcript show: '(' , name , ' is Undeclared) '. ^true
Something is missing or I did something wrong?
Probably not. But probably Smalltalk fixObsoleteReferences also fixes it.
TIA Regards, Alain
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com
participants (3)
-
Alain_Rastoul -
Mariano Martinez Peck -
Stéphane Ducasse