Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- 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
November 2015
- 972 messages
Re: [Pharo-dev] problem using curl and wget in zero-conf
by Dale Henrichs
On 11/23/2015 03:39 PM, Esteban A. Maringolo wrote:
> 2015-11-23 20:25 GMT-03:00 Dale Henrichs <dale.henrichs(a)gemtalksystems.com>:
>> I've been using zero-conf scripts to download the pharo vm for a while and
>> occasionally the download fails to install the vm in the pharo-vm directory
>> .... silently ..... with no clue as to what happened. even worse the exit
>> status is zero so the failure isn't noticed until much later on in my
>> install when an attempt is made to actually use the vm .... I do know that
>> when I see these failures the pharo-vm does get created but is empty ...
> +1. I've been bitten by this too.
>
> I would also like the option of seeing the progress of the download of
> the sources AND vm, because sometimes I want to know how the download
> is going on, speed, etc.
>
> Regards!
>
> --
> Esteban
>
I agree with the progress, but when running as a batch job, you end up
with a ton of junk being dumped out into the log file ... getting rid of
junk from a log file is how I learned about the problem with --silent:)
With regards to the issue I am having --- I have hit a point in my
testing (on travis) where I consistently get the:
> /home/travis/build/GsDevKit/GsDevKit_home/shared/pharo/pharo: line 11:
> /home/travis/build/GsDevKit/GsDevKit_home/shared/pharo/pharo-vm/pharo:
> No such file or directory
error message yet the following appears to work:
> if [ "$OS" == "win" ]; then
> PHARO_VM=`find $VM_DIR -name ${VM_BINARY_NAME}.exe`
> elif [ "$OS" == "mac" ]; then
> PHARO_VM=`find $VM_DIR -name ${VM_BINARY_NAME}`
> elif [ "$OS" == "linux" ]; then
> PHARO_VM=`find $VM_DIR -name ${VM_BINARY_NAME_LINUX}`
> fi
>
> echo $PHARO_VM
since `pharo-vm/pharo` is properly echoed even though the file does not
appear to exist? I'm digging deeper ....
Dale
Nov. 24, 2015
Re: [Pharo-dev] problem using curl and wget in zero-conf
by Dale Henrichs
In case more info is needed, you can look at an example of a failure on
travis[1], where an apparently successful download of the vm ends up
with a non-existent pharo/pharo-vm/pharo executable on linx ...
I suspect (hope?) that I'm missing some crucial error information from
the download...
Dale
[1] https://travis-ci.org/GsDevKit/GsDevKit_home/jobs/92825487
On 11/23/2015 03:29 PM, Dale Henrichs wrote:
> If it matters, I'm downloading the pharo30 vm: get.pharo.org/vm30
>
> On 11/23/2015 03:25 PM, Dale Henrichs wrote:
>> I've been using zero-conf scripts to download the pharo vm for a
>> while and occasionally the download fails to install the vm in the
>> pharo-vm directory .... silently ..... with no clue as to what
>> happened. even worse the exit status is zero so the failure isn't
>> noticed until much later on in my install when an attempt is made to
>> actually use the vm .... I do know that when I see these failures the
>> pharo-vm does get created but is empty ...
>>
>> I got another failure today and figured that I would dig into this on
>> my end to see if I could understand what might be going on ....
>>
>> The section of the zero-conf script that is suspect is the following:
>>
>> mkdir $VM_DIR
>> $DOWNLOAD_TO$VM_DIR/vm.zip $VM_URL
>>
>>
>> After the $VM_DIR is created (which I know happens), the $DOWNLOAD_TO
>> script is run. Recently, I learned that a side effect of using the
>> --silent option for curl is that error messages are also suppressed
>> and I see that for curl, the `--silent` option is being used:
>>
>> if [[ `which curl 2> /dev/null` ]]; then
>> DOWNLOAD="curl --silent --location --compressed ";
>> DOWNLOAD_TO="$DOWNLOAD --output ";
>> elif [[ `which wget 2> /dev/null` ]]; then
>> DOWNLOAD_TO="wget --quiet --output-document=";
>> DOWNLOAD="$DOWNLOAD_TO-";
>> else
>> echo "Please install curl or wget on your machine";
>> exit 1
>> fi
>>
>>
>> For curl if you want to turn off the progress meter (a good thing)
>> and continue to report errors, you need to use --show-error in
>> conjunction with --silent (as described in the man page)
>>
>> I think the same thing applies to wget, --quiet turns off error
>> messages and progress .... you probably should be using --no-verbose
>> to continue to get error messages ...
>>
>> Dale
>>
>
Nov. 23, 2015
Re: [Pharo-dev] problem using curl and wget in zero-conf
by Esteban A. Maringolo
2015-11-23 20:25 GMT-03:00 Dale Henrichs <dale.henrichs(a)gemtalksystems.com>:
> I've been using zero-conf scripts to download the pharo vm for a while and
> occasionally the download fails to install the vm in the pharo-vm directory
> .... silently ..... with no clue as to what happened. even worse the exit
> status is zero so the failure isn't noticed until much later on in my
> install when an attempt is made to actually use the vm .... I do know that
> when I see these failures the pharo-vm does get created but is empty ...
+1. I've been bitten by this too.
I would also like the option of seeing the progress of the download of
the sources AND vm, because sometimes I want to know how the download
is going on, speed, etc.
Regards!
--
Esteban
Nov. 23, 2015
Re: [Pharo-dev] vm crash in SmalltalkImage>garbageCollect
by Mariano Martinez Peck
Could you upload somewhere the image ready for running the test and make it
crash?
thanks
On Mon, Nov 23, 2015 at 8:32 PM, Mariano Martinez Peck <
marianopeck(a)gmail.com> wrote:
> 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(a)gmail.com>
> wrote:
>
>>
>> On Mon, Nov 23, 2015 at 9:55 PM, Mariano Martinez Peck <
>> marianopeck(a)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(a)gmail.com
>>> > wrote:
>>>
>>>> So it's not just me. Thanks
>>>>
>>>> Cheers,
>>>> Andrei
>>>>
>>>> On Nov 23, 2015 5:44 PM, "Max Leske" <maxleske(a)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(a)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(a)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(a)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(a)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(a)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
>
--
Mariano
http://marianopeck.wordpress.com
Nov. 23, 2015
Re: [Pharo-dev] vm crash in SmalltalkImage>garbageCollect
by Mariano Martinez Peck
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(a)gmail.com>
wrote:
>
> On Mon, Nov 23, 2015 at 9:55 PM, Mariano Martinez Peck <
> marianopeck(a)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(a)gmail.com>
>> wrote:
>>
>>> So it's not just me. Thanks
>>>
>>> Cheers,
>>> Andrei
>>>
>>> On Nov 23, 2015 5:44 PM, "Max Leske" <maxleske(a)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(a)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(a)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(a)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(a)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(a)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
Nov. 23, 2015
Debugging a failing test doesn't include the full stack
by Esteban A. Maringolo
I'm trying to debug a failing test case in Pharo 5, but for some reason in
certain tests I can't see the full stack, so basically I can't fix nor
diagnose the failing test within the debugger because I only get the assert
notification.
This doesn't happen in Pharo 4, there seems to be a refactoring of the
TestCase hierarchy, but I don't know how it affects the exception handling,
which in the case of Glorp seems to not be very orthodox.
Regards!
â
Esteban A. Maringolo
Nov. 23, 2015
Re: [Pharo-dev] problem using curl and wget in zero-conf
by Dale Henrichs
If it matters, I'm downloading the pharo30 vm: get.pharo.org/vm30
On 11/23/2015 03:25 PM, Dale Henrichs wrote:
> I've been using zero-conf scripts to download the pharo vm for a while
> and occasionally the download fails to install the vm in the pharo-vm
> directory .... silently ..... with no clue as to what happened. even
> worse the exit status is zero so the failure isn't noticed until much
> later on in my install when an attempt is made to actually use the vm
> .... I do know that when I see these failures the pharo-vm does get
> created but is empty ...
>
> I got another failure today and figured that I would dig into this on
> my end to see if I could understand what might be going on ....
>
> The section of the zero-conf script that is suspect is the following:
>
> mkdir $VM_DIR
> $DOWNLOAD_TO$VM_DIR/vm.zip $VM_URL
>
>
> After the $VM_DIR is created (which I know happens), the $DOWNLOAD_TO
> script is run. Recently, I learned that a side effect of using the
> --silent option for curl is that error messages are also suppressed
> and I see that for curl, the `--silent` option is being used:
>
> if [[ `which curl 2> /dev/null` ]]; then
> DOWNLOAD="curl --silent --location --compressed ";
> DOWNLOAD_TO="$DOWNLOAD --output ";
> elif [[ `which wget 2> /dev/null` ]]; then
> DOWNLOAD_TO="wget --quiet --output-document=";
> DOWNLOAD="$DOWNLOAD_TO-";
> else
> echo "Please install curl or wget on your machine";
> exit 1
> fi
>
>
> For curl if you want to turn off the progress meter (a good thing) and
> continue to report errors, you need to use --show-error in conjunction
> with --silent (as described in the man page)
>
> I think the same thing applies to wget, --quiet turns off error
> messages and progress .... you probably should be using --no-verbose
> to continue to get error messages ...
>
> Dale
>
Nov. 23, 2015
problem using curl and wget in zero-conf
by Dale Henrichs
I've been using zero-conf scripts to download the pharo vm for a while
and occasionally the download fails to install the vm in the pharo-vm
directory .... silently ..... with no clue as to what happened. even
worse the exit status is zero so the failure isn't noticed until much
later on in my install when an attempt is made to actually use the vm
.... I do know that when I see these failures the pharo-vm does get
created but is empty ...
I got another failure today and figured that I would dig into this on my
end to see if I could understand what might be going on ....
The section of the zero-conf script that is suspect is the following:
mkdir $VM_DIR
$DOWNLOAD_TO$VM_DIR/vm.zip $VM_URL
After the $VM_DIR is created (which I know happens), the $DOWNLOAD_TO
script is run. Recently, I learned that a side effect of using the
--silent option for curl is that error messages are also suppressed and
I see that for curl, the `--silent` option is being used:
if [[ `which curl 2> /dev/null` ]]; then
DOWNLOAD="curl --silent --location --compressed ";
DOWNLOAD_TO="$DOWNLOAD --output ";
elif [[ `which wget 2> /dev/null` ]]; then
DOWNLOAD_TO="wget --quiet --output-document=";
DOWNLOAD="$DOWNLOAD_TO-";
else
echo "Please install curl or wget on your machine";
exit 1
fi
For curl if you want to turn off the progress meter (a good thing) and
continue to report errors, you need to use --show-error in conjunction
with --silent (as described in the man page)
I think the same thing applies to wget, --quiet turns off error messages
and progress .... you probably should be using --no-verbose to continue
to get error messages ...
Dale
Nov. 23, 2015
Re: [Pharo-dev] test coverage for String
by sheridan@sheridan-mahoney.com
Hi Alexandre,
Thanks for the reply - I was able to get things working. With regard to
test coverage for String, I just wanted to let you know I'm adding tests
in this area (just to hopefully prevent duplicate efforts...).
Cheers,
Sheridan
------------------------------
[ For people not aware of Hapao: Hapao is a visual test coverage tool
for Pharo. More info on:
http://bergel.eu/download/papers/Berg12c-HapaoSCP.pdf [37] ]
Hi Sheridan,
How did you load Hapao? Roassal seems to be missing. The following
should work:
Gofer it
smalltalkhubUser: 'ObjectProfile' project: 'Spy2';
configurationOf: 'Spy2';
loadStable.
I can get the coverage of the class String. Here is the result by the
way:
https://dl.dropboxusercontent.com/u/31543901/TMP/StringCoverage/index.html
[38]
Interesting to see that, despite all the unit test that uses String,
String is not even 50% covered. I have attached the html coverage report
to this email.
Cheers,
Alexandre
Nov. 23, 2015
Re: [Pharo-dev] Change in String>>#expandMacros between Pharo v4 and v5
by Esteban A. Maringolo
2015-11-23 17:57 GMT-03:00 Nicolai Hess <nicolaihess(a)gmail.com>:
>
>
> 2015-11-23 21:53 GMT+01:00 Esteban A. Maringolo <emaringolo(a)gmail.com>:
>>
>> Hi,
>>
>> I'm testing the new glorp port in Pharo 5 and got some failing errors
>> related with #expandMacros that don't fail in Pharo 4.
>>
>> Does somebody know why this works in Pharo 4 but not in Pharo 5?
>
>
> Maybe this one:
> 16863 Make expandMacros more consistent with general use
Well... it makes sense.
I found there is a #withUnixLineEndings and I'm using this, but there
should be a #withOSLineEndings using also OSPlatform current
lineEnding.
Regards!
Esteban A. Maringolo
Nov. 23, 2015