Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 4 participants
- 144623 messages
Re: [Pharo-project] [squeak-dev] CompiledMethod>>#hash broken on CogVM r2559, Win7, Squeak 4.3
by Mariano Martinez Peck
On Mon, Jul 23, 2012 at 8:08 PM, Eliot Miranda <eliot.miranda(a)gmail.com>wrote:
> Hi Marcel,
>
> that's because the old hash method is broken. The Cog VM finally adds
> a correct bounds check that prevents byte access to the non-byte parts
> (literals) of a CompiledMethod. Accessing the literals of a method via
> byte access gives access to the addresses of objects. This is broken since
> the GC is a moving garbage collector and so addresses can change. Hence a
> hash derived from such bytes is not stable. See Kernel-eem.692 which
> provides the attached hash method.
>
>
Hi Eliot. I remember seeing this discussion in the Pharo mailing list also.
So...I guess we should commit that also in Pharo, right?
>
> On Sun, Jul 22, 2012 at 7:10 AM, Marcel Taeumel <
> marcel.taeumel(a)student.hpi.uni-potsdam.de> wrote:
>
>> Hi!
>>
>> It is not possible to compute the hash value of a CompiledMethod instance
>> with the CogVM r2559 on a Windows 7 machine using a Squeak 4.3 image.
>>
>> Should it be possible despite of all enhancements in the Cog VM?
>>
>> Best,
>> Marcel
>>
>> 22 July 2012 4:06:54.988 pm
>>
>> VM: Win32 - Smalltalk
>> Image: Squeak4.3 [latest update: #11860]
>>
>> SecurityManager state:
>> Restricted: false
>> FileAccess: true
>> SocketAccess: true
>> Working Dir C:\Tools\vivide_dev
>> Trusted Dir C:\Tools\vivide_dev\Marcel
>> Untrusted Dir C:\Users\Marcel\Documents\My Squeak
>>
>> CompiledMethod(Object)>>error:
>> Receiver: (Morph>>#drawOn: "a CompiledMethod(337)")
>> Arguments and temporary variables:
>> aString: 'subscript is out of bounds: 1'
>> Receiver's instance variables:
>> (Morph>>#drawOn: "a CompiledMethod(337)")
>>
>> CompiledMethod(Object)>>errorSubscriptBounds:
>> Receiver: (Morph>>#drawOn: "a CompiledMethod(337)")
>> Arguments and temporary variables:
>> index: 1
>> Receiver's instance variables:
>> (Morph>>#drawOn: "a CompiledMethod(337)")
>>
>> CompiledMethod(Object)>>basicAt:
>> Receiver: (Morph>>#drawOn: "a CompiledMethod(337)")
>> Arguments and temporary variables:
>> index: 1
>> Receiver's instance variables:
>> (Morph>>#drawOn: "a CompiledMethod(337)")
>>
>> CompiledMethod class(ByteArray class)>>hashBytes:startingWith:
>> Receiver: CompiledMethod
>> Arguments and temporary variables:
>> aByteArray: (Morph>>#drawOn: "a CompiledMethod(337)")
>> speciesHash: 244619647
>> byteArraySize: 43
>> hash: 244619647
>> low: nil
>> pos: 1
>> Receiver's instance variables:
>> superclass: ByteArray
>> methodDict: a MethodDictionary(size 190)
>> format: 3586
>> instanceVariables: nil
>> organization: ('accessing' clearFlag defaultSelector
>> dragLabel endPC flag
>> flush...etc...
>> subclasses: nil
>> name: #CompiledMethod
>> classPool: a Dictionary(#LargeFrame->56
>> #SmallFrame->16 )
>> sharedPools: nil
>> environment: Smalltalk globals "a SystemDictionary
>> with lots of globals"
>> category: #'Kernel-Methods'
>>
>> CompiledMethod(ByteArray)>>hash
>> Receiver: (Morph>>#drawOn: "a CompiledMethod(337)")
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> (Morph>>#drawOn: "a CompiledMethod(337)")
>>
>> UndefinedObject>>DoIt
>> Receiver: nil
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> nil
>>
>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>> Receiver: a Compiler
>> Arguments and temporary variables:
>> textOrStream: a ReadWriteStream '(Morph>>#drawOn:) hash'
>> aContext: nil
>> receiver: nil
>> aRequestor: a SmalltalkEditor
>> failBlock: [closure] in [] in
>> SmalltalkEditor(TextEditor)>>evaluateSelectionAnd...etc...
>> logFlag: true
>> methodNode: DoIt
>> ^ (Morph >> #drawOn:) hash
>> method: (UndefinedObject>>#DoIt "a
>> CompiledMethod(1506)")
>> value: nil
>> toLog: nil
>> itsSelection: nil
>> itsSelectionString: nil
>> Receiver's instance variables:
>> sourceStream: a ReadWriteStream '(Morph>>#drawOn:) hash'
>> requestor: a SmalltalkEditor
>> class: UndefinedObject
>> category: nil
>> context: nil
>> parser: a Parser
>>
>> [] in SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>> Receiver: a SmalltalkEditor
>> Arguments and temporary variables:
>> <<error during printing>
>> Receiver's instance variables:
>> morph: a TextMorphForEditView(2114)
>> selectionShowing: false
>> model: a Workspace
>> paragraph: a MultiNewParagraph
>> markBlock: a CharacterBlock with index 1 and
>> character $( and rectangle
>> 0@0 cor...etc...
>> pointBlock: a CharacterBlock with index 23 and
>> rectangle 154@0 corner:
>> 154@17
>> ...etc...
>> beginTypeInIndex: nil
>> emphasisHere: {a TextFontChange font: 1}
>> lastParenLocation: nil
>> otherInterval: (1 to: 22)
>> oldInterval: (1 to: 22)
>> typeAhead: a WriteStream ''
>> styler: nil
>>
>> BlockClosure>>on:do:
>> Receiver: [closure] in
>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>> Arguments and temporary variables:
>> exception: OutOfScopeNotification
>> handlerAction: [closure] in
>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo...etc...
>> handlerActive: true
>> Receiver's instance variables:
>> outerContext:
>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>> startpc: 97
>> numArgs: 0
>>
>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>> Receiver: a SmalltalkEditor
>> Arguments and temporary variables:
>> aBlock: [closure] in
>> SmalltalkEditor(TextEditor)>>evaluateSelection
>> result: nil
>> rcvr: nil
>> ctxt: nil
>> Receiver's instance variables:
>> morph: a TextMorphForEditView(2114)
>> selectionShowing: false
>> model: a Workspace
>> paragraph: a MultiNewParagraph
>> markBlock: a CharacterBlock with index 1 and
>> character $( and rectangle
>> 0@0 cor...etc...
>> pointBlock: a CharacterBlock with index 23 and
>> rectangle 154@0 corner:
>> 154@17
>> ...etc...
>> beginTypeInIndex: nil
>> emphasisHere: {a TextFontChange font: 1}
>> lastParenLocation: nil
>> otherInterval: (1 to: 22)
>> oldInterval: (1 to: 22)
>> typeAhead: a WriteStream ''
>> styler: nil
>>
>> SmalltalkEditor(TextEditor)>>evaluateSelection
>> Receiver: a SmalltalkEditor
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> morph: a TextMorphForEditView(2114)
>> selectionShowing: false
>> model: a Workspace
>> paragraph: a MultiNewParagraph
>> markBlock: a CharacterBlock with index 1 and
>> character $( and rectangle
>> 0@0 cor...etc...
>> pointBlock: a CharacterBlock with index 23 and
>> rectangle 154@0 corner:
>> 154@17
>> ...etc...
>> beginTypeInIndex: nil
>> emphasisHere: {a TextFontChange font: 1}
>> lastParenLocation: nil
>> otherInterval: (1 to: 22)
>> oldInterval: (1 to: 22)
>> typeAhead: a WriteStream ''
>> styler: nil
>>
>> SmalltalkEditor(TextEditor)>>doIt
>> Receiver: a SmalltalkEditor
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> morph: a TextMorphForEditView(2114)
>> selectionShowing: false
>> model: a Workspace
>> paragraph: a MultiNewParagraph
>> markBlock: a CharacterBlock with index 1 and
>> character $( and rectangle
>> 0@0 cor...etc...
>> pointBlock: a CharacterBlock with index 23 and
>> rectangle 154@0 corner:
>> 154@17
>> ...etc...
>> beginTypeInIndex: nil
>> emphasisHere: {a TextFontChange font: 1}
>> lastParenLocation: nil
>> otherInterval: (1 to: 22)
>> oldInterval: (1 to: 22)
>> typeAhead: a WriteStream ''
>> styler: nil
>>
>> SmalltalkEditor(TextEditor)>>doIt:
>> Receiver: a SmalltalkEditor
>> Arguments and temporary variables:
>> aKeyboardEvent: [keystroke '<Cmd-d>']
>> Receiver's instance variables:
>> morph: a TextMorphForEditView(2114)
>> selectionShowing: false
>> model: a Workspace
>> paragraph: a MultiNewParagraph
>> markBlock: a CharacterBlock with index 1 and
>> character $( and rectangle
>> 0@0 cor...etc...
>> pointBlock: a CharacterBlock with index 23 and
>> rectangle 154@0 corner:
>> 154@17
>> ...etc...
>> beginTypeInIndex: nil
>> emphasisHere: {a TextFontChange font: 1}
>> lastParenLocation: nil
>> otherInterval: (1 to: 22)
>> oldInterval: (1 to: 22)
>> typeAhead: a WriteStream ''
>> styler: nil
>>
>> SmalltalkEditor(TextEditor)>>dispatchOnKeyboardEvent:
>> Receiver: a SmalltalkEditor
>> Arguments and temporary variables:
>> aKeyboardEvent: [keystroke '<Cmd-d>']
>> honorCommandKeys: true
>> openers: nil
>> closers: nil
>> result: nil
>> Receiver's instance variables:
>> morph: a TextMorphForEditView(2114)
>> selectionShowing: false
>> model: a Workspace
>> paragraph: a MultiNewParagraph
>> markBlock: a CharacterBlock with index 1 and
>> character $( and rectangle
>> 0@0 cor...etc...
>> pointBlock: a CharacterBlock with index 23 and
>> rectangle 154@0 corner:
>> 154@17
>> ...etc...
>> beginTypeInIndex: nil
>> emphasisHere: {a TextFontChange font: 1}
>> lastParenLocation: nil
>> otherInterval: (1 to: 22)
>> oldInterval: (1 to: 22)
>> typeAhead: a WriteStream ''
>> styler: nil
>>
>> SmalltalkEditor(TextEditor)>>keyStroke:
>> Receiver: a SmalltalkEditor
>> Arguments and temporary variables:
>> anEvent: [keystroke '<Cmd-d>']
>> Receiver's instance variables:
>> morph: a TextMorphForEditView(2114)
>> selectionShowing: false
>> model: a Workspace
>> paragraph: a MultiNewParagraph
>> markBlock: a CharacterBlock with index 1 and
>> character $( and rectangle
>> 0@0 cor...etc...
>> pointBlock: a CharacterBlock with index 23 and
>> rectangle 154@0 corner:
>> 154@17
>> ...etc...
>> beginTypeInIndex: nil
>> emphasisHere: {a TextFontChange font: 1}
>> lastParenLocation: nil
>> otherInterval: (1 to: 22)
>> oldInterval: (1 to: 22)
>> typeAhead: a WriteStream ''
>> styler: nil
>>
>> [] in [] in TextMorphForEditView(TextMorph)>>keyStroke:
>> Receiver: a TextMorphForEditView(2114)
>> Arguments and temporary variables:
>> <<error during printing>
>> Receiver's instance variables:
>> bounds: 0@0 corner: 416@19
>> owner: a TransformMorph(1978)
>> submorphs: #()
>> fullBounds: 0@0 corner: 416@19
>> color: Color black
>> extension: a MorphExtension (2184) [other:
>> (signalConnections -> a
>> Dictionary(...etc...
>> borderWidth: 0
>> borderColor: Color black
>> textStyle: a TextStyle Bitmap Envy Code R 10 regular
>> text: a Text for '(Morph>>#drawOn:) hash'
>> wrapFlag: true
>> paragraph: a MultiNewParagraph
>> editor: a SmalltalkEditor
>> container: nil
>> predecessor: nil
>> successor: nil
>> backgroundColor: nil
>> margins: nil
>> editHistory: nil
>> editView: a PluggableTextMorphPlus(3348)
>> acceptOnCR: false
>>
>> TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
>> Receiver: a TextMorphForEditView(2114)
>> Arguments and temporary variables:
>> interactionBlock: [closure] in [] in
>> TextMorphForEditView(TextMorph)>>keyStroke...etc...
>> evt: [keystroke '<Cmd-d>']
>> oldEditor: a SmalltalkEditor
>> oldParagraph: a MultiNewParagraph
>> oldText: a Text for '(Morph>>#drawOn:) hash'
>> Receiver's instance variables:
>> bounds: 0@0 corner: 416@19
>> owner: a TransformMorph(1978)
>> submorphs: #()
>> fullBounds: 0@0 corner: 416@19
>> color: Color black
>> extension: a MorphExtension (2184) [other:
>> (signalConnections -> a
>> Dictionary(...etc...
>> borderWidth: 0
>> borderColor: Color black
>> textStyle: a TextStyle Bitmap Envy Code R 10 regular
>> text: a Text for '(Morph>>#drawOn:) hash'
>> wrapFlag: true
>> paragraph: a MultiNewParagraph
>> editor: a SmalltalkEditor
>> container: nil
>> predecessor: nil
>> successor: nil
>> backgroundColor: nil
>> margins: nil
>> editHistory: nil
>> editView: a PluggableTextMorphPlus(3348)
>> acceptOnCR: false
>>
>> TextMorphForEditView>>handleInteraction:fromEvent:
>> Receiver: a TextMorphForEditView(2114)
>> Arguments and temporary variables:
>> interActionBlock: [closure] in [] in
>> TextMorphForEditView(TextMorph)>>keyStroke...etc...
>> evt: [keystroke '<Cmd-d>']
>> Receiver's instance variables:
>> bounds: 0@0 corner: 416@19
>> owner: a TransformMorph(1978)
>> submorphs: #()
>> fullBounds: 0@0 corner: 416@19
>> color: Color black
>> extension: a MorphExtension (2184) [other:
>> (signalConnections -> a
>> Dictionary(...etc...
>> borderWidth: 0
>> borderColor: Color black
>> textStyle: a TextStyle Bitmap Envy Code R 10 regular
>> text: a Text for '(Morph>>#drawOn:) hash'
>> wrapFlag: true
>> paragraph: a MultiNewParagraph
>> editor: a SmalltalkEditor
>> container: nil
>> predecessor: nil
>> successor: nil
>> backgroundColor: nil
>> margins: nil
>> editHistory: nil
>> editView: a PluggableTextMorphPlus(3348)
>> acceptOnCR: false
>>
>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>> Receiver: a TextMorphForEditView(2114)
>> Arguments and temporary variables:
>> evt: [keystroke '<Cmd-d>']
>> action: nil
>> Receiver's instance variables:
>> bounds: 0@0 corner: 416@19
>> owner: a TransformMorph(1978)
>> submorphs: #()
>> fullBounds: 0@0 corner: 416@19
>> color: Color black
>> extension: a MorphExtension (2184) [other:
>> (signalConnections -> a
>> Dictionary(...etc...
>> borderWidth: 0
>> borderColor: Color black
>> textStyle: a TextStyle Bitmap Envy Code R 10 regular
>> text: a Text for '(Morph>>#drawOn:) hash'
>> wrapFlag: true
>> paragraph: a MultiNewParagraph
>> editor: a SmalltalkEditor
>> container: nil
>> predecessor: nil
>> successor: nil
>> backgroundColor: nil
>> margins: nil
>> editHistory: nil
>> editView: a PluggableTextMorphPlus(3348)
>> acceptOnCR: false
>>
>>
>> --- The full stack ---
>> CompiledMethod(Object)>>error:
>> CompiledMethod(Object)>>errorSubscriptBounds:
>> CompiledMethod(Object)>>basicAt:
>> CompiledMethod class(ByteArray class)>>hashBytes:startingWith:
>> CompiledMethod(ByteArray)>>hash
>> UndefinedObject>>DoIt
>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>> [] in SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>> BlockClosure>>on:do:
>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>> SmalltalkEditor(TextEditor)>>evaluateSelection
>> SmalltalkEditor(TextEditor)>>doIt
>> SmalltalkEditor(TextEditor)>>doIt:
>> SmalltalkEditor(TextEditor)>>dispatchOnKeyboardEvent:
>> SmalltalkEditor(TextEditor)>>keyStroke:
>> [] in [] in TextMorphForEditView(TextMorph)>>keyStroke:
>> TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
>> TextMorphForEditView>>handleInteraction:fromEvent:
>> [] in TextMorphForEditView(TextMorph)>>keyStroke:
>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>> ECToolSet class>>codeCompletionAround:textMorph:keyStroke:
>> ToolSet class>>codeCompletionAround:textMorph:keyStroke:
>> TextMorphForEditView(TextMorph)>>keyStroke:
>> TextMorphForEditView>>keyStroke:
>> TextMorphForEditView(TextMorph)>>handleKeystroke:
>> KeyboardEvent>>sentTo:
>> TextMorphForEditView(Morph)>>handleEvent:
>> TextMorphForEditView(Morph)>>handleFocusEvent:
>> [] in HandMorph>>sendFocusEvent:to:clear:
>> BlockClosure>>on:do:
>> PasteUpMorph>>becomeActiveDuring:
>> HandMorph>>sendFocusEvent:to:clear:
>> HandMorph>>sendEvent:focus:clear:
>> HandMorph>>sendKeyboardEvent:
>> HandMorph>>handleEvent:
>> HandMorph>>processEvents
>> [] in WorldState>>doOneCycleNowFor:
>> Array(SequenceableCollection)>>do:
>> WorldState>>handsDo:
>> WorldState>>doOneCycleNowFor:
>> WorldState>>doOneCycleFor:
>> PasteUpMorph>>doOneCycle
>> [] in Project class>>spawnNewProcess
>> [] in BlockClosure>>newProcess
>>
>>
>>
>> --
>> View this message in context:
>> http://forum.world.st/CompiledMethod-hash-broken-on-CogVM-r2559-Win7-Squeak…
>> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>>
>>
>
>
> --
> best,
> Eliot
>
>
>
>
>
--
Mariano
http://marianopeck.wordpress.com
July 23, 2012
Re: [Pharo-project] Strange behavior of Metacello in Pharo 2.0
by Dale Henrichs
Alexandre,
Is "utterly fail" a technical term:)?
Do you get a walkback? Do you get an error message?
Mariano just posted a message on the Metacello list about changing the protocol on MCCacheDictionary that causes a MNU for #uniqueIntance during the bootstrapping process ... I think that for at least the short term, #uniqueInstace will be restored ...
Dale
----- Original Message -----
| From: "Alexandre Bergel" <alexandre.bergel(a)me.com>
| To: "An open mailing list to discuss any topics related to an open-source Smalltalk"
| <Pharo-project(a)lists.gforge.inria.fr>
| Sent: Sunday, July 22, 2012 6:35:16 PM
| Subject: [Pharo-project] Strange behavior of Metacello in Pharo 2.0
|
| Hi!
|
| I've just downloaded a configuration using monticello browser. In a
| workspace I am doing:
| -=-=-=-=-=-=-=-=-=
| ConfigurationOfVersionner project
| -=-=-=-=-=-=-=-=-=
|
| and apparently Pharo tries to get something from
| http://www.squeaksource/MetacelloRepository , which utterly fail.
|
|
| I am using the last Pharo from the forge.
| Is there something obvious I am missing? Am I the only one to
| experience this?
|
| Cheers,
| Alexandre
| --
| _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
| Alexandre Bergel http://www.bergel.eu
| ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
|
|
|
|
|
July 23, 2012
Re: [Pharo-project] Change in MCCacheRepository that affects Metacello loading
by Dale Henrichs
Yeah, if you could hold off on that change for a bit (this is for Pharo-2.0 right?)...I might have a different solution for Pharo-2.0...
Dale
----- Original Message -----
| From: "Stéphane Ducasse" <stephane.ducasse(a)inria.fr>
| To: Pharo-project(a)lists.gforge.inria.fr
| Cc: metacello(a)googlegroups.com
| Sent: Monday, July 23, 2012 1:41:58 AM
| Subject: Re: [Pharo-project] Change in MCCacheRepository that affects Metacello loading
|
| may be we should rollback this changes because it is not mandatory.
|
| Stef
|
| On Jul 23, 2012, at 10:14 AM, Mariano Martinez Peck wrote:
|
| > Hi Dale. http://code.google.com/p/pharo/issues/detail?id=6405
| > renames MCCacheRepository #default to #uniqueInstance. Therefore,
| > to be able to bootstrap Metacello we need to change:
| >
| > ConfigurationOfMetacello class >> bootstrapPackage: aString from:
| > aPath
| > | repository version |
| > repository := (MCCacheRepository uniqueInstance
| > includesVersionNamed: aString)
| > ifTrue: [MCCacheRepository uniqueInstance]
| > ifFalse: [MCHttpRepository
| > location: aPath
| > user: ''
| > password: ''].
| > repository
| > versionReaderForFileNamed: aString , '.mcz'
| > do: [:reader |
| > version := reader version.
| > version load.
| > version workingCopy repositoryGroup addRepository: repository]
| >
| > I could commit, but I don't want to break Metacello loading in
| > other images and I don't know how do you handle these cases.
| >
| > Thanks,
| >
| >
| > --
| > Mariano
| > http://marianopeck.wordpress.com
| >
|
|
|
July 23, 2012
Re: [Pharo-project] Cairo, VM?
by Hilaire Fernandes
Le 23/07/2012 13:38, Igor Stasenko a écrit :
> This trait used by multiple classes. Should be everything ok.. but i will check
I really have to hand edit in several place, and I am pretty sure it is
not the intended goal of trait ;-)
Not sure what went wrong.
Hilaire
July 23, 2012
Re: [Pharo-project] Memory usage
by Tudor Girba
The prospect sounds exciting.
Jannik, if you do manage to get this to work with Moose, it would be
great to document it :)
Cheers,
Doru
On Mon, Jul 23, 2012 at 2:15 PM, David T. Lewis <lewis(a)mail.msen.com> wrote:
> On Mon, Jul 23, 2012 at 09:26:18AM +0200, jannik.laval wrote:
>> Dear pharoers,
>>
>> We are loading really big models in the Moose software analysis platform.
>> This generate a lot of small objects and with the biggest model, we approach the limit of 2Gb of the VM.
>>
>> Is it possible for anyone who knows the VM to add extra memory space ? Going to 4Gb or maybe 8Gb would be a great thing.
>>
>
> It is possible to have an image of at least 7GB (I have done this on
> my PC with 8GB real memory). Currently this requires tracing the image
> to a 64-bit object format with SystemTracer, and running the image
> on an interpreter VM compiled for the 64-bit format.
>
> I expect that this will work for Moose in a Pharo image, although
> performance of the garbage collector is likely to become an issue
> as the memory grows with lots of smaller objects, and the 64-bit
> interpreter VM will be significantly slower than a 32-bit Cog VM.
>
> If you want to try this with one of your images, I'll try to give you
> some help.
>
> I believe that Eliot has longer term plans for 64-bit object formats,
> VMs, and improved garbage collectors.
>
> Dave
>
>
--
www.tudorgirba.com
"Every thing has its own flow"
July 23, 2012
Re: [Pharo-project] Memory usage
by David T. Lewis
On Mon, Jul 23, 2012 at 09:26:18AM +0200, jannik.laval wrote:
> Dear pharoers,
>
> We are loading really big models in the Moose software analysis platform.
> This generate a lot of small objects and with the biggest model, we approach the limit of 2Gb of the VM.
>
> Is it possible for anyone who knows the VM to add extra memory space ? Going to 4Gb or maybe 8Gb would be a great thing.
>
It is possible to have an image of at least 7GB (I have done this on
my PC with 8GB real memory). Currently this requires tracing the image
to a 64-bit object format with SystemTracer, and running the image
on an interpreter VM compiled for the 64-bit format.
I expect that this will work for Moose in a Pharo image, although
performance of the garbage collector is likely to become an issue
as the memory grows with lots of smaller objects, and the 64-bit
interpreter VM will be significantly slower than a 32-bit Cog VM.
If you want to try this with one of your images, I'll try to give you
some help.
I believe that Eliot has longer term plans for 64-bit object formats,
VMs, and improved garbage collectors.
Dave
July 23, 2012
[Pharo-project] How to filter out method extensions in Ring?
by Hernán Morales Durand
Hello all,
You may help me on this one. I want to filter out method selectors which
are extensions of a particular class. For example, in Pharo 1.4 the
ArrayedCollection class has these selectors:
ArrayedCollection selectors asSortedCollection
I would want all of them except #writeOnGZIPByteStream: which is in
"Compression" package. I did a try to Ring
ArrayedCollection selectors asSortedCollection collect: [ : each |
RGMethodDefinition
class: ArrayedCollection
selector: each ]
with MethodReference I did :
... ( each category beginsWith: '*' ) not ...
but it seems not supported in Ring? Any hints?
Cheers,
Hernán
July 23, 2012
Re: [Pharo-project] Cairo, VM?
by Igor Stasenko
On 9 July 2012 14:31, Hilaire Fernandes <hilaire.fernandes(a)edu.ge.ch> wrote:
> I need to adjust the path to the Cairo lib.
> Some cleaning seems to be needed as nbLibraryNameOrHandle is redefined
> several time. Or do I misunderstand something with the Trait ?
>
This trait used by multiple classes. Should be everything ok.. but i will check
> Hilaire
>
>
>
>
>
>
> On 07/07/2012 21:53, Igor Stasenko wrote:
>> On 7 July 2012 21:44, Hilaire Fernandes <hilaire.fernandes(a)edu.ge.ch> wrote:
>>> And for the Linux VM?
>>> All are good?
>>>
>> linux NBCog should work just fine.
>>
>>>
>>> Thanks
>>>
>>> Hilaire
>>>
>>> On 07/07/2012 06:26, Igor Stasenko wrote:
>>>> RIght now for macs only..
>>>> https://ci.lille.inria.fr/pharo/view/NativeBoost/job/NB-Cog-Mac-Cocoa/29/
>>>>
>>>> (well, actually linux one is *ready* too , you just need to install
>>>> cairo library by yourself,
>>>> and even, AFAIK, it is there by default in many linux distros
>>>>
>>>> on linux we don't need to care about bundling.
>>>>
>>>
>>>
>>> --
>>> Dr. Geo -- http://www.drgeo.eu
>>>
>>>
>>>
>>>
>>
>>
>>
>
>
> --
> Dr. Geo -- http://www.drgeo.eu
>
>
>
>
--
Best regards,
Igor Stasenko.
July 23, 2012
Re: [Pharo-project] athens for strikefonts
by Tudor Girba
Sure. I was just pinging to make sure the point does not get lost :)
Cheers,
Doru
On Mon, Jul 23, 2012 at 1:26 PM, Igor Stasenko <siguctua(a)gmail.com> wrote:
> Hi, Tudor & all.
>
> Yes. i will work on that in closest days..
> but first i need to finish with the VM update/upgrade cycle, so we
> could have a better prepared VMs for Athens, SSL on Windows.
>
> On 22 July 2012 22:04, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
>> Ah okay. I understand now
>>
>> Alexandre
>>
>>
>> On Jul 22, 2012, at 11:50 AM, Tudor Girba wrote:
>>
>>> For the time being, StrikeFonts are the default fonts in Pharo. Given that it is the default it is used in practice all the time, and thus if we want Athens to be adopted easily we need support for the default case.
>>>
>>> The other solution is to change the default fonts, but this implies that we need to rethink how we distribute it, too, and I guess this will take a while.
>>>
>>> Cheers,
>>> Doru
>>>
>>>
>>> On 22 Jul 2012, at 16:40, Alexandre Bergel wrote:
>>>
>>>> Hi Doru,
>>>>
>>>> I am missing why StrikeFonts is so important for Moose. Is it the font used in all other the system?
>>>>
>>>> Cheers,
>>>> Alexandre
>>>>
>>>>
>>>> On Jul 22, 2012, at 5:00 AM, Tudor Girba wrote:
>>>>
>>>>> Hi Igor,
>>>>>
>>>>> First of all, how was your holidays? :)
>>>>>
>>>>> A while ago, you said that supporting StrikeFonts would not be that difficult. For me it would be important to have this support in order to have a smooth transition to Athens even without Cairo.
>>>>>
>>>>> So, what would it take for this support to happen?
>>>>>
>>>>> Cheers,
>>>>> Doru
>>>>>
>>>>>
>>>>> On 11 Jul 2012, at 09:04, Tudor Girba wrote:
>>>>>
>>>>>> Aha. Ok. I will wait.
>>>>>>
>>>>>> Doru
>>>>>>
>>>>>>
>>>>>> On Wed, Jul 11, 2012 at 8:43 AM, Stéphane Ducasse
>>>>>> <stephane.ducasse(a)inria.fr> wrote:
>>>>>>> Good idea if possible.
>>>>>>> Igor like me is on vacation until 19 of july.
>>>>>>>
>>>>>>> On Jul 10, 2012, at 7:07 AM, Tudor Girba wrote:
>>>>>>>
>>>>>>>> Hi Igor,
>>>>>>>>
>>>>>>>> I just wanted to ask: is the little fix of having Athens work with StrikeFont still on the roadmap :)?
>>>>>>>>
>>>>>>>> As I mentioned before, this would make the adoption easier, because we can switch the Athens even with the regular CogVMs.
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Doru
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> www.tudorgirba.com
>>>>>>>>
>>>>>>>> "It's not what we do that matters most, it's how we do it."
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> www.tudorgirba.com
>>>>>>
>>>>>> "Every thing has its own flow"
>>>>>
>>>>> --
>>>>> www.tudorgirba.com
>>>>>
>>>>> "In a world where everything is moving ever faster,
>>>>> one might have better chances to win by moving slower."
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>>> Alexandre Bergel http://www.bergel.eu
>>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>>
>>>>
>>>>
>>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Every now and then stop and ask yourself if the war you're fighting is the right one."
>>>
>>>
>>>
>>>
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko.
>
--
www.tudorgirba.com
"Every thing has its own flow"
July 23, 2012
Re: [Pharo-project] athens for strikefonts
by Igor Stasenko
Hi, Tudor & all.
Yes. i will work on that in closest days..
but first i need to finish with the VM update/upgrade cycle, so we
could have a better prepared VMs for Athens, SSL on Windows.
On 22 July 2012 22:04, Alexandre Bergel <alexandre.bergel(a)me.com> wrote:
> Ah okay. I understand now
>
> Alexandre
>
>
> On Jul 22, 2012, at 11:50 AM, Tudor Girba wrote:
>
>> For the time being, StrikeFonts are the default fonts in Pharo. Given that it is the default it is used in practice all the time, and thus if we want Athens to be adopted easily we need support for the default case.
>>
>> The other solution is to change the default fonts, but this implies that we need to rethink how we distribute it, too, and I guess this will take a while.
>>
>> Cheers,
>> Doru
>>
>>
>> On 22 Jul 2012, at 16:40, Alexandre Bergel wrote:
>>
>>> Hi Doru,
>>>
>>> I am missing why StrikeFonts is so important for Moose. Is it the font used in all other the system?
>>>
>>> Cheers,
>>> Alexandre
>>>
>>>
>>> On Jul 22, 2012, at 5:00 AM, Tudor Girba wrote:
>>>
>>>> Hi Igor,
>>>>
>>>> First of all, how was your holidays? :)
>>>>
>>>> A while ago, you said that supporting StrikeFonts would not be that difficult. For me it would be important to have this support in order to have a smooth transition to Athens even without Cairo.
>>>>
>>>> So, what would it take for this support to happen?
>>>>
>>>> Cheers,
>>>> Doru
>>>>
>>>>
>>>> On 11 Jul 2012, at 09:04, Tudor Girba wrote:
>>>>
>>>>> Aha. Ok. I will wait.
>>>>>
>>>>> Doru
>>>>>
>>>>>
>>>>> On Wed, Jul 11, 2012 at 8:43 AM, Stéphane Ducasse
>>>>> <stephane.ducasse(a)inria.fr> wrote:
>>>>>> Good idea if possible.
>>>>>> Igor like me is on vacation until 19 of july.
>>>>>>
>>>>>> On Jul 10, 2012, at 7:07 AM, Tudor Girba wrote:
>>>>>>
>>>>>>> Hi Igor,
>>>>>>>
>>>>>>> I just wanted to ask: is the little fix of having Athens work with StrikeFont still on the roadmap :)?
>>>>>>>
>>>>>>> As I mentioned before, this would make the adoption easier, because we can switch the Athens even with the regular CogVMs.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Doru
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> www.tudorgirba.com
>>>>>>>
>>>>>>> "It's not what we do that matters most, it's how we do it."
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> www.tudorgirba.com
>>>>>
>>>>> "Every thing has its own flow"
>>>>
>>>> --
>>>> www.tudorgirba.com
>>>>
>>>> "In a world where everything is moving ever faster,
>>>> one might have better chances to win by moving slower."
>>>>
>>>>
>>>>
>>>>
>>>
>>> --
>>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>>> Alexandre Bergel http://www.bergel.eu
>>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>>
>>>
>>>
>>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every now and then stop and ask yourself if the war you're fighting is the right one."
>>
>>
>>
>>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
--
Best regards,
Igor Stasenko.
July 23, 2012