Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 144618 messages
Re: [Pharo-project] How to easily intercept messages sent to ALL objects ?
by Eliot Miranda
On Fri, Mar 26, 2010 at 1:15 AM, Marcus Denker <marcus.denker(a)inria.fr>wrote:
>
> On Mar 25, 2010, at 5:50 PM, Mariano Martinez Peck wrote:
>
> > Hi folks. I want to intercept (and do something) for all objects. I know
> few approaches, for example:
> >
> > 1) using method wrappers (implementing run: aSelector with: arguments
> in: aReceiver) I can wrap all compiled methods of all classes and there I
> have the receiver.
> >
> > 2) become all objects to some kind of hacky object that stores the
> original object and that redefines the doesNotUnderstand:
> >
> > But in 1) I need to change all CompiledMehtod of all classes.
> > in 2) I have to become all the objects to another object
> >
> > Then my question is, is there an easier way to intercept all messages
> send to all objects from the image side (not going to vm) and with a lower
> cost ?
>
> No.
>
> So the MOP (meta object protocol), the "reflective API" of Smalltalk does
> not allow for "reifying" message receive.
>
> Historically, after Reflection was discovered and people started to
> generalize it, of cource they added that. For example, there is CODA:
>
>
> http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.108.6885&rep=rep1&…
>
> which made the whole "message send" explicit and interceptable.
>
> This means it is decomposed into Send, Receive, Lookup, Apply. Very nice.
> Very general. One can override Lookup when one wants to do
> e.g. Multiple inheritance. Or Apply, when the language of the method is not
> smalltalk. Or Receive, if you want to hook into "does an object get
> a message?". Futures, non-blocking messages. All easy to be done.
>
> But: it's slow. Dog slow. So people started to think about: how to speed
> up? Sadly the idea of optimizing at runtime (partially evaluating the MOP)
> has seen not much work. What was done is "partial reflection": only reifiy
> those opereation at exactly those spots that one is interested in.
> This was done in MetaClassTalk (it checks if the MetaClass overrides
> message sending, else it uses normal bytecodes) and to the extreme in
> Reflex.
>
> Now if you want to change reflective behavior *per object* the other
> important thing is that you need to be able to define changed behavior at
> the level of Objects vs. Classes. CLOS style MOPS like MetaClassTalk allow
> *only* for a per-Class-change.
>
> Enter Eric Tanter's Relex. Reflex generalized the MOP idea to not be bound
> to classes/metaclasses but you can select *per instruction* what to reify.
> And that reification is only done when needed, keeping the code you are not
> interested in fast.
> (Reflex is what happens when you bring the lessons of AOP back into MOPs.
> That is, the good parts of AOP).
>
> http://portal.acm.org/citation.cfm?id=949309
>
> Of course, message receive is not easy to achive other than reifying
> method-execute on all methods+doesNotUnderstand.
> This can be made a bit more efficient for all the objects of the class you
> are not interested in by using Object-specific Behavior
> (the anonymous subclass trick). Phillippe did that in TreeNurse...
> But all in all, this is more of a hack.
>
> Now for message receive, one could imagine a partial reification scheme: a
> tag bit on the object header, if it is there, the VM calls a receive
> method instead of the method that would originally be called. So you would
> pay, in all casses, one bit-check on message send *and* you need
> space to put this flag. Would anyone want to pay that?
>
Perhaps we can be cleverer. What could we do if we introduced delegation
into the language? Then we can add wrappers around objects and put the
interception into the wrappers. This way there is no additional check. If
one wants to intercept references to an object one creates a DNU wrapper and
becomes the two objects.
An execution model of delegation is that there are two slots for the
receiver in a context, a state slot through which inst vars are accessed,
and a self slot to which messages are sent. Normal sends merely duplicate
the receiver into both slots. Delegating sends take state as an additional
argument.
An alternative model is to dispense with direct inst var access (assuming
the JIT will inline simple accessors in PICs, or simply by virtue of the use
of machine code render accessors affordable) and provide accessors for
delegators that indirect through the delegate.
> In general, I would like to experiment with a MOP that can reify message
> receive in a meaningful *and efficient* way. But the current VM can't do it.
> In addition, there is always the problem that reflection leads to loops
> (your code will use the code it will used on).
>
> http://scg.unibe.ch/archive/papers/Denk08bMetaContextLNBIP.pdf
>
> Wich needs to be solved, too, if you ever want to be able to use reflection
> on everything (even the things you implement reflectively).
>
> Alternatively, one could use a proxy. Now if you don't use a subclass of
> ProtoObject, but something with VM support int the Style of Adrian
> Lienhard's
> Aliases:
>
>
> http://scg.unibe.ch/archive/papers/Lien08bBackInTimeDebugging.pdf
>
> or the Handle (we need a better word!!!) stuff that JB is working on, maybe
> this would not be too bad. The Alias is *hidden*, you can put it
> (eventually,
> after all engineering done) on any object (even Integers)... and than,
> after you swap out something, you need a proxy anyway for the "outpointer".
>
> > And if going to vm, how ?
>
> The OOPSLA paper of 2008 on tolerating memory leaks has scheme where they
> use the GC of Jikes. So compared to LOOM, they have a modern
> GC without an object table, and it seems much simpler.
>
> Marcus
>
> --
> Marcus Denker -- http://www.marcusdenker.de
> INRIA Lille -- Nord Europe. Team RMoD.
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
March 26, 2010
[Pharo-project] Student internships at INRIA
by Marcus Denker
Hi,
Besides Postdocs, PhDs and Engineers, we are looking for student interns.
INRIA has a program for Students to work in a research group as an Intern. Application is open now.
http://www-direction.inria.fr/international/PROGRAMMES/internship/indexAPPE…
More information in english:
http://www-direction.inria.fr/international/Page_Programmes_en.php?prog=int…
Subjects: http://www-direction.inria.fr/international/PHP/Internship/CandidatsII.php
The ones of RMoD are:
- Flexible Modules for Dynamic Languages
- Layer Identification and Diagnotics
- Trait-based Remodularisation
- Minimal Smalltalk Runtime
Marcus
--
Marcus Denker -- http://www.marcusdenker.de
INRIA Lille -- Nord Europe. Team RMoD.
March 26, 2010
[Pharo-project] Error parsing XML File
by Fabrizio Perin
Hi,
I was parsing an XML File with the last version of XML Parser
(XML-Parser-JAAyer.68) and i get an error related to a not UTF-8 character
that the parser found into the document. The XML document contains some
german character:
<![CDATA[SES: Bean BLABLABLA Eidgenössisches Institut für BLABLALBLA]]>
Actually i'm not sure if the error is which is in the UTF8TextConverter or
something is wrong in the invokation from the parser. Anyway i parse several
time the same document with older versions of the XML-Parser
(XML-Parser-JAAyer.57) and it always works well. I'm not sure if the mailing
list of Pharo is the right place to report this problem in the case i'm i'm
sorry.
Here the trace from the log:
Error: Invalid utf8 input detected
26 March 2010 4:14:07 pm
VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest update:
#6747] Squeak VM 4.2.2b1
Image: Pharo-1.0-10515-rc3 [Latest update: #10515]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /Users/fabrizioperin/development/Pharo/WORKINGONNOW/MooseJEE_64
Trusted Dir /foobar/tooBar/forSqueak/bogus
Untrusted Dir /Users/fabrizioperin/Library/Preferences/Squeak/Internet/My
Squeak
UTF8TextConverter(Object)>>error:
Receiver: an UTF8TextConverter
Arguments and temporary variables:
aString: 'Invalid utf8 input detected'
Receiver's instance variables:
an UTF8TextConverter
UTF8TextConverter>>errorMalformedInput
Receiver: an UTF8TextConverter
Arguments and temporary variables:
Receiver's instance variables:
an UTF8TextConverter
UTF8TextConverter>>nextFromStream:
Receiver: an UTF8TextConverter
Arguments and temporary variables:
aStream: MultiByteFileStream:
'/Users/fabrizioperin/development/Pharo/WORKINGON...etc...
character1: $¶
value1: 182
character2: $s
value2: 115
unicode: nil
character3: $s
value3: 115
character4: nil
value4: nil
Receiver's instance variables:
an UTF8TextConverter
MultiByteFileStream>>next
Receiver: MultiByteFileStream:
'/Users/fabrizioperin/development/Pharo/WORKINGONNOW/MooseJEE_64/src/...etc...
Arguments and temporary variables:
char: nil
secondChar: nil
state: nil
Receiver's instance variables:
XMLStreamReader>>basicNext
Receiver: a XMLStreamReader
Arguments and temporary variables:
nextChar: nil
Receiver's instance variables:
stream: MultiByteFileStream:
'/Users/fabrizioperin/development/Pharo/WORKINGONN...etc...
nestedStreams: nil
peekChar: nil
buffer: a WriteStream 'SES: Bean zum Einlesen und updaten der Stako
relevanten ...etc...
XMLStreamReader>>next
Receiver: a XMLStreamReader
Arguments and temporary variables:
nextChar: nil
Receiver's instance variables:
stream: MultiByteFileStream:
'/Users/fabrizioperin/development/Pharo/WORKINGONN...etc...
nestedStreams: nil
peekChar: nil
buffer: a WriteStream 'SES: Bean zum Einlesen und updaten der Stako
relevanten ...etc...
XMLStreamReader>>upToAll:
Receiver: a XMLStreamReader
Arguments and temporary variables:
aDelimitingString: ']]>'
Receiver's instance variables:
stream: MultiByteFileStream:
'/Users/fabrizioperin/development/Pharo/WORKINGONN...etc...
nestedStreams: nil
peekChar: nil
buffer: a WriteStream 'SES: Bean zum Einlesen und updaten der Stako
relevanten ...etc...
SAXDriver(XMLTokenizer)>>nextCDataContent
Receiver: a SAXDriver
Arguments and temporary variables:
cdata: nil
Receiver's instance variables:
streamReader: a XMLStreamReader
streamWriter: a XMLStreamWriter
entities: nil
externalEntities: nil
parameterEntities: nil
isValidating: false
parsingMarkup: false
saxHandler: an OPOpaxHandler
openTags: <ejb-jar>, <enterprise-beans>, <session>, <description>
nestedScopes: nil
useNamespaces: false
validateAttributes: nil
languageEnvironment: nil
SAXDriver(XMLTokenizer)>>nextCDataOrConditional
Receiver: a SAXDriver
Arguments and temporary variables:
nextChar: $C
conditionalKeyword: nil
Receiver's instance variables:
streamReader: a XMLStreamReader
streamWriter: a XMLStreamWriter
entities: nil
externalEntities: nil
parameterEntities: nil
isValidating: false
parsingMarkup: false
saxHandler: an OPOpaxHandler
openTags: <ejb-jar>, <enterprise-beans>, <session>, <description>
nestedScopes: nil
useNamespaces: false
validateAttributes: nil
languageEnvironment: nil
SAXDriver(XMLTokenizer)>>nextMarkupToken
Receiver: a SAXDriver
Arguments and temporary variables:
nextChar: $[
Receiver's instance variables:
streamReader: a XMLStreamReader
streamWriter: a XMLStreamWriter
entities: nil
externalEntities: nil
parameterEntities: nil
isValidating: false
parsingMarkup: false
saxHandler: an OPOpaxHandler
openTags: <ejb-jar>, <enterprise-beans>, <session>, <description>
nestedScopes: nil
useNamespaces: false
validateAttributes: nil
languageEnvironment: nil
SAXDriver(XMLTokenizer)>>nextToken
Receiver: a SAXDriver
Arguments and temporary variables:
whitespace: ''
Receiver's instance variables:
streamReader: a XMLStreamReader
streamWriter: a XMLStreamWriter
entities: nil
externalEntities: nil
parameterEntities: nil
isValidating: false
parsingMarkup: false
saxHandler: an OPOpaxHandler
openTags: <ejb-jar>, <enterprise-beans>, <session>, <description>
nestedScopes: nil
useNamespaces: false
validateAttributes: nil
languageEnvironment: nil
OPOpaxHandler(SAXHandler)>>parseDocument
Receiver: an OPOpaxHandler
Arguments and temporary variables:
Receiver's instance variables:
driver: a SAXDriver
eod: false
stack: an OrderedCollection(<?xml version="1.0" encoding="utf-8"?>
<ejb-jar id=...etc...
March 26, 2010
Re: [Pharo-project] [update 1.1] #11296
by Alain Plantec
Henrik Johansen a écrit :
> A few thoughts:
> - MessageTally is the model. Ditch opening CodeHolders and crap as a result of calling spyAllOn: and friends, return the raw instance after collection.
> - TimeProfile(r)(Browser) is the view. Convenience methods for opening browsers. Ditch constructing with report:cutoff; use the tally directly as model.
> - Define the menu item in TimeProfiler class.
>
thanks for your feedbacks
Alain
March 26, 2010
Re: [Pharo-project] [squeak-dev] Hello squeakers
by Göran Krampe
Hi guys!
I for one am very glad to see Steph's post and appreciate both Pharo and
Squeak. Sometimes Pharo seems to have lots of good stuff going, and
sometimes Squeak does, especially lately.
ESUG is probably my new personal "yearly conference" and it was great in
Brest. I really love the whole energy around Pharo/ESUG.
At the same time I am a long time squeak.org-er and will never leave, so
I really like this "open hand" and I also like all efforts of sharing
between the forks (including other forks, like Cobalt, Cuis, Teleplace etc).
I alsp hope that we all, on *all* forks, know when to say "Hey, perhaps
we should check and sync this with the other forks?". At least *some* of
our mechanisms are *very* important to try to keep in sync - like say
Monticello and/or event mechanisms etc.
Hopefully I will get time to spend on a new SqueakMap and
Deltastreams - although I make no promises, but if and when I do, all
forks are included as targets in my book :)
regards, Göran
PS. Super thanks to the people that currently work as "bridges" between
trunk and Pharo - you know who you are!
March 26, 2010
Re: [Pharo-project] Open Monticello http repository d'ont answer
by Mariano Martinez Peck
Hi Dario. There was a problem in Pharo with the NetNameResolver and it was
fixed in PharoCore 10514
Can you try with that version or the last one ? try a system update or
download the latest core from here:
https://gforge.inria.fr/frs/download.php/26668/PharoCore-1.0-10515rc3.zip
I copy paste the description of the error:
NOTE: this update reverts NetNameResolver and code from other classes like
Socket to the state we had about one year ago. Please let us know about any
problems related to networking!
10514
-----
- Issue 1884: NetNameResolver doesn't work in PharoCore 10508
2010/3/26 Dario Trussardi <dario.trussardi(a)tiscali.it>
> Hi,
>
> i have some information about this problem.
>
> When i request :
>
> GMStaticMapGeocoding>>geocoding
> GMStaticMapGeocoding class>>getGMapGeocodingFor:
>
> but the internet connection is down the system erase the report :
>
>
> Seaside WalkbackNameLookupFailure: Could not resolve the server named:
> maps.google.com
>
> Debug<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&1>
> Full Stack<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&2>
> Stack Trace
>
> 1. thisContext<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&3>[]
> in NetNameResolver class>>addressForName:timeout:self<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&4>
> NetNameResolverhostName<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&5>
> 'maps.google.com'secs<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&6>
> 20deadline<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&7>
> 60064result<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&8>
> nil
> 2. thisContext<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&9>[]
> in Semaphore>>critical:self<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&10>a
> Semaphore()mutuallyExcludedBlock<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&11>[closure]
> in NetNameResolver class>>addressForName:timeout:blockValue<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&12>
> nilcaught<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&13>
> true
> 3. thisContext<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&14>
> BlockClosure>>ensure:self<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&15>[closure]
> in Semaphore>>critical:aBlock<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&16>[closure]
> in Semaphore>>critical:returnValue<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&17>
> nilb<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&18>
> nil
> 4. thisContext<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&19>
> Semaphore>>critical:self<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&20>a
> Semaphore()mutuallyExcludedBlock<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&21>[closure]
> in NetNameResolver class>>addressForName:timeout:blockValue<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&22>
> nilcaught<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&23>
> true
> 5. thisContext<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&24>NetNameResolver
> class>>addressForName:timeout:self<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&25>
> NetNameResolverhostName<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&26>
> 'maps.google.com'secs<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&27>
> 20deadline<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&28>
> 60064result<http://localhost:7070/seaside/morgans?_s=4Vqc5Mozs981UcWr&_k=M29gPXV0&29>
> nil
>
>
> Now if i don't go in the debug and answer proceed
>
> the system go in loop.
>
> I hope this help.
>
> Dario
>
> ************************************************************************
>
> VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest update:
> #6747] Squeak VM 4.2.2b1
> Image: PharoCore1.0rc2 [Latest update: #10509]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /users/dtr/Pharo505
> Trusted Dir /foobar/tooBar/forSqueak/bogus
> Untrusted Dir /Users/dtr/Library/Preferences/Squeak/Internet/My Squeak
>
> [] in Semaphore>>critical:
> Receiver: a Semaphore()
> Arguments and temporary variables:
> blockValue: #(nil true)
> caught: a Semaphore()
> Receiver's instance variables:
> firstLink: nil
> lastLink: nil
> excessSignals: 0
>
> MethodContext(ContextPart)>>resume:
> Receiver: WARenderContinuation>>withNotificationHandler:
> Arguments and temporary variables:
> value: WAPageExpired
> ctxt: BlockClosure>>ensure:
> unwindBlock: [closure] in Semaphore>>critical:
> Receiver's instance variables:
> sender: WARenderContinuation>>handleRequest:
> pc: 40
> stackp: 1
> method: a CompiledMethod(1161:
> WARenderContinuation>>withNotificationHandler:)
> closureOrNil: nil
> receiver: a WARenderContinuation
>
> BlockClosure>>ensure:
> Receiver: [closure] in Semaphore>>critical:
> Arguments and temporary variables:
> aBlock: nil
> returnValue: nil
> b: nil
> Receiver's instance variables:
> outerContext: Semaphore>>critical:
> startpc: 38
> numArgs: 0
>
> Semaphore>>critical:
> Receiver: a Semaphore()
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> firstLink: nil
> lastLink: nil
> excessSignals: 0
>
> NetNameResolver class>>addressForName:timeout:
> Receiver: NetNameResolver
> Arguments and temporary variables:
> hostName: 'maps.google.com'
> secs: 20
> deadline: 66217
> result: #(nil)
> Receiver's instance variables:
> superclass: Object
> methodDict: a MethodDictionary()
> format: 2
> instanceVariables: nil
> organization: ('as yet unclassified')
>
> subclasses: nil
> name: #NetNameResolver
> classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true
> #ResolverBusy->...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Network-Kernel'
> traitComposition: nil
> localSelectors: nil
>
> HTTPSocket class>>httpGetDocument:args:accept:request:
> Receiver: HTTPSocket
> Arguments and temporary variables:
> <<error during printing>
> Receiver's instance variables:
> superclass: Socket
> methodDict: a MethodDictionary(#contentType->a CompiledMethod(3444:
> HTTPSocket>...etc...
> format: 146
> instanceVariables: #('headerTokens' 'headers' 'responseCode')
> organization: ('accessing' contentType contentType: contentsLength:
> getHeader: ...etc...
> subclasses: nil
> name: #HTTPSocket
> classPool: a Dictionary(#HTTPBlabEmail->'' #HTTPPort->80
> #HTTPProxyCredentials-...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Network-Protocols'
> traitComposition: nil
> localSelectors: nil
>
> HTTPSocket class>>httpGet:args:accept:request:
> Receiver: HTTPSocket
> Arguments and temporary variables:
> url: '
> http://maps.google.com/maps/geo?q=Varese%2021100%20Varese%20%20Salvo%20d%..….
> ..
> args: nil
> mimeType: '*/*'
> requestString: ''
> document: nil
> Receiver's instance variables:
> superclass: Socket
> methodDict: a MethodDictionary(#contentType->a CompiledMethod(3444:
> HTTPSocket>...etc...
> format: 146
> instanceVariables: #('headerTokens' 'headers' 'responseCode')
> organization: ('accessing' contentType contentType: contentsLength:
> getHeader: ...etc...
> subclasses: nil
> name: #HTTPSocket
> classPool: a Dictionary(#HTTPBlabEmail->'' #HTTPPort->80
> #HTTPProxyCredentials-...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Network-Protocols'
> traitComposition: nil
> localSelectors: nil
>
> HTTPSocket class>>httpGet:args:accept:
> Receiver: HTTPSocket
> Arguments and temporary variables:
> url: '
> http://maps.google.com/maps/geo?q=Varese%2021100%20Varese%20%20Salvo%20d%..….
> ..
> args: nil
> mimeType: '*/*'
> Receiver's instance variables:
> superclass: Socket
> methodDict: a MethodDictionary(#contentType->a CompiledMethod(3444:
> HTTPSocket>...etc...
> format: 146
> instanceVariables: #('headerTokens' 'headers' 'responseCode')
> organization: ('accessing' contentType contentType: contentsLength:
> getHeader: ...etc...
> subclasses: nil
> name: #HTTPSocket
> classPool: a Dictionary(#HTTPBlabEmail->'' #HTTPPort->80
> #HTTPProxyCredentials-...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Network-Protocols'
> traitComposition: nil
> localSelectors: nil
>
> HTTPSocket class>>httpGet:accept:
> Receiver: HTTPSocket
> Arguments and temporary variables:
> url: '
> http://maps.google.com/maps/geo?q=Varese%2021100%20Varese%20%20Salvo%20d%..….
> ..
> mimeType: '*/*'
> Receiver's instance variables:
> superclass: Socket
> methodDict: a MethodDictionary(#contentType->a CompiledMethod(3444:
> HTTPSocket>...etc...
> format: 146
> instanceVariables: #('headerTokens' 'headers' 'responseCode')
> organization: ('accessing' contentType contentType: contentsLength:
> getHeader: ...etc...
> subclasses: nil
> name: #HTTPSocket
> classPool: a Dictionary(#HTTPBlabEmail->'' #HTTPPort->80
> #HTTPProxyCredentials-...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Network-Protocols'
> traitComposition: nil
> localSelectors: nil
>
> HTTPSocket class>>httpGet:
> Receiver: HTTPSocket
> Arguments and temporary variables:
> url: '
> http://maps.google.com/maps/geo?q=Varese%2021100%20Varese%20%20Salvo%20d%..….
> ..
> Receiver's instance variables:
> superclass: Socket
> methodDict: a MethodDictionary(#contentType->a CompiledMethod(3444:
> HTTPSocket>...etc...
> format: 146
> instanceVariables: #('headerTokens' 'headers' 'responseCode')
> organization: ('accessing' contentType contentType: contentsLength:
> getHeader: ...etc...
> subclasses: nil
> name: #HTTPSocket
> classPool: a Dictionary(#HTTPBlabEmail->'' #HTTPPort->80
> #HTTPProxyCredentials-...etc...
> sharedPools: nil
> environment: Smalltalk
> category: #'Network-Protocols'
> traitComposition: nil
> localSelectors: nil
>
> GMStaticMapGeocoding>>geocoding
> Receiver: a GMStaticMapGeocoding
> Arguments and temporary variables:
> url:
> http://maps.google.com/maps/geo?q=Varese%2021100%20Varese%20%20Salvo%20d%2.…
> ...
> Receiver's instance variables:
> canvas: nil
> parent: nil
> closed: false
> attributes: nil
> key: a GMApiKey
> address: 'Varese 21100 Varese Salvo d''Acquisto 1'
>
> GMStaticMapGeocoding class>>getGMapGeocodingFor:
> Receiver: GMStaticMapGeocoding
> Arguments and temporary variables:
> anAddress: 'Varese 21100 Varese Salvo d''Acquisto 1'
> itm: a GMStaticMapGeocoding
> Receiver's instance variables:
> superclass: WATextInputTag
> methodDict: a MethodDictionary(#address->a CompiledMethod(3788:
> GMStaticMapGeoc...etc...
> format: 142
> instanceVariables: #('key' 'address')
> organization: ('accessing' address address: key key:)
> ('testing' asArray: asArr...etc...
> subclasses: nil
> name: #GMStaticMapGeocoding
> classPool: nil
> sharedPools: nil
> environment: Smalltalk
> category: #'DTRGoogleStatic-Map'
> traitComposition: {}
> localSelectors: nil
>
> MAIndirizzoModel>>getGoogleMapPoint
> Receiver: a MAIndirizzoModel
> Arguments and temporary variables:
> path: 'Varese 21100 Varese Salvo d''Acquisto 1'
> dati: nil
> rsl: nil
> gmp: nil
> Receiver's instance variables:
> via: 'Salvo d''Acquisto'
> numero: '1'
> citta: 'Varese'
> cap: '21100'
> provincia: 'Varese'
> frazione: nil
> googleMapPoint: nil
>
> [] in MAIndirizzoModel class>>descriptionContainer
> Receiver: MAIndirizzoModel
> Arguments and temporary variables:
> memento: a MACheckedMemento model: a MAIndirizzoModel
> googleMapPoint: nil
> upd: nil
> new: a MAIndirizzoModel
> Receiver's instance variables:
> superclass: Object
> methodDict: a MethodDictionary(#cap->a CompiledMethod(3281:
> MAIndirizzoModel>>c...etc...
> format: 144
> instanceVariables: #('via' 'numero' 'citta' 'cap' 'provincia' 'frazione'
> 'googl...etc...
> organization: ('accessing-generated' cap cap: citta citta: frazione
> frazione: g...etc...
> subclasses: nil
> name: #MAIndirizzoModel
> classPool: nil
> sharedPools: nil
> environment: Smalltalk
> category: #'DTR-MA-Ang'
> traitComposition: {}
> localSelectors: nil
>
> [] in MAPriorityContainer(MADescription)>>validateConditions:
> Receiver: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Arguments and temporary variables:
> anObject: [closure] in MAIndirizzoModel class>>descriptionContainer->'Non
> valid...etc...
> each: a MACheckedMemento model: a MAIndirizzoModel
> Receiver's instance variables:
> properties: a Dictionary(#conditions->{[closure] in MAIndirizzoModel
> class>>des...etc...
> accessor: nil
> children: a SortedCollection(a MAStringDescription label: 'Via' comment:
> 'Via -...etc...
>
> Array(SequenceableCollection)>>do:
> Receiver: {[closure] in MAIndirizzoModel class>>descriptionContainer->'Non
> valido - non servito'}
> Arguments and temporary variables:
> aBlock: [closure] in
> MAPriorityContainer(MADescription)>>validateConditions:
> index: 1
> indexLimiT: 1
> Receiver's instance variables:
> {[closure] in MAIndirizzoModel class>>descriptionContainer->'Non valido -
> non servito'}
>
> MAPriorityContainer(MADescription)>>validateConditions:
> Receiver: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Arguments and temporary variables:
> anObject: a MACheckedMemento model: a MAIndirizzoModel
> Receiver's instance variables:
> properties: a Dictionary(#conditions->{[closure] in MAIndirizzoModel
> class>>des...etc...
> accessor: nil
> children: a SortedCollection(a MAStringDescription label: 'Via' comment:
> 'Via -...etc...
>
> MAValidatorVisitor>>validate:using:
> Receiver: a MAValidatorVisitor
> Arguments and temporary variables:
> anObject: a MACheckedMemento model: a MAIndirizzoModel
> aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Receiver's instance variables:
> seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
> object: a MACheckedMemento model: a MAIndirizzoModel
>
> MAValidatorVisitor>>visitDescription:
> Receiver: a MAValidatorVisitor
> Arguments and temporary variables:
> aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Receiver's instance variables:
> seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
> object: a MACheckedMemento model: a MAIndirizzoModel
>
> MAValidatorVisitor(MAVisitor)>>visitContainer:
> Receiver: a MAValidatorVisitor
> Arguments and temporary variables:
> anObject: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Receiver's instance variables:
> seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
> object: a MACheckedMemento model: a MAIndirizzoModel
>
> MAValidatorVisitor>>visitContainer:
> Receiver: a MAValidatorVisitor
> Arguments and temporary variables:
> aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
> errors: nil
> Receiver's instance variables:
> seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
> object: a MACheckedMemento model: a MAIndirizzoModel
>
> MAValidatorVisitor(MAVisitor)>>visitPriorityContainer:
> Receiver: a MAValidatorVisitor
> Arguments and temporary variables:
> anObject: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Receiver's instance variables:
> seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
> object: a MACheckedMemento model: a MAIndirizzoModel
>
> MAPriorityContainer>>acceptMagritte:
> Receiver: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Arguments and temporary variables:
> aVisitor: a MAValidatorVisitor
> Receiver's instance variables:
> properties: a Dictionary(#conditions->{[closure] in MAIndirizzoModel
> class>>des...etc...
> accessor: nil
> children: a SortedCollection(a MAStringDescription label: 'Via' comment:
> 'Via -...etc...
>
> MAValidatorVisitor(MAVisitor)>>visit:
> Receiver: a MAValidatorVisitor
> Arguments and temporary variables:
> anObject: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Receiver's instance variables:
> seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
> object: a MACheckedMemento model: a MAIndirizzoModel
>
> MAValidatorVisitor>>visit:
> Receiver: a MAValidatorVisitor
> Arguments and temporary variables:
> aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Receiver's instance variables:
> seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
> object: a MACheckedMemento model: a MAIndirizzoModel
>
> [] in MAValidatorVisitor>>on:description:
> Receiver: a MAValidatorVisitor
> Arguments and temporary variables:
> aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Receiver's instance variables:
> seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
> object: a MACheckedMemento model: a MAIndirizzoModel
>
> BlockClosure>>ensure:
> Receiver: [closure] in MAValidatorVisitor>>on:description:
> Arguments and temporary variables:
> aBlock: [closure] in MAValidatorVisitor(MAGraphVisitor)>>use:during:
> returnValue: nil
> b: nil
> Receiver's instance variables:
> outerContext: MAValidatorVisitor>>on:description:
> startpc: 28
> numArgs: 0
>
> MAValidatorVisitor(MAGraphVisitor)>>use:during:
> Receiver: a MAValidatorVisitor
> Arguments and temporary variables:
> anObject: a MACheckedMemento model: a MAIndirizzoModel
> aBlock: [closure] in MAValidatorVisitor>>on:description:
> previous: nil
> Receiver's instance variables:
> seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
> object: a MACheckedMemento model: a MAIndirizzoModel
>
> MAValidatorVisitor>>on:description:
> Receiver: a MAValidatorVisitor
> Arguments and temporary variables:
> anObject: a MACheckedMemento model: a MAIndirizzoModel
> aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Receiver's instance variables:
> seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
> object: a MACheckedMemento model: a MAIndirizzoModel
>
> MAValidatorVisitor class>>on:description:
> Receiver: MAValidatorVisitor
> Arguments and temporary variables:
> anObject: a MACheckedMemento model: a MAIndirizzoModel
> aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Receiver's instance variables:
> superclass: MAGraphVisitor
> methodDict: a MethodDictionary(#on:description:->a CompiledMethod(2004:
> MAValid...etc...
> format: 134
> instanceVariables: nil
> organization: ('initialization' on:description:)
> ('private' validate:using:)
> ('...etc...
> subclasses: nil
> name: #MAValidatorVisitor
> classPool: nil
> sharedPools: nil
> environment: Smalltalk
> category: #'Magritte-Model-Visitor'
> traitComposition: {}
> localSelectors: nil
>
> MAPriorityContainer(MADescription)>>validate:
> Receiver: a MAPriorityContainer label: 'Indirizzo' comment: nil
> Arguments and temporary variables:
> anObject: a MACheckedMemento model: a MAIndirizzoModel
> Receiver's instance variables:
> properties: a Dictionary(#conditions->{[closure] in MAIndirizzoModel
> class>>des...etc...
> accessor: nil
> children: a SortedCollection(a MAStringDescription label: 'Via' comment:
> 'Via -...etc...
>
> MACheckedMemento(MAMemento)>>validate
> Receiver: a MACheckedMemento model: a MAIndirizzoModel
> Arguments and temporary variables:
>
> Receiver's instance variables:
> properties: nil
> model: a MAIndirizzoModel
> description: a MAPriorityContainer label: 'Indirizzo' comment: nil
> cache: a Dictionary(a MAGoogleMapsDescription label: 'Mappa' comment:
> 'Definizi...etc...
> original: a Dictionary(a MAGoogleMapsDescription label: 'Mappa' comment:
> 'Defin...etc...
>
> MACheckedMemento>>validate
> Receiver: a MACheckedMemento model: a MAIndirizzoModel
> Arguments and temporary variables:
>
> Receiver's instance variables:
> properties: nil
> model: a MAIndirizzoModel
> description: a MAPriorityContainer label: 'Indirizzo' comment: nil
> cache: a Dictionary(a MAGoogleMapsDescription label: 'Mappa' comment:
> 'Definizi...etc...
> original: a Dictionary(a MAGoogleMapsDescription label: 'Mappa' comment:
> 'Defin...etc...
>
> [] in MAContainerComponent>>doValidateTo:
> Receiver: a MAContainerComponent
> Arguments and temporary variables:
>
> Receiver's instance variables:
> decoration: a WAValueHolder contents: a MAContainerComponent
> memento: a MACheckedMemento model: a MAIndirizzoModel
> description: a MAPriorityContainer label: 'Indirizzo' comment: nil
> parent: a MAInternalEditorComponent
> children: a Dictionary(a MAStringDescription label: 'C.A.P.' comment:
> 'Codice A...etc...
> readonly: false
> errors: an OrderedCollection()
>
> BlockClosure>>on:do:
> Receiver: [closure] in MAContainerComponent>>doValidateTo:
> Arguments and temporary variables:
> exception: MAMultipleErrors
> handlerAction: [closure] in [] in
> MAContainerComponent(MADescriptionComponent)>...etc...
> handlerActive: true
> Receiver's instance variables:
> outerContext: MAContainerComponent>>doValidateTo:
> startpc: 38
> numArgs: 0
>
> [] in
> MAContainerComponent(MADescriptionComponent)>>onValidationError:addTo:
> Receiver: a MAContainerComponent
> Arguments and temporary variables:
> aBlock: [closure] in MAContainerComponent>>doValidateTo:
> aCollection: an OrderedCollection()
> Receiver's instance variables:
> decoration: a WAValueHolder contents: a MAContainerComponent
> memento: a MACheckedMemento model: a MAIndirizzoModel
> description: a MAPriorityContainer label: 'Indirizzo' comment: nil
> parent: a MAInternalEditorComponent
> children: a Dictionary(a MAStringDescription label: 'C.A.P.' comment:
> 'Codice A...etc...
> readonly: false
> errors: an OrderedCollection()
>
> BlockClosure>>on:do:
> Receiver: [closure] in
> MAContainerComponent(MADescriptionComponent)>>onValidationError:addTo:
> Arguments and temporary variables:
> exception: MAValidationError
> handlerAction: [closure] in
> MAContainerComponent(MADescriptionComponent)>>onVal...etc...
> handlerActive: true
> Receiver's instance variables:
> outerContext:
> MAContainerComponent(MADescriptionComponent)>>onValidationError:a...etc...
> startpc: 43
> numArgs: 0
>
> MAContainerComponent(MADescriptionComponent)>>onValidationError:addTo:
> Receiver: a MAContainerComponent
> Arguments and temporary variables:
> aBlock: [closure] in MAContainerComponent>>doValidateTo:
> aCollection: an OrderedCollection()
> Receiver's instance variables:
> decoration: a WAValueHolder contents: a MAContainerComponent
> memento: a MACheckedMemento model: a MAIndirizzoModel
> description: a MAPriorityContainer label: 'Indirizzo' comment: nil
> parent: a MAInternalEditorComponent
> children: a Dictionary(a MAStringDescription label: 'C.A.P.' comment:
> 'Codice A...etc...
> readonly: false
> errors: an OrderedCollection()
>
> MAContainerComponent>>doValidateTo:
> Receiver: a MAContainerComponent
> Arguments and temporary variables:
> aCollectionOfErrors: an OrderedCollection()
> Receiver's instance variables:
> decoration: a WAValueHolder contents: a MAContainerComponent
> memento: a MACheckedMemento model: a MAIndirizzoModel
> description: a MAPriorityContainer label: 'Indirizzo' comment: nil
> parent: a MAInternalEditorComponent
> children: a Dictionary(a MAStringDescription label: 'C.A.P.' comment:
> 'Codice A...etc...
> readonly: false
> errors: an OrderedCollection()
>
>
> --- The full stack ---
> [] in Semaphore>>critical:
> MethodContext(ContextPart)>>resume:
> BlockClosure>>ensure:
> Semaphore>>critical:
> NetNameResolver class>>addressForName:timeout:
> HTTPSocket class>>httpGetDocument:args:accept:request:
> HTTPSocket class>>httpGet:args:accept:request:
> HTTPSocket class>>httpGet:args:accept:
> HTTPSocket class>>httpGet:accept:
> HTTPSocket class>>httpGet:
> GMStaticMapGeocoding>>geocoding
> GMStaticMapGeocoding class>>getGMapGeocodingFor:
> MAIndirizzoModel>>getGoogleMapPoint
> [] in MAIndirizzoModel class>>descriptionContainer
> [] in MAPriorityContainer(MADescription)>>validateConditions:
> Array(SequenceableCollection)>>do:
> MAPriorityContainer(MADescription)>>validateConditions:
> MAValidatorVisitor>>validate:using:
> MAValidatorVisitor>>visitDescription:
> MAValidatorVisitor(MAVisitor)>>visitContainer:
> MAValidatorVisitor>>visitContainer:
> MAValidatorVisitor(MAVisitor)>>visitPriorityContainer:
> MAPriorityContainer>>acceptMagritte:
> MAValidatorVisitor(MAVisitor)>>visit:
> MAValidatorVisitor>>visit:
> [] in MAValidatorVisitor>>on:description:
> BlockClosure>>ensure:
> MAValidatorVisitor(MAGraphVisitor)>>use:during:
> MAValidatorVisitor>>on:description:
> MAValidatorVisitor class>>on:description:
> MAPriorityContainer(MADescription)>>validate:
> MACheckedMemento(MAMemento)>>validate
> MACheckedMemento>>validate
> [] in MAContainerComponent>>doValidateTo:
> BlockClosure>>on:do:
> [] in
> MAContainerComponent(MADescriptionComponent)>>onValidationError:addTo:
> BlockClosure>>on:do:
> MAContainerComponent(MADescriptionComponent)>>onValidationError:addTo:
> MAContainerComponent>>doValidateTo:
> - - - - - - - - - - - - - - -
> - - - - - - - - - - - - - - - - - -
> [] in MAContainerComponent>>validate
> MAContainerComponent>>withContainersDo:in:
> [] in MAContainerComponent>>withContainersDo:in:
> [] in MAInternalEditorComponent(WAComponent)>>childrenDo:
> Array(SequenceableCollection)>>do:
> MAInternalEditorComponent(WAComponent)>>childrenDo:
> MAContainerComponent>>withContainersDo:in:
> [] in MAContainerComponent>>withContainersDo:in:
> [] in MAContainerComponent(WAComponent)>>childrenDo:
> Array(SequenceableCollection)>>do:
> MAContainerComponent(WAComponent)>>childrenDo:
> MAContainerComponent>>withContainersDo:in:
> MAContainerComponent>>withContainersDo:
> MAContainerComponent>>validate
> MAContainerComponent>>save
> MAFormDecoration(MAContainerDecoration)>>execute:
> [] in [] in [] in MAFormDecoration(MAContainerDecoration)>>renderButtonsOn:
> WAActionCallback>>evaluateWithArgument:
> WAActionCallback(WACallback)>>evaluateWithField:
> WACallbackStream>>processCallbacksWithOwner:
> MAFormDecoration(WAPresenter)>>processCallbackStream:
> [] in MAValidationDecoration(WAPresenter)>>processChildCallbacks:
> MAValidationDecoration(WADecoration)>>nextPresentersDo:
> MAValidationDecoration(WAPresenter)>>processChildCallbacks:
> MAValidationDecoration(WAPresenter)>>processCallbackStream:
> [] in WAMessageDecoration(WAPresenter)>>processChildCallbacks:
> WAMessageDecoration(WADecoration)>>nextPresentersDo:
> WAMessageDecoration(WAPresenter)>>processChildCallbacks:
> WAMessageDecoration(WAPresenter)>>processCallbackStream:
> [] in WAAnswerHandler(WAPresenter)>>processChildCallbacks:
> WAAnswerHandler(WADecoration)>>nextPresentersDo:
> WAAnswerHandler(WAPresenter)>>processChildCallbacks:
> WAAnswerHandler(WAPresenter)>>processCallbackStream:
> [] in WADelegation(WAPresenter)>>processChildCallbacks:
> MAContainerComponent(WAComponent)>>decorationChainDo:
> WADelegation>>nextPresentersDo:
> WADelegation(WAPresenter)>>processChildCallbacks:
> WADelegation(WAPresenter)>>processCallbackStream:
> [] in WADelegation(WAPresenter)>>processChildCallbacks:
> DTRReport(WAComponent)>>decorationChainDo:
> WADelegation>>nextPresentersDo:
> WADelegation(WAPresenter)>>processChildCallbacks:
> WADelegation(WAPresenter)>>processCallbackStream:
> [] in ISTLoginWebGstOrdOnLine(WAPresenter)>>processChildCallbacks:
> DTRMngDataBase(WAComponent)>>decorationChainDo:
> [] in ISTLoginWebGstOrdOnLine(WAComponent)>>nextPresentersDo:
> [] in ISTLoginWebGstOrdOnLine(WAComponent)>>childrenDo:
> Array(SequenceableCollection)>>do:
> ISTLoginWebGstOrdOnLine(WAComponent)>>childrenDo:
> ISTLoginWebGstOrdOnLine(WAComponent)>>nextPresentersDo:
> ISTLoginWebGstOrdOnLine(WAPresenter)>>processChildCallbacks:
> ISTLoginWebGstOrdOnLine(WAPresenter)>>processCallbackStream:
> [] in WAToolFrame(WAPresenter)>>processChildCallbacks:
> ISTLoginWebGstOrdOnLine(WAComponent)>>decorationChainDo:
> [] in WAToolFrame(WAComponent)>>nextPresentersDo:
> [] in WAToolFrame(WAComponent)>>childrenDo:
> Array(SequenceableCollection)>>do:
> WAToolFrame(WAComponent)>>childrenDo:
> WAToolFrame(WAComponent)>>nextPresentersDo:
> WAToolFrame(WAPresenter)>>processChildCallbacks:
> WAToolFrame(WAPresenter)>>processCallbackStream:
> [] in WAToolFrame>>processCallbackStream:
> BlockClosure>>on:do:
> WAToolFrame>>withDeprecatedHandlerDo:
> WAToolFrame>>processCallbackStream:
> [] in WARenderContinuation>>processCallbacks:
> WAToolFrame(WAComponent)>>decorationChainDo:
> WARenderContinuation>>processCallbacks:
> [] in WARenderContinuation>>handleRequest:
> BlockClosure>>on:do:
> WARenderContinuation>>withNotificationHandler:
> WARenderContinuation>>handleRequest:
> WARenderContinuation(WASessionContinuation)>>value:
> ISTWASession(WASession)>>performRequest:
> [] in [] in [] in ISTWASession(WASession)>>responseForRequest:
> BlockClosure>>on:do:
> [] in ISTWASession(WASession)>>withErrorHandler:
> BlockClosure>>on:do:
> ISTWASession(WASession)>>withErrorHandler:
> [] in [] in ISTWASession(WASession)>>responseForRequest:
> BlockClosure>>on:do:
> WACurrentSession class(WADynamicVariable class)>>use:during:
> [] in ISTWASession(WASession)>>responseForRequest:
> [] in ISTWASession(WASession)>>withEscapeContinuation:
> EscapeContinuation class(Continuation class)>>currentDo:
> ISTWASession(WASession)>>withEscapeContinuation:
> ISTWASession(WASession)>>responseForRequest:
> [] in ISTWASession(WASession)>>incomingRequest:
> BlockClosure>>on:do:
> [] in [] in [] in WAProcessMonitor>>critical:ifError:
> BlockClosure>>ensure:
> [] in [] in WAProcessMonitor>>critical:ifError:
> [] in BlockClosure>>newProcess
>
>
> *********************************************************************************
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
March 26, 2010
Re: [Pharo-project] Open Monticello http repository d'ont answer
by Dario Trussardi
Hi,
i have some information about this problem.
When i request :
GMStaticMapGeocoding>>geocoding
GMStaticMapGeocoding class>>getGMapGeocodingFor:
but the internet connection is down the system erase the report :
Seaside Walkback
NameLookupFailure: Could not resolve the server named: maps.google.com
Debug Full Stack
Stack Trace
thisContext
[] in NetNameResolver class>>addressForName:timeout:
self
NetNameResolver
hostName
'maps.google.com'
secs
20
deadline
60064
result
nil
thisContext
[] in Semaphore>>critical:
self
a Semaphore()
mutuallyExcludedBlock
[closure] in NetNameResolver class>>addressForName:timeout:
blockValue
nil
caught
true
thisContext
BlockClosure>>ensure:
self
[closure] in Semaphore>>critical:
aBlock
[closure] in Semaphore>>critical:
returnValue
nil
b
nil
thisContext
Semaphore>>critical:
self
a Semaphore()
mutuallyExcludedBlock
[closure] in NetNameResolver class>>addressForName:timeout:
blockValue
nil
caught
true
thisContext
NetNameResolver class>>addressForName:timeout:
self
NetNameResolver
hostName
'maps.google.com'
secs
20
deadline
60064
result
nil
Now if i don't go in the debug and answer proceed
the system go in loop.
I hope this help.
Dario
************************************************************************
VM: Mac OS - intel - 1062 - Squeak3.8.1 of '28 Aug 2006' [latest update: #6747] Squeak VM 4.2.2b1
Image: PharoCore1.0rc2 [Latest update: #10509]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /users/dtr/Pharo505
Trusted Dir /foobar/tooBar/forSqueak/bogus
Untrusted Dir /Users/dtr/Library/Preferences/Squeak/Internet/My Squeak
[] in Semaphore>>critical:
Receiver: a Semaphore()
Arguments and temporary variables:
blockValue: #(nil true)
caught: a Semaphore()
Receiver's instance variables:
firstLink: nil
lastLink: nil
excessSignals: 0
MethodContext(ContextPart)>>resume:
Receiver: WARenderContinuation>>withNotificationHandler:
Arguments and temporary variables:
value: WAPageExpired
ctxt: BlockClosure>>ensure:
unwindBlock: [closure] in Semaphore>>critical:
Receiver's instance variables:
sender: WARenderContinuation>>handleRequest:
pc: 40
stackp: 1
method: a CompiledMethod(1161: WARenderContinuation>>withNotificationHandler:)
closureOrNil: nil
receiver: a WARenderContinuation
BlockClosure>>ensure:
Receiver: [closure] in Semaphore>>critical:
Arguments and temporary variables:
aBlock: nil
returnValue: nil
b: nil
Receiver's instance variables:
outerContext: Semaphore>>critical:
startpc: 38
numArgs: 0
Semaphore>>critical:
Receiver: a Semaphore()
Arguments and temporary variables:
<<error during printing>
Receiver's instance variables:
firstLink: nil
lastLink: nil
excessSignals: 0
NetNameResolver class>>addressForName:timeout:
Receiver: NetNameResolver
Arguments and temporary variables:
hostName: 'maps.google.com'
secs: 20
deadline: 66217
result: #(nil)
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary()
format: 2
instanceVariables: nil
organization: ('as yet unclassified')
subclasses: nil
name: #NetNameResolver
classPool: a Dictionary(#DefaultHostName->'' #HaveNetwork->true #ResolverBusy->...etc...
sharedPools: nil
environment: Smalltalk
category: #'Network-Kernel'
traitComposition: nil
localSelectors: nil
HTTPSocket class>>httpGetDocument:args:accept:request:
Receiver: HTTPSocket
Arguments and temporary variables:
<<error during printing>
Receiver's instance variables:
superclass: Socket
methodDict: a MethodDictionary(#contentType->a CompiledMethod(3444: HTTPSocket>...etc...
format: 146
instanceVariables: #('headerTokens' 'headers' 'responseCode')
organization: ('accessing' contentType contentType: contentsLength: getHeader: ...etc...
subclasses: nil
name: #HTTPSocket
classPool: a Dictionary(#HTTPBlabEmail->'' #HTTPPort->80 #HTTPProxyCredentials-...etc...
sharedPools: nil
environment: Smalltalk
category: #'Network-Protocols'
traitComposition: nil
localSelectors: nil
HTTPSocket class>>httpGet:args:accept:request:
Receiver: HTTPSocket
Arguments and temporary variables:
url: 'http://maps.google.com/maps/geo?q=Varese%2021100%20Varese%20%20Salvo%20d%..…...
args: nil
mimeType: '*/*'
requestString: ''
document: nil
Receiver's instance variables:
superclass: Socket
methodDict: a MethodDictionary(#contentType->a CompiledMethod(3444: HTTPSocket>...etc...
format: 146
instanceVariables: #('headerTokens' 'headers' 'responseCode')
organization: ('accessing' contentType contentType: contentsLength: getHeader: ...etc...
subclasses: nil
name: #HTTPSocket
classPool: a Dictionary(#HTTPBlabEmail->'' #HTTPPort->80 #HTTPProxyCredentials-...etc...
sharedPools: nil
environment: Smalltalk
category: #'Network-Protocols'
traitComposition: nil
localSelectors: nil
HTTPSocket class>>httpGet:args:accept:
Receiver: HTTPSocket
Arguments and temporary variables:
url: 'http://maps.google.com/maps/geo?q=Varese%2021100%20Varese%20%20Salvo%20d%..…...
args: nil
mimeType: '*/*'
Receiver's instance variables:
superclass: Socket
methodDict: a MethodDictionary(#contentType->a CompiledMethod(3444: HTTPSocket>...etc...
format: 146
instanceVariables: #('headerTokens' 'headers' 'responseCode')
organization: ('accessing' contentType contentType: contentsLength: getHeader: ...etc...
subclasses: nil
name: #HTTPSocket
classPool: a Dictionary(#HTTPBlabEmail->'' #HTTPPort->80 #HTTPProxyCredentials-...etc...
sharedPools: nil
environment: Smalltalk
category: #'Network-Protocols'
traitComposition: nil
localSelectors: nil
HTTPSocket class>>httpGet:accept:
Receiver: HTTPSocket
Arguments and temporary variables:
url: 'http://maps.google.com/maps/geo?q=Varese%2021100%20Varese%20%20Salvo%20d%..…...
mimeType: '*/*'
Receiver's instance variables:
superclass: Socket
methodDict: a MethodDictionary(#contentType->a CompiledMethod(3444: HTTPSocket>...etc...
format: 146
instanceVariables: #('headerTokens' 'headers' 'responseCode')
organization: ('accessing' contentType contentType: contentsLength: getHeader: ...etc...
subclasses: nil
name: #HTTPSocket
classPool: a Dictionary(#HTTPBlabEmail->'' #HTTPPort->80 #HTTPProxyCredentials-...etc...
sharedPools: nil
environment: Smalltalk
category: #'Network-Protocols'
traitComposition: nil
localSelectors: nil
HTTPSocket class>>httpGet:
Receiver: HTTPSocket
Arguments and temporary variables:
url: 'http://maps.google.com/maps/geo?q=Varese%2021100%20Varese%20%20Salvo%20d%..…...
Receiver's instance variables:
superclass: Socket
methodDict: a MethodDictionary(#contentType->a CompiledMethod(3444: HTTPSocket>...etc...
format: 146
instanceVariables: #('headerTokens' 'headers' 'responseCode')
organization: ('accessing' contentType contentType: contentsLength: getHeader: ...etc...
subclasses: nil
name: #HTTPSocket
classPool: a Dictionary(#HTTPBlabEmail->'' #HTTPPort->80 #HTTPProxyCredentials-...etc...
sharedPools: nil
environment: Smalltalk
category: #'Network-Protocols'
traitComposition: nil
localSelectors: nil
GMStaticMapGeocoding>>geocoding
Receiver: a GMStaticMapGeocoding
Arguments and temporary variables:
url: http://maps.google.com/maps/geo?q=Varese%2021100%20Varese%20%20Salvo%20d%2.…...
Receiver's instance variables:
canvas: nil
parent: nil
closed: false
attributes: nil
key: a GMApiKey
address: 'Varese 21100 Varese Salvo d''Acquisto 1'
GMStaticMapGeocoding class>>getGMapGeocodingFor:
Receiver: GMStaticMapGeocoding
Arguments and temporary variables:
anAddress: 'Varese 21100 Varese Salvo d''Acquisto 1'
itm: a GMStaticMapGeocoding
Receiver's instance variables:
superclass: WATextInputTag
methodDict: a MethodDictionary(#address->a CompiledMethod(3788: GMStaticMapGeoc...etc...
format: 142
instanceVariables: #('key' 'address')
organization: ('accessing' address address: key key:)
('testing' asArray: asArr...etc...
subclasses: nil
name: #GMStaticMapGeocoding
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'DTRGoogleStatic-Map'
traitComposition: {}
localSelectors: nil
MAIndirizzoModel>>getGoogleMapPoint
Receiver: a MAIndirizzoModel
Arguments and temporary variables:
path: 'Varese 21100 Varese Salvo d''Acquisto 1'
dati: nil
rsl: nil
gmp: nil
Receiver's instance variables:
via: 'Salvo d''Acquisto'
numero: '1'
citta: 'Varese'
cap: '21100'
provincia: 'Varese'
frazione: nil
googleMapPoint: nil
[] in MAIndirizzoModel class>>descriptionContainer
Receiver: MAIndirizzoModel
Arguments and temporary variables:
memento: a MACheckedMemento model: a MAIndirizzoModel
googleMapPoint: nil
upd: nil
new: a MAIndirizzoModel
Receiver's instance variables:
superclass: Object
methodDict: a MethodDictionary(#cap->a CompiledMethod(3281: MAIndirizzoModel>>c...etc...
format: 144
instanceVariables: #('via' 'numero' 'citta' 'cap' 'provincia' 'frazione' 'googl...etc...
organization: ('accessing-generated' cap cap: citta citta: frazione frazione: g...etc...
subclasses: nil
name: #MAIndirizzoModel
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'DTR-MA-Ang'
traitComposition: {}
localSelectors: nil
[] in MAPriorityContainer(MADescription)>>validateConditions:
Receiver: a MAPriorityContainer label: 'Indirizzo' comment: nil
Arguments and temporary variables:
anObject: [closure] in MAIndirizzoModel class>>descriptionContainer->'Non valid...etc...
each: a MACheckedMemento model: a MAIndirizzoModel
Receiver's instance variables:
properties: a Dictionary(#conditions->{[closure] in MAIndirizzoModel class>>des...etc...
accessor: nil
children: a SortedCollection(a MAStringDescription label: 'Via' comment: 'Via -...etc...
Array(SequenceableCollection)>>do:
Receiver: {[closure] in MAIndirizzoModel class>>descriptionContainer->'Non valido - non servito'}
Arguments and temporary variables:
aBlock: [closure] in MAPriorityContainer(MADescription)>>validateConditions:
index: 1
indexLimiT: 1
Receiver's instance variables:
{[closure] in MAIndirizzoModel class>>descriptionContainer->'Non valido - non servito'}
MAPriorityContainer(MADescription)>>validateConditions:
Receiver: a MAPriorityContainer label: 'Indirizzo' comment: nil
Arguments and temporary variables:
anObject: a MACheckedMemento model: a MAIndirizzoModel
Receiver's instance variables:
properties: a Dictionary(#conditions->{[closure] in MAIndirizzoModel class>>des...etc...
accessor: nil
children: a SortedCollection(a MAStringDescription label: 'Via' comment: 'Via -...etc...
MAValidatorVisitor>>validate:using:
Receiver: a MAValidatorVisitor
Arguments and temporary variables:
anObject: a MACheckedMemento model: a MAIndirizzoModel
aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
Receiver's instance variables:
seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
object: a MACheckedMemento model: a MAIndirizzoModel
MAValidatorVisitor>>visitDescription:
Receiver: a MAValidatorVisitor
Arguments and temporary variables:
aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
Receiver's instance variables:
seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
object: a MACheckedMemento model: a MAIndirizzoModel
MAValidatorVisitor(MAVisitor)>>visitContainer:
Receiver: a MAValidatorVisitor
Arguments and temporary variables:
anObject: a MAPriorityContainer label: 'Indirizzo' comment: nil
Receiver's instance variables:
seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
object: a MACheckedMemento model: a MAIndirizzoModel
MAValidatorVisitor>>visitContainer:
Receiver: a MAValidatorVisitor
Arguments and temporary variables:
aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
errors: nil
Receiver's instance variables:
seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
object: a MACheckedMemento model: a MAIndirizzoModel
MAValidatorVisitor(MAVisitor)>>visitPriorityContainer:
Receiver: a MAValidatorVisitor
Arguments and temporary variables:
anObject: a MAPriorityContainer label: 'Indirizzo' comment: nil
Receiver's instance variables:
seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
object: a MACheckedMemento model: a MAIndirizzoModel
MAPriorityContainer>>acceptMagritte:
Receiver: a MAPriorityContainer label: 'Indirizzo' comment: nil
Arguments and temporary variables:
aVisitor: a MAValidatorVisitor
Receiver's instance variables:
properties: a Dictionary(#conditions->{[closure] in MAIndirizzoModel class>>des...etc...
accessor: nil
children: a SortedCollection(a MAStringDescription label: 'Via' comment: 'Via -...etc...
MAValidatorVisitor(MAVisitor)>>visit:
Receiver: a MAValidatorVisitor
Arguments and temporary variables:
anObject: a MAPriorityContainer label: 'Indirizzo' comment: nil
Receiver's instance variables:
seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
object: a MACheckedMemento model: a MAIndirizzoModel
MAValidatorVisitor>>visit:
Receiver: a MAValidatorVisitor
Arguments and temporary variables:
aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
Receiver's instance variables:
seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
object: a MACheckedMemento model: a MAIndirizzoModel
[] in MAValidatorVisitor>>on:description:
Receiver: a MAValidatorVisitor
Arguments and temporary variables:
aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
Receiver's instance variables:
seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
object: a MACheckedMemento model: a MAIndirizzoModel
BlockClosure>>ensure:
Receiver: [closure] in MAValidatorVisitor>>on:description:
Arguments and temporary variables:
aBlock: [closure] in MAValidatorVisitor(MAGraphVisitor)>>use:during:
returnValue: nil
b: nil
Receiver's instance variables:
outerContext: MAValidatorVisitor>>on:description:
startpc: 28
numArgs: 0
MAValidatorVisitor(MAGraphVisitor)>>use:during:
Receiver: a MAValidatorVisitor
Arguments and temporary variables:
anObject: a MACheckedMemento model: a MAIndirizzoModel
aBlock: [closure] in MAValidatorVisitor>>on:description:
previous: nil
Receiver's instance variables:
seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
object: a MACheckedMemento model: a MAIndirizzoModel
MAValidatorVisitor>>on:description:
Receiver: a MAValidatorVisitor
Arguments and temporary variables:
anObject: a MACheckedMemento model: a MAIndirizzoModel
aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
Receiver's instance variables:
seen: an IdentitySet(a MACheckedMemento model: a MAIndirizzoModel)
object: a MACheckedMemento model: a MAIndirizzoModel
MAValidatorVisitor class>>on:description:
Receiver: MAValidatorVisitor
Arguments and temporary variables:
anObject: a MACheckedMemento model: a MAIndirizzoModel
aDescription: a MAPriorityContainer label: 'Indirizzo' comment: nil
Receiver's instance variables:
superclass: MAGraphVisitor
methodDict: a MethodDictionary(#on:description:->a CompiledMethod(2004: MAValid...etc...
format: 134
instanceVariables: nil
organization: ('initialization' on:description:)
('private' validate:using:)
('...etc...
subclasses: nil
name: #MAValidatorVisitor
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'Magritte-Model-Visitor'
traitComposition: {}
localSelectors: nil
MAPriorityContainer(MADescription)>>validate:
Receiver: a MAPriorityContainer label: 'Indirizzo' comment: nil
Arguments and temporary variables:
anObject: a MACheckedMemento model: a MAIndirizzoModel
Receiver's instance variables:
properties: a Dictionary(#conditions->{[closure] in MAIndirizzoModel class>>des...etc...
accessor: nil
children: a SortedCollection(a MAStringDescription label: 'Via' comment: 'Via -...etc...
MACheckedMemento(MAMemento)>>validate
Receiver: a MACheckedMemento model: a MAIndirizzoModel
Arguments and temporary variables:
Receiver's instance variables:
properties: nil
model: a MAIndirizzoModel
description: a MAPriorityContainer label: 'Indirizzo' comment: nil
cache: a Dictionary(a MAGoogleMapsDescription label: 'Mappa' comment: 'Definizi...etc...
original: a Dictionary(a MAGoogleMapsDescription label: 'Mappa' comment: 'Defin...etc...
MACheckedMemento>>validate
Receiver: a MACheckedMemento model: a MAIndirizzoModel
Arguments and temporary variables:
Receiver's instance variables:
properties: nil
model: a MAIndirizzoModel
description: a MAPriorityContainer label: 'Indirizzo' comment: nil
cache: a Dictionary(a MAGoogleMapsDescription label: 'Mappa' comment: 'Definizi...etc...
original: a Dictionary(a MAGoogleMapsDescription label: 'Mappa' comment: 'Defin...etc...
[] in MAContainerComponent>>doValidateTo:
Receiver: a MAContainerComponent
Arguments and temporary variables:
Receiver's instance variables:
decoration: a WAValueHolder contents: a MAContainerComponent
memento: a MACheckedMemento model: a MAIndirizzoModel
description: a MAPriorityContainer label: 'Indirizzo' comment: nil
parent: a MAInternalEditorComponent
children: a Dictionary(a MAStringDescription label: 'C.A.P.' comment: 'Codice A...etc...
readonly: false
errors: an OrderedCollection()
BlockClosure>>on:do:
Receiver: [closure] in MAContainerComponent>>doValidateTo:
Arguments and temporary variables:
exception: MAMultipleErrors
handlerAction: [closure] in [] in MAContainerComponent(MADescriptionComponent)>...etc...
handlerActive: true
Receiver's instance variables:
outerContext: MAContainerComponent>>doValidateTo:
startpc: 38
numArgs: 0
[] in MAContainerComponent(MADescriptionComponent)>>onValidationError:addTo:
Receiver: a MAContainerComponent
Arguments and temporary variables:
aBlock: [closure] in MAContainerComponent>>doValidateTo:
aCollection: an OrderedCollection()
Receiver's instance variables:
decoration: a WAValueHolder contents: a MAContainerComponent
memento: a MACheckedMemento model: a MAIndirizzoModel
description: a MAPriorityContainer label: 'Indirizzo' comment: nil
parent: a MAInternalEditorComponent
children: a Dictionary(a MAStringDescription label: 'C.A.P.' comment: 'Codice A...etc...
readonly: false
errors: an OrderedCollection()
BlockClosure>>on:do:
Receiver: [closure] in MAContainerComponent(MADescriptionComponent)>>onValidationError:addTo:
Arguments and temporary variables:
exception: MAValidationError
handlerAction: [closure] in MAContainerComponent(MADescriptionComponent)>>onVal...etc...
handlerActive: true
Receiver's instance variables:
outerContext: MAContainerComponent(MADescriptionComponent)>>onValidationError:a...etc...
startpc: 43
numArgs: 0
MAContainerComponent(MADescriptionComponent)>>onValidationError:addTo:
Receiver: a MAContainerComponent
Arguments and temporary variables:
aBlock: [closure] in MAContainerComponent>>doValidateTo:
aCollection: an OrderedCollection()
Receiver's instance variables:
decoration: a WAValueHolder contents: a MAContainerComponent
memento: a MACheckedMemento model: a MAIndirizzoModel
description: a MAPriorityContainer label: 'Indirizzo' comment: nil
parent: a MAInternalEditorComponent
children: a Dictionary(a MAStringDescription label: 'C.A.P.' comment: 'Codice A...etc...
readonly: false
errors: an OrderedCollection()
MAContainerComponent>>doValidateTo:
Receiver: a MAContainerComponent
Arguments and temporary variables:
aCollectionOfErrors: an OrderedCollection()
Receiver's instance variables:
decoration: a WAValueHolder contents: a MAContainerComponent
memento: a MACheckedMemento model: a MAIndirizzoModel
description: a MAPriorityContainer label: 'Indirizzo' comment: nil
parent: a MAInternalEditorComponent
children: a Dictionary(a MAStringDescription label: 'C.A.P.' comment: 'Codice A...etc...
readonly: false
errors: an OrderedCollection()
--- The full stack ---
[] in Semaphore>>critical:
MethodContext(ContextPart)>>resume:
BlockClosure>>ensure:
Semaphore>>critical:
NetNameResolver class>>addressForName:timeout:
HTTPSocket class>>httpGetDocument:args:accept:request:
HTTPSocket class>>httpGet:args:accept:request:
HTTPSocket class>>httpGet:args:accept:
HTTPSocket class>>httpGet:accept:
HTTPSocket class>>httpGet:
GMStaticMapGeocoding>>geocoding
GMStaticMapGeocoding class>>getGMapGeocodingFor:
MAIndirizzoModel>>getGoogleMapPoint
[] in MAIndirizzoModel class>>descriptionContainer
[] in MAPriorityContainer(MADescription)>>validateConditions:
Array(SequenceableCollection)>>do:
MAPriorityContainer(MADescription)>>validateConditions:
MAValidatorVisitor>>validate:using:
MAValidatorVisitor>>visitDescription:
MAValidatorVisitor(MAVisitor)>>visitContainer:
MAValidatorVisitor>>visitContainer:
MAValidatorVisitor(MAVisitor)>>visitPriorityContainer:
MAPriorityContainer>>acceptMagritte:
MAValidatorVisitor(MAVisitor)>>visit:
MAValidatorVisitor>>visit:
[] in MAValidatorVisitor>>on:description:
BlockClosure>>ensure:
MAValidatorVisitor(MAGraphVisitor)>>use:during:
MAValidatorVisitor>>on:description:
MAValidatorVisitor class>>on:description:
MAPriorityContainer(MADescription)>>validate:
MACheckedMemento(MAMemento)>>validate
MACheckedMemento>>validate
[] in MAContainerComponent>>doValidateTo:
BlockClosure>>on:do:
[] in MAContainerComponent(MADescriptionComponent)>>onValidationError:addTo:
BlockClosure>>on:do:
MAContainerComponent(MADescriptionComponent)>>onValidationError:addTo:
MAContainerComponent>>doValidateTo:
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
[] in MAContainerComponent>>validate
MAContainerComponent>>withContainersDo:in:
[] in MAContainerComponent>>withContainersDo:in:
[] in MAInternalEditorComponent(WAComponent)>>childrenDo:
Array(SequenceableCollection)>>do:
MAInternalEditorComponent(WAComponent)>>childrenDo:
MAContainerComponent>>withContainersDo:in:
[] in MAContainerComponent>>withContainersDo:in:
[] in MAContainerComponent(WAComponent)>>childrenDo:
Array(SequenceableCollection)>>do:
MAContainerComponent(WAComponent)>>childrenDo:
MAContainerComponent>>withContainersDo:in:
MAContainerComponent>>withContainersDo:
MAContainerComponent>>validate
MAContainerComponent>>save
MAFormDecoration(MAContainerDecoration)>>execute:
[] in [] in [] in MAFormDecoration(MAContainerDecoration)>>renderButtonsOn:
WAActionCallback>>evaluateWithArgument:
WAActionCallback(WACallback)>>evaluateWithField:
WACallbackStream>>processCallbacksWithOwner:
MAFormDecoration(WAPresenter)>>processCallbackStream:
[] in MAValidationDecoration(WAPresenter)>>processChildCallbacks:
MAValidationDecoration(WADecoration)>>nextPresentersDo:
MAValidationDecoration(WAPresenter)>>processChildCallbacks:
MAValidationDecoration(WAPresenter)>>processCallbackStream:
[] in WAMessageDecoration(WAPresenter)>>processChildCallbacks:
WAMessageDecoration(WADecoration)>>nextPresentersDo:
WAMessageDecoration(WAPresenter)>>processChildCallbacks:
WAMessageDecoration(WAPresenter)>>processCallbackStream:
[] in WAAnswerHandler(WAPresenter)>>processChildCallbacks:
WAAnswerHandler(WADecoration)>>nextPresentersDo:
WAAnswerHandler(WAPresenter)>>processChildCallbacks:
WAAnswerHandler(WAPresenter)>>processCallbackStream:
[] in WADelegation(WAPresenter)>>processChildCallbacks:
MAContainerComponent(WAComponent)>>decorationChainDo:
WADelegation>>nextPresentersDo:
WADelegation(WAPresenter)>>processChildCallbacks:
WADelegation(WAPresenter)>>processCallbackStream:
[] in WADelegation(WAPresenter)>>processChildCallbacks:
DTRReport(WAComponent)>>decorationChainDo:
WADelegation>>nextPresentersDo:
WADelegation(WAPresenter)>>processChildCallbacks:
WADelegation(WAPresenter)>>processCallbackStream:
[] in ISTLoginWebGstOrdOnLine(WAPresenter)>>processChildCallbacks:
DTRMngDataBase(WAComponent)>>decorationChainDo:
[] in ISTLoginWebGstOrdOnLine(WAComponent)>>nextPresentersDo:
[] in ISTLoginWebGstOrdOnLine(WAComponent)>>childrenDo:
Array(SequenceableCollection)>>do:
ISTLoginWebGstOrdOnLine(WAComponent)>>childrenDo:
ISTLoginWebGstOrdOnLine(WAComponent)>>nextPresentersDo:
ISTLoginWebGstOrdOnLine(WAPresenter)>>processChildCallbacks:
ISTLoginWebGstOrdOnLine(WAPresenter)>>processCallbackStream:
[] in WAToolFrame(WAPresenter)>>processChildCallbacks:
ISTLoginWebGstOrdOnLine(WAComponent)>>decorationChainDo:
[] in WAToolFrame(WAComponent)>>nextPresentersDo:
[] in WAToolFrame(WAComponent)>>childrenDo:
Array(SequenceableCollection)>>do:
WAToolFrame(WAComponent)>>childrenDo:
WAToolFrame(WAComponent)>>nextPresentersDo:
WAToolFrame(WAPresenter)>>processChildCallbacks:
WAToolFrame(WAPresenter)>>processCallbackStream:
[] in WAToolFrame>>processCallbackStream:
BlockClosure>>on:do:
WAToolFrame>>withDeprecatedHandlerDo:
WAToolFrame>>processCallbackStream:
[] in WARenderContinuation>>processCallbacks:
WAToolFrame(WAComponent)>>decorationChainDo:
WARenderContinuation>>processCallbacks:
[] in WARenderContinuation>>handleRequest:
BlockClosure>>on:do:
WARenderContinuation>>withNotificationHandler:
WARenderContinuation>>handleRequest:
WARenderContinuation(WASessionContinuation)>>value:
ISTWASession(WASession)>>performRequest:
[] in [] in [] in ISTWASession(WASession)>>responseForRequest:
BlockClosure>>on:do:
[] in ISTWASession(WASession)>>withErrorHandler:
BlockClosure>>on:do:
ISTWASession(WASession)>>withErrorHandler:
[] in [] in ISTWASession(WASession)>>responseForRequest:
BlockClosure>>on:do:
WACurrentSession class(WADynamicVariable class)>>use:during:
[] in ISTWASession(WASession)>>responseForRequest:
[] in ISTWASession(WASession)>>withEscapeContinuation:
EscapeContinuation class(Continuation class)>>currentDo:
ISTWASession(WASession)>>withEscapeContinuation:
ISTWASession(WASession)>>responseForRequest:
[] in ISTWASession(WASession)>>incomingRequest:
BlockClosure>>on:do:
[] in [] in [] in WAProcessMonitor>>critical:ifError:
BlockClosure>>ensure:
[] in [] in WAProcessMonitor>>critical:ifError:
[] in BlockClosure>>newProcess
*********************************************************************************
March 26, 2010
[Pharo-project] Fwd: [squeak-dev] Hello squeakers
by Germán Arduino
Sorry, forgot reply-all....
---------- Forwarded message ----------
From: Germán Arduino <garduino(a)gmail.com>
Date: 2010/3/26
Subject: Re: [squeak-dev] Hello squeakers
To: The general-purpose Squeak developers list
<squeak-dev(a)lists.squeakfoundation.org>
Hi Stef:
I'm one of the guys being in both lists and trying to follow the two
things and appreciating things of both and your mail is really very
very good on my pov. I also appreciate the effort of people
contributing with a positive attitude on Squeak AND Pharo, as the guys
you mentioned. And don't forget Dale doing the same and several
others.
The Smalltalk community itself is so little, more little is the
squeak/pharo and I think we can't afford not cooperate among us.
I also vote for a long period of fun ahead, doing Squeak/Pharo or
Pharo/Squeak :)
Germán.
2010/3/26 Bert Freudenberg <bert(a)freudenbergs.de>:
> On 26.03.2010, at 12:17, stephane ducasse wrote:
>>
>> Dear Squeakers
>>
>> I want to send you a message because I estimate Squeakers and I want to open the door to see how new relationship can be build.
>> So consider that as an open hand - even if my english may let you think otherwise.
>>
>> Â Â Â First, Pharo is not against Squeak. We forked because we believed that we could not make Squeak move in any coherent direction. We are sure
>> Â Â Â that you understand our reasons. Â Just think a moment about the amount of time and energy we invested in Squeak in the
>> Â Â Â past (I wrote more than anybody else books on squeak, build tutorials, lecture support, videos....- with esug over the years we spent more than
>> Â Â Â 30 kEuros in Squeak related actions) so deciding to go for Pharo was not an easy choice but a necessary one: At one point I was thinking to quit
>> Â Â Â Smalltalk and go to see Ruby and Python for real. Pharo is the only way that I get back my fun in Smalltalk.
>>
>> Â Â Â So what are my dreams?
>>
>> For Pharo
>> ======
>> Â Â Â We want a clean, lean and fast Smalltalk. An implementation that makes other dynamic language jealous.
>> Â Â Â We want a place where we/you can innovate. We want people to be able to invent THEIR future.
>> Â Â Â We want a place where people can make money with it and build robust applications.
>>
>> Â Â Â Being able to experiment fast is important but for that the system should be clean, robust and flexible.
>> Â Â Â Having a platform for experimentation requires that the platform is not experimental.
>>
>> About innovation I mean in no order:
>> Â Â Â Support for multitouch screen, bootstrappable Smalltalk, immutability bit and its impact, ephemerons,
>> Â Â Â new module system?, first class instance variables, using traits for real (like in ruby where any class can be a model
>> Â Â Â without inheriting from model), VAT-like system?, event system like in AmbiantTalk?,
>> Â Â Â I put ? because some of these should be implemented assessed tested... and understood deeply.
>>
>> About clean
>> Â Â Â Clean network, clean event system, clean object kernel, better compiler (open - we got first class instance
>> Â Â Â variable with no runtime penalties in one afternoon). Clean class builder...
>>
>> Now enough about Pharo. http://www.pharo-project.org/
>>
>> About Etoys
>> ========
>> Â Â Â I love Etoys (we translated the book and did more presentations of etoys than most squeakers) but I do not like its implementation.
>>    Why? Because it is bad. Any body that looks at it knows it. When I removed Etoys part from Pharo  I'm sad but there is no other choices. Now it
>>    does not mean that I'm against Etoys and Etoys has the Etoys 40 image (note that we collected in 3.9 most of the etoys fixes with little support         from Etoyers which forked way before, we did the same with the fixes of diego of Smalltalk). But again you can judge otherwise.
>>
>>
>> About the ranting or the little war between Squeak and Pharo
>> ======================================
>> Â Â Â Frankly I'm tired about us ranting against Squeak/andreas/... and the inverse. For example Traits are cool, Javascript and PHP
>> Â Â Â will probably have them as Perl-6, Scala, Fortress. Now Squeak can remove them. I have no problem with that. Seriously this is your decision.
>> Â Â Â People in squeak-dev can freely say negative points about me if this helps. I decided that I will not rant nor get negative feelings about that. I
>> Â Â Â found the red pill :)
>>
>> Â Â Â *I* decided that I want to head to the future. So we will not rant nor make any bad statement about the past anymore. Not even report history or
>> Â Â Â on old facts: if you were there you should remember, else there is the archive :). This is my last mail on the past.
>> Â Â Â Frankly I have the best job I can dream about. I'm lucky just check my h-index for the fun, I have more than most researchers I know. In addition, Â Â Â I loved working and learning from people like lukas, adrian, nicolas, levente, marcus, ..... The next 10 years should be the best of my life and I
>> Â Â Â will take advantage of that. Â I want to have **10/15** years of pure fun and I will do it. I want and will create positive energy. Look at ESUG
>> Â Â Â we are doing a great job.
>>
>> About cross dialect energy
>> =================
>> Â Â Â Now the key point of this mail. I **deeply** appreciate the attitude of people like nicolas, levente, and igor that do not bash us and help Pharo
>> Â Â Â but also Squeak. I sent this message mainly because of their attitude. I'm sad to see all this (their) energy duplicated. We cleaned and improved a
>> Â Â Â lot Pharo over the last two years (more than you may think) and we will continue. Squeak could have benefitted from it. Nicolas luckily for you
>> Â Â Â pushed a lot of our fixes in Squeak already. I'm getting the fixes of Squeak that are interesting for Pharo. Now depending on the Squeak vision
>> Â Â Â we could share some common things. May be we can build a better future together but not at all price. You see our goals is to get a clean, lean, Â Â Â Â flexible and robust system. If you want to share something with us let us know. You know now the vision of Pharo.
>> Â Â Â Squeak may want to compete with us too. This is ok too.
>>
>> If you want to help us building our vision you are welcome. Our logo is a lighthouse and it means that it will stand and last long because it has to guide boats. So we will continue Pharo against  tempests and giant waves :)
>>
>> Â Â Â https://gforge.inria.fr/frs/download.php/26678/pharoVideo.zip
>> Â Â Â http://www.youtube.com/watch?v=m2LeNBY_5gk
>> Â Â Â The video is really cool (dan this is the one you wanted on waves).
>>
>> Stef
>
> Thank you, Stef. That's a great peace-offering, and I happily accept.
>
> I, too, hope that Squeak and Pharo will share as much as possible, even if our visions are not the same, and the paths we choose to get there are different. Squeak takes the slower route, trying to keep strange things like Etoys working while refactoring them, trying to be inclusive of every project from Seaside to Croquet, supporting Traits but making them unloadable, etc.
>
> It's great to see how fast Pharo is moving forward, although I've only been watching from afar. I just subscribed to your list so my message gets through. No time to get involved, my personal focus is still on Etoys, and Squeak, as time permits. But I'll try to follow a bit more closely :)
>
> Merci beaucoup!
>
> - Bert -
>
> (Squeak Oversight Board member, speaking for myself, but I'm sure this is a relief for everyone in the community)
>
>
>
--
=================================================
Germán S. Arduino <gsa @ arsol.net> Twitter: garduino
Arduino Software & Web Hosting http://www.arduinosoftware.com
PasswordsPro http://www.passwordspro.com
=================================================
March 26, 2010
Re: [Pharo-project] [update 1.1] #11296
by Henrik Johansen
On Mar 26, 2010, at 1:19 53PM, Stéphane Ducasse wrote:
>> Absolutely <3 it!
>
> DNU???
<3 = Heart
As in, "I <3 Huckabees"
>
>
>> How about a Start profiling (Stop profiling when clicked) button as well, providing functionality equal to the Start profiling... options from the debug menu?
>>
>> I'd replace it in a heartbeat already tbh, with that extra button, we could reduce it to a single entry for profiling in the debug menu :)
>
> :)
> We will have to think in terms of architecture and dependencies but it will be present.
A few thoughts:
- MessageTally is the model. Ditch opening CodeHolders and crap as a result of calling spyAllOn: and friends, return the raw instance after collection.
- TimeProfile(r)(Browser) is the view. Convenience methods for opening browsers. Ditch constructing with report:cutoff; use the tally directly as model.
- Define the menu item in TimeProfiler class.
Cheers,
Henry
March 26, 2010
Re: [Pharo-project] [update 1.1] #11296
by Alexandre Bergel
Very nice!
Alexandre
On 26 Mar 2010, at 06:47, Stéphane Ducasse wrote:
> gorgeous!
>
> Stef
>
>> Stéphane Ducasse a écrit :
>>> 11296
>>> -----
>>>
>>> Issue 2208: Preferences setting
>>> * range setting: bad widget height in the SettingBrowser
>>> * improve TimeProfiler (MorphTreeMorph example)
>> Few words about that:
>> TimeProfiler is a improvement of the current TimeProfileBrowser.
>> just try it:
>> TimeProfiler new openOnBlock: [ 10 timesRepeat: [Transcript show:
>> 'n' asString, String cr]].
>> or simply
>> TimeProfiler new open
>> and then type-in the code you want to profile.
>>
>> For now, it is in the Morphic-MorphTreeWidget-Examples sys cat,
>> maybe it can replace TimeProfileBrowser in the core.
>> what do you think ?
>>
>> Cheers
>> Alain
>>
>>
>> <Time profiler.png>_______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
March 26, 2010