Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- 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
August 2011
- 104 participants
- 1359 messages
[Pharo-project] Policy for storing metacello configurations
by Max Leske
I would like to complain a bit about the current way Metacello configurations are distributed in different repositories. I ended up using the wrong configuration for two different projects twice in just two days. Apart from the date in the configuration file (and possibly the version number, although that's not as reliable) there's no easy way to tell which configuration is the most recent.
Some people seem to have adopted MetacelloRepository as the standard repository for all configurations, others keep the configuration for a project in the project repositories and a third group uses both repositories (where one repository contains outdated versions of courseâ¦).
Can we please agree on a simple policy on where to store the configuration for a project? I am sure that this would make life easier for all of us.
Cheers,
Max
Aug. 17, 2011
Re: [Pharo-project] Jenkis notification when Squeaksource is down [WAS] Re: [Pharo-fuel] Build failed in Jenkins: Fuel #112
by Lukas Renggli
On 17 August 2011 00:41, Mariano Martinez Peck <marianopeck(a)gmail.com> wrote:
> Marcus, is there a way to catch the errors when SqueakSource is down so that
> to avoid "false alarms" ?
Gofer new
disableRepositoryErrors;
...
and everything loads silently from the package-cache.
Lukas
>
> Thanks!
>
> On Wed, Aug 17, 2011 at 12:38 AM, <marcus.denker(a)inria.fr> wrote:
>>
>> See <http://ci.lille.inria.fr/pharo/job/Fuel/112/>
>>
>> ------------------------------------------
>> [...truncated 798 lines...]
>> Â Â Â Â (t4 value: t1)
>> Â Â Â Â Â Â Â Â ifTrue: [t3 value: t1]] in CommandLine
>> class(AbstractUserInput class)>>dispatch:
>> Â [:t2 | t1 value: t2 value] in Dictionary>>valuesDo:
>> Â [:t2 | t2
>> Â Â Â Â Â Â Â Â ifNotNil: [t1 value: t2]] in Dictionary>>associationsDo:
>> Â Array(SequenceableCollection)>>do:
>> Â Dictionary>>associationsDo:
>> Â Dictionary>>valuesDo:
>> Â Dictionary>>do:
>> Â CommandLine class(AbstractUserInput class)>>dispatch:
>> Â [self dispatch: singleton] in CommandLine class>>dispatch
>> Â BlockClosure>>cull:
>> Â [:t2 | t2 cull: t1] in SmalltalkImage>>executeDeferredStartupActions:
>> Â OrderedCollection>>do:
>> Â SmalltalkImage>>executeDeferredStartupActions:
>> Â SmalltalkImage>>snapshot:andQuit:
>> Â WorldState class>>saveAndQuit
>> Â [| t3 |
>> Â (t3 := selector numArgs) = 0
>> Â Â Â Â Â Â Â Â ifTrue: [target perform: selector]
>> Â Â Â Â Â Â Â Â ifFalse: [t3 = arguments size
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ifTrue: [target perform: selector
>> withArguments: arguments]
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ifFalse: [target
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â perform: selector
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â withArguments: (arguments
>> copyWith: t1)]].
>> Â Â Â Â self changed] in
>> ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
>> Â BlockClosure>>ensure:
>> Â CursorWithMask(Cursor)>>showWhile:
>> Â ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
>> Â ToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
>> Â ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
>> Â MouseButtonEvent>>sentTo:
>> Â ToggleMenuItemMorph(Morph)>>handleEvent:
>> Â MorphicEventDispatcher>>dispatchDefault:with:
>> Â MorphicEventDispatcher>>dispatchEvent:with:
>> Â ToggleMenuItemMorph(Morph)>>processEvent:using:
>> Â MorphicEventDispatcher>>dispatchDefault:with:
>> Â MorphicEventDispatcher>>dispatchEvent:with:
>> Â MenuMorph(Morph)>>processEvent:using:
>> Â MenuMorph(Morph)>>processEvent:
>> Â MenuMorph>>handleFocusEvent:
>> Â [ActiveHand := self.
>> Â Â Â Â ActiveEvent := t1.
>> Â Â Â Â t5 := t2
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â handleFocusEvent: (t1
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â transformedBy: (t2
>> transformedFrom: self))] in HandMorph>>sendFocusEvent:to:clear:
>> Â [t1 value] in PasteUpMorph>>becomeActiveDuring:
>> Â BlockClosure>>on:do:
>> Â PasteUpMorph>>becomeActiveDuring:
>> Â HandMorph>>sendFocusEvent:to:clear:
>> Â HandMorph>>sendEvent:focus:clear:
>> Â HandMorph>>sendMouseEvent:
>> Â HandMorph>>handleEvent:
>> Â HandMorph>>processEvents
>> Â [:t2 |
>> Â ActiveHand := t2.
>> Â Â Â Â t2 processEvents.
>> Â Â Â Â ActiveHand := nil] in WorldState>>doOneCycleNowFor:
>> Â Array(SequenceableCollection)>>do:
>> Â WorldState>>handsDo:
>> Â WorldState>>doOneCycleNowFor:
>> Â WorldState>>doOneCycleFor:
>> Â PasteUpMorph>>doOneCycle
>> Â [[World doOneCycle.
>> Â Â Â Â Processor yield.
>> Â Â Â Â false] whileFalse.
>> Â Â Â Â nil] in Project class>>spawnNewProcess
>> Â [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â ------------------------------------------------------------
>>
>> Â Processes and their stacks:
>> Â Process: a Process in nil
>> Â Â stack:
>>
>> Â Array(SequenceableCollection)>>do:
>> Â [:logger |
>> Â logger nextPutAll: 'Processes and their stacks: ';
>> Â Â Â Â Â Â Â Â cr.
>> Â Â Â Â Process allInstances
>> Â Â Â Â Â Â Â Â do: [:each |
>> Â Â Â Â Â Â Â Â Â Â Â Â | ctx |
>> Â Â Â Â Â Â Â Â Â Â Â Â logger nextPutAll: 'Process: ';
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â print: each;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â nextPutAll: ' Â stack:';
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr.
>> Â Â Â Â Â Â Â Â Â Â Â Â ctx := each isActiveProcess
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ifTrue: [thisContext
>> sender]
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ifFalse: [each
>> suspendedContext].
>> Â Â Â Â Â Â Â Â Â Â Â Â ctx
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ifNotNil: [(ctx stackOfSize: 20)
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â do: [:s | logger print: s;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr]].
>> Â Â Â Â Â Â Â Â Â Â Â Â logger nextPutAll:
>> '------------------------------';
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr]] in [Smalltalk logError: aString
>> inContext: aContext.
>> Â Â Â Â Smalltalk
>> Â Â Â Â Â Â Â Â logDuring: [:logger |
>> Â Â Â Â Â Â Â Â Â Â Â Â logger nextPutAll: 'Processes and their stacks: ';
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr.
>> Â Â Â Â Â Â Â Â Â Â Â Â Process allInstances
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â do: [:each |
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â | ctx |
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â logger nextPutAll: 'Process: ';
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â print: each;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â nextPutAll: ' Â stack:';
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr.
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ctx := each isActiveProcess
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ifTrue:
>> [thisContext sender]
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ifFalse:
>> [each suspendedContext].
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ctx
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ifNotNil: [(ctx
>> stackOfSize: 20)
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â do: [:s |
>> logger print: s;
>>
>> Â Â Â cr]].
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â logger nextPutAll:
>> '------------------------------';
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr]]] in
>> NonInteractiveUIManager>>quitFrom:withMessage:
>> Â [logStream := self openLog.
>> Â Â Â Â aMonadicBlock value: logStream] in SmalltalkImage>>logDuring:
>> Â BlockClosure>>ensure:
>> Â SmalltalkImage>>logDuring:
>> Â [Smalltalk logError: aString inContext: aContext.
>> Â Â Â Â Smalltalk
>> Â Â Â Â Â Â Â Â logDuring: [:logger |
>> Â Â Â Â Â Â Â Â Â Â Â Â logger nextPutAll: 'Processes and their stacks: ';
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr.
>> Â Â Â Â Â Â Â Â Â Â Â Â Process allInstances
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â do: [:each |
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â | ctx |
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â logger nextPutAll: 'Process: ';
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â print: each;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â nextPutAll: ' Â stack:';
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr.
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ctx := each isActiveProcess
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ifTrue:
>> [thisContext sender]
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ifFalse:
>> [each suspendedContext].
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ctx
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ifNotNil: [(ctx
>> stackOfSize: 20)
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â do: [:s |
>> logger print: s;
>>
>> Â Â Â cr]].
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â logger nextPutAll:
>> '------------------------------';
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr;
>> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â cr]]] in
>> NonInteractiveUIManager>>quitFrom:withMessage:
>> Â BlockClosure>>ensure:
>> Â NonInteractiveUIManager>>quitFrom:withMessage:
>> Â NonInteractiveUIManager>>unhandledErrorDefaultAction:
>> Â UnhandledError>>defaultAction
>> Â UndefinedObject>>handleSignal:
>> Â MethodContext(ContextPart)>>handleSignal:
>> Â MethodContext(ContextPart)>>handleSignal:
>> Â MethodContext(ContextPart)>>handleSignal:
>> Â MethodContext(ContextPart)>>handleSignal:
>> Â MethodContext(ContextPart)>>handleSignal:
>> Â MethodContext(ContextPart)>>handleSignal:
>> Â UnhandledError(Exception)>>signal
>> Â UnhandledError class>>signalForException:
>> Â GoferRepositoryError(Error)>>defaultAction
>> Â ------------------------------
>>
>> Â Process: a Process in [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â Â stack:
>>
>> Â [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â ------------------------------
>>
>> Â Process: a Process in [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â Â stack:
>>
>> Â [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â ------------------------------
>>
>> Â Process: a Process in [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â Â stack:
>>
>> Â [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â ------------------------------
>>
>> Â Process: a Process in [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â Â stack:
>>
>> Â [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â ------------------------------
>>
>> Â Process: a Process in Delay class>>handleTimerEvent
>> Â Â stack:
>>
>> Â Delay class>>handleTimerEvent
>> Â Delay class>>runTimerEventLoop
>> Â [self runTimerEventLoop] in Delay class>>startTimerEventLoop
>> Â [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â ------------------------------
>>
>> Â Process: a Process in SmalltalkImage>>lowSpaceWatcher
>> Â Â stack:
>>
>> Â SmalltalkImage>>lowSpaceWatcher
>> Â [self lowSpaceWatcher] in SmalltalkImage>>installLowSpaceWatcher
>> Â [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â ------------------------------
>>
>> Â Process: a Process in ProcessorScheduler class>>idleProcess
>> Â Â stack:
>>
>> Â ProcessorScheduler class>>idleProcess
>> Â [self idleProcess] in ProcessorScheduler class>>startUp
>> Â [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â ------------------------------
>>
>> Â Process: a Process in [delaySemaphore wait] in Delay>>wait
>> Â Â stack:
>>
>> Â [delaySemaphore wait] in Delay>>wait
>> Â BlockClosure>>ifCurtailed:
>> Â Delay>>wait
>> Â InputEventPollingFetcher>>waitForInput
>> Â InputEventPollingFetcher(InputEventFetcher)>>eventLoop
>> Â [self eventLoop] in
>> InputEventPollingFetcher(InputEventFetcher)>>installEventLoop
>> Â [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â ------------------------------
>>
>> Â Process: a Process in WeakArray class>>finalizationProcess
>> Â Â stack:
>>
>> Â WeakArray class>>finalizationProcess
>> Â [self finalizationProcess] in WeakArray class>>restartFinalizationProcess
>> Â [self value.
>> Â Â Â Â Processor terminateActive] in BlockClosure>>newProcess
>> Â ------------------------------
>>
>> Enregistrement des r?sultats des tests
>> Archiving artifacts
>>
>>
>> _______________________________________________
>> Pharo-fuel mailing list
>> Pharo-fuel(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-fuel
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
--
Lukas Renggli
www.lukas-renggli.ch
Aug. 17, 2011
[Pharo-project] Headless image hanging
by Bernat Romagosa
Hi list,
I think I asked this a while ago but never managed to find a solution, so
here we go:
I have an image running under a screen session in my server, it's running my
simple blog written in Iliad and nothing else. The image is a Pharo 1.2.1 on
a Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.75] machine, the
server is a VPSLink slice with Debian 5 on it.
For a very long while now I've been experiencing a weird behaviour. The
image runs flawlessly and fast for a couple of days, then it hangs without
any apparent reason, just stops working overnight, and the only output I get
in the console is
index >= 0 && index <= numSignalRequests 133
repeatedly, and after that the website can't be accessed neither can I reach
the image via VNC, so the only solution is to kill the process and fire it
up again...
Any clues? Is this a known bug?
Cheers,
--
Bernat Romagosa.
Aug. 17, 2011
Re: [Pharo-project] Fwd: [Pharo-fuel] Two nice things I did in 2 hours with Fuel
by Igor Stasenko
I'm not impressed!
:)
(well done).
Your posts are good that they can easily serve as a guide howto
install-setup-and use stuff.
Next experiment for you:
mix Fuel with Magma (we should get some napalm)
:)
On 17 August 2011 00:14, Mariano Martinez Peck <marianopeck(a)gmail.com> wrote:
> Well. I don't have a lot of time right now...but between writing things down
> for myself or making a post there is not that difference. So...here is a
> post about the Riak integration with Fuel:
>
> http://marianopeck.wordpress.com/2011/08/16/when-fuel-meets-riak-nosql-data…
>
> On Tue, Aug 16, 2011 at 9:37 PM, Stéphane Ducasse
> <stephane.ducasse(a)inria.fr> wrote:
>>
>> This clearly opens the door to really amazing experiment.
>> Stef
>>
>> From: Mariano Martinez Peck <marianopeck(a)gmail.com>
>> Date: August 16, 2011 8:58:03 PM GMT+02:00
>> To: The Fuel Project <pharo-fuel(a)lists.gforge.inria.fr>
>> Subject: [Pharo-fuel] Two nice things I did in 2 hours with Fuel
>> Reply-To: The Fuel Project <pharo-fuel(a)lists.gforge.inria.fr>
>>
>> 1) serialize a living debugger, materialize it in another image and
>> continue debugging.
>> 2) use Fuel to serialize a graph to a bytearray and then store and
>> retrieve that from the Riak NoSQL database :)
>>
>> coooool!
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>> _______________________________________________
>> Pharo-fuel mailing list
>> Pharo-fuel(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-fuel
>>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
--
Best regards,
Igor Stasenko AKA sig.
Aug. 17, 2011
[Pharo-project] new Cog VMs available
by Eliot Miranda
in http://www.mirandabanda.org/files/Cog/VM/VM.r2487/.
Fix bugs described in the "[Pharo-project] Troubles with #flushCache and
#run:with:in:" thread http://lists.gforge.inria.fr/pipermail/pharo-project/
2011-July/050858.html. The PIC machinery wrongly treated invoke-as-method
sends as MNUs.
Closely related, finally fully implement PIC MNU cacheing where, by calling
a
special abort, a PIC is able to record that a gven selector is an MNU for a
particular class. Speeds up a simple MNU benchmark by 33% (with more
performance the deeper the receiver's cass hierarchy is).
On Mac fix mis-editing of Info.plist to insert revision info so that VM .app
once again starts on 10.5.x.
--
best,
Eliot
Aug. 17, 2011
[Pharo-project] Jenkis notification when Squeaksource is down [WAS] Re: [Pharo-fuel] Build failed in Jenkins: Fuel #112
by Mariano Martinez Peck
Marcus, is there a way to catch the errors when SqueakSource is down so that
to avoid "false alarms" ?
Thanks!
On Wed, Aug 17, 2011 at 12:38 AM, <marcus.denker(a)inria.fr> wrote:
> See <http://ci.lille.inria.fr/pharo/job/Fuel/112/>
>
> ------------------------------------------
> [...truncated 798 lines...]
> (t4 value: t1)
> ifTrue: [t3 value: t1]] in CommandLine
> class(AbstractUserInput class)>>dispatch:
> [:t2 | t1 value: t2 value] in Dictionary>>valuesDo:
> [:t2 | t2
> ifNotNil: [t1 value: t2]] in Dictionary>>associationsDo:
> Array(SequenceableCollection)>>do:
> Dictionary>>associationsDo:
> Dictionary>>valuesDo:
> Dictionary>>do:
> CommandLine class(AbstractUserInput class)>>dispatch:
> [self dispatch: singleton] in CommandLine class>>dispatch
> BlockClosure>>cull:
> [:t2 | t2 cull: t1] in SmalltalkImage>>executeDeferredStartupActions:
> OrderedCollection>>do:
> SmalltalkImage>>executeDeferredStartupActions:
> SmalltalkImage>>snapshot:andQuit:
> WorldState class>>saveAndQuit
> [| t3 |
> (t3 := selector numArgs) = 0
> ifTrue: [target perform: selector]
> ifFalse: [t3 = arguments size
> ifTrue: [target perform: selector
> withArguments: arguments]
> ifFalse: [target
> perform: selector
> withArguments: (arguments
> copyWith: t1)]].
> self changed] in
> ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
> BlockClosure>>ensure:
> CursorWithMask(Cursor)>>showWhile:
> ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent:
> ToggleMenuItemMorph(MenuItemMorph)>>mouseUp:
> ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp:
> MouseButtonEvent>>sentTo:
> ToggleMenuItemMorph(Morph)>>handleEvent:
> MorphicEventDispatcher>>dispatchDefault:with:
> MorphicEventDispatcher>>dispatchEvent:with:
> ToggleMenuItemMorph(Morph)>>processEvent:using:
> MorphicEventDispatcher>>dispatchDefault:with:
> MorphicEventDispatcher>>dispatchEvent:with:
> MenuMorph(Morph)>>processEvent:using:
> MenuMorph(Morph)>>processEvent:
> MenuMorph>>handleFocusEvent:
> [ActiveHand := self.
> ActiveEvent := t1.
> t5 := t2
> handleFocusEvent: (t1
> transformedBy: (t2
> transformedFrom: self))] in HandMorph>>sendFocusEvent:to:clear:
> [t1 value] in PasteUpMorph>>becomeActiveDuring:
> BlockClosure>>on:do:
> PasteUpMorph>>becomeActiveDuring:
> HandMorph>>sendFocusEvent:to:clear:
> HandMorph>>sendEvent:focus:clear:
> HandMorph>>sendMouseEvent:
> HandMorph>>handleEvent:
> HandMorph>>processEvents
> [:t2 |
> ActiveHand := t2.
> t2 processEvents.
> ActiveHand := nil] in WorldState>>doOneCycleNowFor:
> Array(SequenceableCollection)>>do:
> WorldState>>handsDo:
> WorldState>>doOneCycleNowFor:
> WorldState>>doOneCycleFor:
> PasteUpMorph>>doOneCycle
> [[World doOneCycle.
> Processor yield.
> false] whileFalse.
> nil] in Project class>>spawnNewProcess
> [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> ------------------------------------------------------------
>
> Processes and their stacks:
> Process: a Process in nil
> stack:
>
> Array(SequenceableCollection)>>do:
> [:logger |
> logger nextPutAll: 'Processes and their stacks: ';
> cr.
> Process allInstances
> do: [:each |
> | ctx |
> logger nextPutAll: 'Process: ';
> print: each;
> cr;
> nextPutAll: ' stack:';
> cr;
> cr.
> ctx := each isActiveProcess
> ifTrue: [thisContext sender]
> ifFalse: [each
> suspendedContext].
> ctx
> ifNotNil: [(ctx stackOfSize: 20)
> do: [:s | logger print: s;
> cr]].
> logger nextPutAll: '------------------------------';
> cr;
> cr]] in [Smalltalk logError: aString
> inContext: aContext.
> Smalltalk
> logDuring: [:logger |
> logger nextPutAll: 'Processes and their stacks: ';
> cr.
> Process allInstances
> do: [:each |
> | ctx |
> logger nextPutAll: 'Process: ';
> print: each;
> cr;
> nextPutAll: ' stack:';
> cr;
> cr.
> ctx := each isActiveProcess
> ifTrue:
> [thisContext sender]
> ifFalse:
> [each suspendedContext].
> ctx
> ifNotNil: [(ctx stackOfSize:
> 20)
> do: [:s |
> logger print: s;
>
> cr]].
> logger nextPutAll:
> '------------------------------';
> cr;
> cr]]] in
> NonInteractiveUIManager>>quitFrom:withMessage:
> [logStream := self openLog.
> aMonadicBlock value: logStream] in SmalltalkImage>>logDuring:
> BlockClosure>>ensure:
> SmalltalkImage>>logDuring:
> [Smalltalk logError: aString inContext: aContext.
> Smalltalk
> logDuring: [:logger |
> logger nextPutAll: 'Processes and their stacks: ';
> cr.
> Process allInstances
> do: [:each |
> | ctx |
> logger nextPutAll: 'Process: ';
> print: each;
> cr;
> nextPutAll: ' stack:';
> cr;
> cr.
> ctx := each isActiveProcess
> ifTrue:
> [thisContext sender]
> ifFalse:
> [each suspendedContext].
> ctx
> ifNotNil: [(ctx stackOfSize:
> 20)
> do: [:s |
> logger print: s;
>
> cr]].
> logger nextPutAll:
> '------------------------------';
> cr;
> cr]]] in
> NonInteractiveUIManager>>quitFrom:withMessage:
> BlockClosure>>ensure:
> NonInteractiveUIManager>>quitFrom:withMessage:
> NonInteractiveUIManager>>unhandledErrorDefaultAction:
> UnhandledError>>defaultAction
> UndefinedObject>>handleSignal:
> MethodContext(ContextPart)>>handleSignal:
> MethodContext(ContextPart)>>handleSignal:
> MethodContext(ContextPart)>>handleSignal:
> MethodContext(ContextPart)>>handleSignal:
> MethodContext(ContextPart)>>handleSignal:
> MethodContext(ContextPart)>>handleSignal:
> UnhandledError(Exception)>>signal
> UnhandledError class>>signalForException:
> GoferRepositoryError(Error)>>defaultAction
> ------------------------------
>
> Process: a Process in [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> stack:
>
> [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> ------------------------------
>
> Process: a Process in [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> stack:
>
> [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> ------------------------------
>
> Process: a Process in [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> stack:
>
> [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> ------------------------------
>
> Process: a Process in [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> stack:
>
> [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> ------------------------------
>
> Process: a Process in Delay class>>handleTimerEvent
> stack:
>
> Delay class>>handleTimerEvent
> Delay class>>runTimerEventLoop
> [self runTimerEventLoop] in Delay class>>startTimerEventLoop
> [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> ------------------------------
>
> Process: a Process in SmalltalkImage>>lowSpaceWatcher
> stack:
>
> SmalltalkImage>>lowSpaceWatcher
> [self lowSpaceWatcher] in SmalltalkImage>>installLowSpaceWatcher
> [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> ------------------------------
>
> Process: a Process in ProcessorScheduler class>>idleProcess
> stack:
>
> ProcessorScheduler class>>idleProcess
> [self idleProcess] in ProcessorScheduler class>>startUp
> [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> ------------------------------
>
> Process: a Process in [delaySemaphore wait] in Delay>>wait
> stack:
>
> [delaySemaphore wait] in Delay>>wait
> BlockClosure>>ifCurtailed:
> Delay>>wait
> InputEventPollingFetcher>>waitForInput
> InputEventPollingFetcher(InputEventFetcher)>>eventLoop
> [self eventLoop] in
> InputEventPollingFetcher(InputEventFetcher)>>installEventLoop
> [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> ------------------------------
>
> Process: a Process in WeakArray class>>finalizationProcess
> stack:
>
> WeakArray class>>finalizationProcess
> [self finalizationProcess] in WeakArray class>>restartFinalizationProcess
> [self value.
> Processor terminateActive] in BlockClosure>>newProcess
> ------------------------------
>
> Enregistrement des r?sultats des tests
> Archiving artifacts
>
>
> _______________________________________________
> Pharo-fuel mailing list
> Pharo-fuel(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-fuel
>
--
Mariano
http://marianopeck.wordpress.com
Aug. 16, 2011
Re: [Pharo-project] Fwd: [Pharo-fuel] Two nice things I did in 2 hours with Fuel
by Germán Arduino
Thanks by share! and yes, very interesting experiments!
2011/8/16 Mariano Martinez Peck <marianopeck(a)gmail.com>:
> Well. I don't have a lot of time right now...but between writing things down
> for myself or making a post there is not that difference. So...here is a
> post about the Riak integration with Fuel:
>
> http://marianopeck.wordpress.com/2011/08/16/when-fuel-meets-riak-nosql-data…
>
> On Tue, Aug 16, 2011 at 9:37 PM, Stéphane Ducasse
> <stephane.ducasse(a)inria.fr> wrote:
>>
>> This clearly opens the door to really amazing experiment.
>> Stef
>>
>> From: Mariano Martinez Peck <marianopeck(a)gmail.com>
>> Date: August 16, 2011 8:58:03 PM GMT+02:00
>> To: The Fuel Project <pharo-fuel(a)lists.gforge.inria.fr>
>> Subject: [Pharo-fuel] Two nice things I did in 2 hours with Fuel
>> Reply-To: The Fuel Project <pharo-fuel(a)lists.gforge.inria.fr>
>>
>> 1) serialize a living debugger, materialize it in another image and
>> continue debugging.
>> 2) use Fuel to serialize a graph to a bytearray and then store and
>> retrieve that from the Riak NoSQL database :)
>>
>> coooool!
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>> _______________________________________________
>> Pharo-fuel mailing list
>> Pharo-fuel(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-fuel
>>
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
Aug. 16, 2011
Re: [Pharo-project] squeaksource is down
by Germán Arduino
2011/8/16 Torsten Bergmann <astares(a)gmx.de>:
> ... again
> --
> Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
> belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
>
>
yep...... :(
Aug. 16, 2011
Re: [Pharo-project] Fwd: [Pharo-fuel] Two nice things I did in 2 hours with Fuel
by Mariano Martinez Peck
Well. I don't have a lot of time right now...but between writing things down
for myself or making a post there is not that difference. So...here is a
post about the Riak integration with Fuel:
http://marianopeck.wordpress.com/2011/08/16/when-fuel-meets-riak-nosql-data…
On Tue, Aug 16, 2011 at 9:37 PM, Stéphane Ducasse <stephane.ducasse(a)inria.fr
> wrote:
>
> This clearly opens the door to really amazing experiment.
>
> Stef
>
> *From: *Mariano Martinez Peck <marianopeck(a)gmail.com>
> *Date: *August 16, 2011 8:58:03 PM GMT+02:00
> *To: *The Fuel Project <pharo-fuel(a)lists.gforge.inria.fr>
> *Subject: **[Pharo-fuel] Two nice things I did in 2 hours with Fuel*
> *Reply-To: *The Fuel Project <pharo-fuel(a)lists.gforge.inria.fr>
>
> 1) serialize a living debugger, materialize it in another image and
> continue debugging.
> 2) use Fuel to serialize a graph to a bytearray and then store and retrieve
> that from the Riak NoSQL database :)
>
> coooool!
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
> _______________________________________________
> Pharo-fuel mailing list
> Pharo-fuel(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-fuel
>
>
>
--
Mariano
http://marianopeck.wordpress.com
Aug. 16, 2011
Re: [Pharo-project] seaside #stable on pharo.13?
by Dale Henrichs
Doru,
The 'Base' group defines the minimal set of packages for Seaside (it does not include OB)... The only thing that you need in addition to 'Base' is to decide which of the Adaptors you want to use and you can have a perfectly functioning Seaside.
If you are suggesting that the 'default' to not include the OB tools, that's fine with me, but in past discussions the decision was reached to include OB tools in the 'default' group. The rationale has always been (i believe) that the naive users need to have the Seaside control panel (which is based on OB) in order to easily start and stop Seaside ... The sophisticated and knowledgeable users can start with the 'Base' group and add exactly the packages that they are interested in ...
Perhaps we need to have one more group that loads everything but the OB tools and leave the default group alone? If you are sophisticated enough to know you don't want OB, then you can load that group...
Dale
----- Original Message -----
| From: "Philippe Marschall" <kustos(a)gmx.net>
| To: pharo-project(a)lists.gforge.inria.fr
| Cc: seaside(a)lists.squeakfoundation.org
| Sent: Tuesday, August 16, 2011 12:34:29 PM
| Subject: Re: [Pharo-project] seaside #stable on pharo.13?
|
| On 16.08.2011 12:23, Marcus Denker wrote:
| >
| > On Aug 16, 2011, at 12:18 PM, Tudor Girba wrote:
| >
| >> Hi,
| >>
| >> The ConfiguraitonOfSeaside does not define any #stable version for
| >> Pharo 1.3.
| >>
| >> Is it intentional or is it simply because the configuration is not
| >> up to date?
| >
| >
| > The configuration is not up to date... would be nice to fix it. And
| > it would be good
| > to have a version that loads a minimal seaside (no OB, which I
| > think this does).
|
| That should actually work. You just need to define what you mean with
| minimal (probably Seaside-Component and Seaside-Canvas and probably
| Seaside-Flow as well).
|
| As long as you stay away from Seaside-Tools-OmniBrowser it shouldn't
| load OB.
|
| Cheers
| Philippe
|
|
|
|
Aug. 16, 2011