Nov. 23, 2015
11:32 p.m.
Mmmm I tried in 50463 and I cannot reproduce the crash with your steps. I
am using latest VM and on OSX Capitan.
And you?
On Mon, Nov 23, 2015 at 7:27 PM, Andrei Chis <chisvasileandrei@gmail.com>
wrote:
>
> On Mon, Nov 23, 2015 at 9:55 PM, Mariano Martinez Peck <
> marianopeck@gmail.com> wrote:
>
>> Can you confirm the image is later than 50454?
>>
>
> Yes, it is (50461).
> I can reproduce it up to 50388 as in 50387 due to some changes in the
> theming mechanism I can no longer load the configuration by default.
>
>
>
>> I was thinking if it could be a VM crash because of this issue:
>> https://pharo.fogbugz.com/f/cases/13854/
>>
>> Cheers,
>>
>> On Mon, Nov 23, 2015 at 5:07 PM, Andrei Chis <chisvasileandrei@gmail.com>
>> wrote:
>>
>>> So it's not just me. Thanks
>>>
>>> Cheers,
>>> Andrei
>>>
>>> On Nov 23, 2015 5:44 PM, "Max Leske" <maxleske@gmail.com> wrote:
>>> >
>>> > Reprocucible as per your steps:
>>> >
>>> > Segmentation fault Mon Nov 23 17:42:47 2015
>>> >
>>> >
>>> > https://github.com/pharo-project/pharo-vm.git Commit:
>>> 28d077d8df494ce050ca42c97c892471e8b8740c Date: 2015-10-16 12:02:43 +0200
>>> By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #15016
>>> >
>>> > C stack backtrace:
>>> > 0 Pharo 0x0004cacf reportStackState +
>>> 159
>>> >
>>> >
>>> > Smalltalk stack dump:
>>> > 0xbffbe11c M SmalltalkImage>garbageCollect 0x1fd49e30: a(n)
>>> SmalltalkImage
>>> > 0xbffbe140 I GTExampleOrganizer>reset 0x216acc5c: a(n)
>>> GTExampleOrganizer
>>> > 0x216ad57c is not a context
>>> >
>>> > Most recent primitives
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > perform:with:
>>> > fractionPart
>>> > truncated
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > perform:with:
>>> > fractionPart
>>> > truncated
>>> > perform:with:
>>> > fractionPart
>>> > truncated
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > basicNew
>>> > basicNew
>>> > basicNew
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > shallowCopy
>>> > new
>>> > new:
>>> > new:
>>> > basicNew
>>> > basicNew
>>> > new:
>>> > basicNew
>>> > new:
>>> > replaceFrom:to:with:startingAt:
>>> > new:
>>> > basicNew
>>> > new:
>>> > replaceFrom:to:with:startingAt:
>>> > new:
>>> > basicNew
>>> > @
>>> > new:
>>> > at:put:
>>> > at:put:
>>> > perform:with:
>>> > perform:with:
>>> > perform:
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > new:
>>> > at:put:
>>> > at:put:
>>> > perform:with:
>>> > perform:with:
>>> > perform:
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > new
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > new:
>>> > at:put:
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > @
>>> > @
>>> > new:
>>> > at:put:
>>> > at:put:
>>> > at:put:
>>> > at:put:
>>> > new:
>>> > @
>>> > at:put:
>>> > @
>>> > at:put:
>>> > @
>>> > at:put:
>>> > @
>>> > at:put:
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > shallowCopy
>>> > shallowCopy
>>> > @
>>> > @
>>> > new:
>>> > at:put:
>>> > at:put:
>>> > at:put:
>>> > at:put:
>>> > new:
>>> > @
>>> > at:put:
>>> > @
>>> > at:put:
>>> > @
>>> > at:put:
>>> > @
>>> > at:put:
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > @
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > @
>>> > @
>>> > basicNew
>>> > @
>>> > @
>>> > perform:
>>> > basicNew
>>> > new:
>>> > basicNew
>>> > new:
>>> > basicNew
>>> > new:
>>> > shallowCopy
>>> > shallowCopy
>>> > primUTCMicrosecondsClock
>>> > //
>>> > basicNew
>>> > basicNew
>>> > new:
>>> > at:put:
>>> > at:put:
>>> > at:put:
>>> > at:put:
>>> > value
>>> > valueNoContextSwitch
>>> > basicNew
>>> > new:
>>> > basicNew
>>> > new:
>>> > new:
>>> > basicNew
>>> > new:
>>> > replaceFrom:to:with:startingAt:
>>> > primitiveGarbageCollect
>>> > **IncrementalGC**
>>> > **FullGC**
>>> > garbageCollectMost
>>> > **IncrementalGC**
>>> > basicNew
>>> > new:
>>> > someInstance
>>> > basicNew
>>> > new:
>>> > someInstance
>>> > basicNew
>>> > new:
>>> > someInstance
>>> > new:
>>> > basicNew
>>> > new:
>>> > replaceFrom:to:with:startingAt:
>>> > primitiveGarbageCollect
>>> > **IncrementalGC**
>>> > **FullGC**
>>> >
>>> > (Segmentation fault)
>>> > ./pharo: line 11: 16509 Abort trap: 6
>>> "$DIR"/"pharo-vm/Pharo.app/Contents/MacOS/Pharo" --headless "$@â
>>> >
>>> >> On 23 Nov 2015, at 17:30, Andrei Chis <chisvasileandrei@gmail.com>
>>> wrote:
>>> >>
>>> >> The image is small 25.4 MB.
>>> >>
>>> >> First I'd like to know if this can be reproduced by others.
>>> >>
>>> >> On Mon, Nov 23, 2015 at 5:09 PM, Mariano Martinez Peck <
>>> marianopeck@gmail.com> wrote:
>>> >>>
>>> >>> What is the size of the .image when you are about to run GC?
>>> >>>
>>> >>> On Mon, Nov 23, 2015 at 12:59 PM, Andrei Chis <
>>> chisvasileandrei@gmail.com> wrote:
>>> >>>>
>>> >>>> Hi,
>>> >>>>
>>> >>>> With both the latest and stable vm I have an use case in which the
>>> vm crashed in SmalltalkImage>>garbageCollect.
>>> >>>>
>>> >>>> To set up an image that exhibits the failure , execute this with
>>> the latest pharo version:
>>> >>>>
>>> >>>> /pharo Pharo.image eval --save "{ { 'ConfigurationOfRubric'.
>>> 'Pharo'. 'Rubric' }. { 'ConfigurationOfGlamourCore'. 'Moose'. 'Glamour' }.
>>> { 'ConfigurationOfGTInspectorCore'. 'Moose'. 'GToolkit' }. {
>>> 'ConfigurationOfGTPlaygroundCore'. 'Moose'. 'GToolkit' }. {
>>> 'ConfigurationOfGTEventRecorder'. 'Moose'. 'GToolkit' }. {
>>> 'ConfigurationOfGTSpotter'. 'Moose'. 'GToolkit' }. } do: [ :spec | Gofer
>>> new smalltalkhubUser: spec second project: spec third; package: spec first;
>>> load ]."
>>> >>>>
>>> >>>> ./pharo Pharo.image config
>>> http://www.smalltalkhub.com/mc/Pharo/Pharo50Inbox/main
>>> ConfigurationOfGToolkitCore --install=3.2
>>> >>>>
>>> >>>> Then attempting to run the following code triggers the failure:
>>> >>>>
>>> >>>> ./pharo Pharo.image eval --save "TestRunner open model
>>> packageSearchUpdate: 'gt-tests-inspector'; classSearchUpdate:
>>> 'GTInspectorExamplesTest'; runAll"
>>> >>>>
>>> >>>> Based on the trace below the failure happens when the
>>> test GTInspectorExamplesTest calls 'Smalltalk>>garbageCollect' in the setUp
>>> method.
>>> >>>>
>>> >>>> That call can be removed, however, in other runs the failure
>>> happens in other methods calling Smalltalk>>garbageCollect.
>>> >>>>
>>> >>>> Is it possible that this is a bug with the image (some broken
>>> object) or is it a vm bug?
>>> >>>>
>>> >>>> Cheers,
>>> >>>>
>>> >>>> Andrei
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> andrei$ ./pharo Pharo.image eval --save "{ {
>>> 'ConfigurationOfRubric'. 'Pharo'. 'Rubric' }. {
>>> 'ConfigurationOfGlamourCore'. 'Moose'. 'Glamour' }. {
>>> 'ConfigurationOfGTInspectorCore'. 'Moose'. 'GToolkit' }. {
>>> 'ConfigurationOfGTPlaygroundCore'. 'Moose'. 'GToolkit' }. {
>>> 'ConfigurationOfGTEventRecorder'. 'Moose'. 'GToolkit' }. {
>>> 'ConfigurationOfGTSpotter'. 'Moose'. 'GToolkit' }. } do: [ :spec | Gofer
>>> new smalltalkhubUser: spec second project: spec third; package: spec first;
>>> load ]."
>>> >>>>
>>> >>>> andrei$ ./pharo Pharo.image config
>>> http://www.smalltalkhub.com/mc/Pharo/Pharo50Inbox/main
>>> ConfigurationOfGToolkitCore --install=3.2
>>> >>>>
>>> >>>> andrei$ ./pharo Pharo.image eval --save "TestRunner open model
>>> packageSearchUpdate: 'gt-tests-inspector'; classSearchUpdate:
>>> 'GTInspectorExamplesTest'; runAll"
>>> >>>>
>>> >>>>
>>> >>>> Segmentation fault Mon Nov 23 16:48:36 2015
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> https://github.com/pharo-project/pharo-vm.git Commit:
>>> 28d077d8df494ce050ca42c97c892471e8b8740c Date: 2015-10-16 12:02:43 +0200
>>> By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #15016
>>> >>>>
>>> >>>>
>>> >>>> C stack backtrace:
>>> >>>>
>>> >>>> 0 Pharo 0x0004cacf reportStackState
>>> + 159
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> Smalltalk stack dump:
>>> >>>>
>>> >>>> 0xbffbf1a0 M SmalltalkImage>garbageCollect 0x1fd49e30: a(n)
>>> SmalltalkImage
>>> >>>>
>>> >>>> 0xbffbf1c0 I GTInspectorExamplesTest>setUp 0x2126bc80: a(n)
>>> GTInspectorExamplesTest
>>> >>>>
>>> >>>> 0x2126cb90 is not a context
>>> >>>>
>>> >>>>
>>> >>>> Most recent primitives
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> shallowCopy
>>> >>>>
>>> >>>> new
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> replaceFrom:to:with:startingAt:
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> replaceFrom:to:with:startingAt:
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> perform:with:
>>> >>>>
>>> >>>> perform:with:
>>> >>>>
>>> >>>> perform:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> perform:with:
>>> >>>>
>>> >>>> perform:with:
>>> >>>>
>>> >>>> perform:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> new
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> shallowCopy
>>> >>>>
>>> >>>> shallowCopy
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> @
>>> >>>>
>>> >>>> perform:
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> shallowCopy
>>> >>>>
>>> >>>> shallowCopy
>>> >>>>
>>> >>>> primUTCMicrosecondsClock
>>> >>>>
>>> >>>> //
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> value
>>> >>>>
>>> >>>> valueNoContextSwitch
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> replaceFrom:to:with:startingAt:
>>> >>>>
>>> >>>> primitiveGarbageCollect
>>> >>>>
>>> >>>> **IncrementalGC**
>>> >>>>
>>> >>>> **FullGC**
>>> >>>>
>>> >>>> garbageCollectMost
>>> >>>>
>>> >>>> **IncrementalGC**
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> someInstance
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> someInstance
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> someInstance
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> replaceFrom:to:with:startingAt:
>>> >>>>
>>> >>>> primitiveGarbageCollect
>>> >>>>
>>> >>>> **IncrementalGC**
>>> >>>>
>>> >>>> **FullGC**
>>> >>>>
>>> >>>> garbageCollectMost
>>> >>>>
>>> >>>> **IncrementalGC**
>>> >>>>
>>> >>>> wait
>>> >>>>
>>> >>>> shallowCopy
>>> >>>>
>>> >>>> shallowCopy
>>> >>>>
>>> >>>> signal
>>> >>>>
>>> >>>> wait
>>> >>>>
>>> >>>> shallowCopy
>>> >>>>
>>> >>>> shallowCopy
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> signal
>>> >>>>
>>> >>>> wait
>>> >>>>
>>> >>>> shallowCopy
>>> >>>>
>>> >>>> shallowCopy
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> at:put:
>>> >>>>
>>> >>>> signal
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> basicNew
>>> >>>>
>>> >>>> new:
>>> >>>>
>>> >>>> replaceFrom:to:with:startingAt:
>>> >>>>
>>> >>>> primitiveGarbageCollect
>>> >>>>
>>> >>>> **IncrementalGC**
>>> >>>>
>>> >>>> **FullGC**
>>> >>>>
>>> >>>>
>>> >>>> (Segmentation fault)
>>> >>>>
>>> >>>> ./pharo: line 11: 5224 Abort trap: 6
>>> "$DIR"/"pharo-vm/Pharo.app/Contents/MacOS/Pharo" --headless "$@"
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> --
>>> >>> Mariano
>>> >>> http://marianopeck.wordpress.com
>>> >>
>>> >>
>>> >
>>>
>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>
>
--
Mariano
http://marianopeck.wordpress.com