Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
August 2009
- 77 participants
- 1342 messages
Re: [Pharo-project] Line end convention in MultiByteFileStream
by Stéphane Ducasse
send code :)
Stef
On Aug 22, 2009, at 9:20 PM, Schwab,Wilhelm K wrote:
> I saw that, but one wonders whether we might be alone and should
> just stop whining :) I cannot understand how ignoring errors is a
> feature, but maybe it is to some??? One argument against the idea
> is that the file could grow very large over time, but it should not
> be too bad, and I would certainly want to know if my image is
> generating huge numbers of unhandled execeptions. That is all the
> more true on servers and embedded systems.
>
> A possible compromise is something I did a while back and need to
> press back into service: a rotating (for lack of a better name) file
> stream. It uses one stream for a set period of time, then opens a
> new file and begins writing to it. It leaves a seriies of files
> named for when they were opened. I did it to avoid having something
> get hung up (the concern was mostly defective USB drivers) and
> taking out all of our data from an experiment vs. just costing us
> the last ten minutes worth. Something even simpler could probably
> work here.
>
> Bill
>
>
>
> From: pharo-project-bounces(a)lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr
> ] On Behalf Of csrabak(a)bol.com.br
> Sent: Saturday, August 22, 2009 12:53 PM
> To: Pharo-project(a)lists.gforge.inria.fr
> Subject: Re: [Pharo-project] Line end convention in
> MultiByteFileStream
>
> In another thread I asked to count one vote plus for this.
>
>
> Em 22/08/2009 13:56, Schwab,Wilhelm K < bschwab(a)anest.ufl.edu >
> escreveu:
>
>
> Something else that I would very much like to see done to the debug
> log is to append new entries vs. overwriting them. A lot of useful
> information is destroyed that way. What do others think?
>
> Bill
>
>
>
> -----Original Message-----
> From: pharo-project-bounces(a)lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr
> ] On Behalf Of Damien Cassou
> Sent: Saturday, August 22, 2009 11:35 AM
> To: Pharo Development
> Subject: Re: [Pharo-project] Line end convention in
> MultiByteFileStream
>
> About PharoDebug.log: http://code.google.com/p/pharo/issues/detail?id=1082
>
> --
> Damien Cassou
> http://damiencassou.seasidehosting.st
>
> "Lambdas are relegated to relative obscurity until Java makes them
> popular by not having them." James Iry
>
> _______________________________________________
> 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
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Aug. 22, 2009
Re: [Pharo-project] over bloated image workaround
by Mariano Martinez Peck
On Sat, Aug 22, 2009 at 5:42 AM, Stéphane Ducasse <stephane.ducasse(a)inria.fr
> wrote:
> We should check that.
> Can you open a ticket?
Ok, done: http://code.google.com/p/pharo/issues/detail?id=1083
>
>
> Stef
> On Aug 21, 2009, at 11:25 PM, Mariano Martinez Peck wrote:
>
> > Hi folks: Sometimes, my Pharo images grows a lot. Size like 80MB or
> > similar. Marcelo Cortez gave me a couple of changes (fileouts) that
> > make my images go back to their original size or similar. For
> > example, it was tasted in a 87 MB and after this changes and this
> > stuff, it become in 24 MB. The same with another one from 65M to 35M.
> >
> > If you have a big Pharo image, save a copy and do this tests:
> >
> > 1) File in all the changes I attach.
> > 2) Go to a workspace and evaluate:
> >
> > OBDPAbstract reinitAllCache.
> > LocalSends allInstances first initialize.
> > EventManager resetMap.
> > Smalltalk garbageCollect.
> >
> > Did this make your image too much smaller?
> >
> > When I evaluate SystemNavigation default obsoleteBehavio size I
> > get a a number of 3 digits.
> >
> > Perhaps it is a matter with the OB. I guess it generates dependences
> > while you are developing a class and it creates on the fly an
> > obsolteClassXXX when there is something that doesn't exist. Then
> > they are processes and they are never garbage collected.
> >
> > When SmalltalkImage tries to fix the obsoletes delegates to the
> > literal frames of the compiled methods so that to search references
> > to the obsoletes. But references were not gone because they weren't
> > garbage collected. The same method finishes with error if the
> > obsoletes > 0.
> >
> > Does anyone has a comment for this?
> >
> > I tried to do my best to write in English from what Marcelo told me
> > and from what I can understand from the changesets.
> >
> > Best,
> >
> > Mariano _______________________________________________
> > 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
>
Aug. 22, 2009
Re: [Pharo-project] Recursion - should there be a limit?
by Stéphane Ducasse
On Aug 22, 2009, at 6:50 PM, Schwab,Wilhelm K wrote:
> Hello all,
>
> I (stupidly) created a runaway recursion that happened to be in a
> Seaside app that uses LDAPLayer, and that is currently using drives
> shared over a pre-production vpn from a 64 bit Ubuntu system.
> Hopefully you won't think less of me for not immediately thinking of
> infinite recursion as the cause of the problems. It did what is
> IMHO the worst thing a program can do: it just stopped responding.
> It makes sense now, and the next time I see the IDE get sluggish and
> finally lock up, I will probably think of recursion before looking
> for strange causes. As it was, I simply moved breakpoints around
> (making liberal use of the End Process button on Ubuntu's system
> monitor) until I finally put one in front of something that I
> thought should have worked, and in fact was the culprit.
>
> For good or bad, Dolphin would promptly complain of the callstack
> being too deep, after which the mistake is fairly easy to find. I
> have never had problems with that limit, but IIRC others have.
> Would it be simple to add an optional limit on the stack depth?
> Would you do it, or would it be asking for trouble? Is there a less
> invasive way to aid in debugging this scenario?
this would be nice because I found myself often impossible to bring a
debugger or getting a screen full of wanring windows and I have to
kill the image.
Improving the debug possibility would be importatn but I have no idea
how to address it.
>
> Bill
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Aug. 22, 2009
Re: [Pharo-project] graphic copy/paste in os-x
by John M McIntosh
I refactored them and added the windows (untested) support.
I do need a Windows and a Macintosh user to cross check the work.
The Windows user I'm afraid actually has to check to see if the stuff
even works.
On 21-Aug-09, at 12:46 PM, John M McIntosh wrote:
> http://code.google.com/p/pharo/issues/detail?id=514
>
> Ok, I put up some change sets, and a new extended clipboard bundle.
--
=
=
=
========================================================================
John M. McIntosh <johnmci(a)smalltalkconsulting.com> Twitter:
squeaker68882
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
=
=
=
========================================================================
Aug. 22, 2009
Re: [Pharo-project] [BUG]OpenDBXMacOSX(Object)>>error:
by Adrian Lienhard
I added an entry to http://www.pharo-project.org/documentation/faq
Cheers,
Adrian
On Aug 22, 2009, at 20:08 , Mariano Martinez Peck wrote:
> 2009/8/22 François Tanguy <francois.tanguy(a)gmail.com>
>
>> Thank you Mariano for your answer.
>> I think this information deserves to be in "Pharo FAQ".
>>
>
> Thanks François for you comment and suggestion, I really appreciate
> it.
> However, I am sorry but I am not completely agree. SqueakDBX has
> nothing to
> do with Pharo. SqueakDBX is an external package that loads not only
> in Pharo
> but also in Squeak, Cuis or whatever. The problem you had is SqueakDBX
> related, not Pharo. In addition, if you see our website:
> http://wiki.squeak.org/squeak/6052 in the FAQ you will see that your
> problem was already there.
>
> In summary, it is not Pharo, but SqueakDBX. And in order to use it,
> you must
> read the wiki :)
>
> Perhaps what we can do is to add a link in the Pharo FAQ that says
> "if you
> want to use SqueakDBX or GlorpDBX read the following link
> http://wiki.squeak.org/squeak/6052"
>
> What do you think?
>
> François: let me know if it worked for you or how can I help you
> with it ;)
>
> Best,
>
> Mariano
>
>
>> Bye
>>
>> François
>>
>> Le Aug 21, 2009 à 3:23 PM, Mariano Martinez Peck a écrit :
>>
>>
>>
>> On Fri, Aug 21, 2009 at 8:16 AM, François Tanguy <
>> francois.tanguy(a)gmail.com> wrote:
>>
>>> Hello,
>>>
>>> it may be a noobie question but I tried to execute the GlorpTest and
>>> it failed in one case.
>>>
>>> If the DBXDriver is used, the tests failed. (See the stacktrace
>>> below)
>>> | tr |
>>> SqueakDatabaseAccessor DefaultDriver: SqueakDBXDriver.
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr categoryAt: (tr categoryList indexOf: 'GlorpTest') put: true;
>>> selectAllClasses; runAll.
>>>
>>> But the native driver is used, the tests passed.
>>> | tr |
>>> SqueakDatabaseAccessor DefaultDriver: NativePostgresDriver.
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr categoryAt: (tr categoryList indexOf: 'GlorpTest') put: true;
>>> selectAllClasses; runAll.
>>>
>>> I thought the DBXDriver could be used to manage postgresql database,
>>> no ?
>>
>>
>> Yes, SqueakDBX supports PostgreSQL but also many others backends.
>> But in
>> contrary to the native postgresql driver which is all in smalltalk,
>> SqueakDBX delegates to an external library written in C called
>> OpenDBX.
>>
>> So, when using SqueakDBX you must install OpenDBX and the client
>> library of
>> your database (the error you had is because SqueakDBX doesn't find
>> OpenDBX
>> in your system). Unfortunately this solution requires a bit more
>> time of
>> configuring than using the native driver but we can use a lot of
>> databases
>> and have better performance.
>>
>> I suggest you read the link: http://wiki.squeak.org/squeak/6052
>> And more in deep this link: http://wiki.squeak.org/squeak/6129
>>
>> For Linux and Windows there are also binaries, but in the case of
>> Mac you
>> must compile.
>>
>> Finally there is a blog someone write to use PostgreSQL with
>> SqueakDBX in
>> Mac OS:
>>
>> http://dreamsofascorpion.blogspot.com/2008/05/using-opendbx-with-squeak.html
>>
>> To avoid noise in Pharo mailing list remember there is our own
>> mailing list
>> here:
>> http://wiki.squeak.org/squeak/6052
>>
>> If you have more questions, just ask :)
>>
>> Best,
>>
>> Mariano
>>
>>
>>
>>>
>>>
>>> François
>>>
>>> ps : I am using pharo1.0-10418-BETAweb09.08.2 and I changed the
>>> login
>>> information in the correct methods (defaultPostgreSQLLocalLogin and
>>> buildDefaultConnectionArgs).
>>> 21 August 2009 11:13:22 am
>>>
>>> VM: Mac OS - intel - 1058 - Squeak3.8.1 of '28 Aug 2006' [latest
>>> update: #6747] Squeak VM 4.1.1b2
>>> Image: Pharo1.0beta [Latest update: #10418]
>>>
>>> SecurityManager state:
>>> Restricted: false
>>> FileAccess: true
>>> SocketAccess: true
>>> Working Dir /Users/paco/Desktop/pharo1.0-10418-BETAweb09.08.2
>>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>>> Untrusted Dir /Users/paco/Library/Preferences/Squeak/Internet/My
>>> Squeak
>>>
>>> OpenDBXMacOSX(Object)>>error:
>>> Receiver: an OpenDBXMacOSX
>>> Arguments and temporary variables:
>>> aString: 'Unable to find function address'
>>> Receiver's instance variables:
>>> an OpenDBXMacOSX
>>>
>>> OpenDBXMacOSX(Object)>>externalCallFailed
>>> Receiver: an OpenDBXMacOSX
>>> Arguments and temporary variables:
>>> errCode: 13
>>> Receiver's instance variables:
>>> an OpenDBXMacOSX
>>>
>>> OpenDBXMacOSX(OpenDBXUnix)>>apiInitialize:backend:host:port:
>>> Receiver: an OpenDBXMacOSX
>>> Arguments and temporary variables:
>>> handle: a WordArray(0)
>>> backend: 'pgsql'
>>> host: '127.0.0.1'
>>> port: '5432'
>>> Receiver's instance variables:
>>> an OpenDBXMacOSX
>>>
>>> DBXPostgresPlatform(DBXPlatform)>>createConnection:
>>> Receiver: a DBXPostgresPlatform
>>> Arguments and temporary variables:
>>> aConnection: a DBXConnection
>>> err: nil
>>> handleArray: a WordArray(0)
>>> handle: nil
>>> Receiver's instance variables:
>>> a DBXPostgresPlatform
>>>
>>> DBXConnection>>connect
>>> Receiver: a DBXConnection
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> platform: a DBXPostgresPlatform
>>> settings: a DBXConnectionSettings
>>> handle: nil
>>> open: a ValueHolder
>>> connected: a ValueHolder
>>> result: nil
>>>
>>> SqueakDBXDriver>>connect:
>>> Receiver: a SqueakDBXDriver
>>> Arguments and temporary variables:
>>> aLogin: a Login(a PostgreSQLPlatform,
>>> 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_glorp'...etc...
>>> Receiver's instance variables:
>>> connection: a DBXConnection
>>> database: nil
>>>
>>> [] in SqueakDatabaseAccessor>>loginIfError:
>>> Receiver: a SqueakDatabaseAccessor
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> connection: nil
>>> currentLogin: a Login(a PostgreSQLPlatform,
>>> 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_...etc...
>>> logging: nil
>>> reusePreparedStatements: nil
>>> deniedCommands: nil
>>> mutex: a Semaphore()
>>> dependents: nil
>>> isInTransaction: false
>>> databaseDriver: a SqueakDBXDriver
>>>
>>> BlockClosure>>on:do:
>>> Receiver: [closure] in SqueakDatabaseAccessor>>loginIfError:
>>> Arguments and temporary variables:
>>> exception: Error
>>> handlerAction: [closure] in
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>>> handlerActive: false
>>> Receiver's instance variables:
>>> outerContext: SqueakDatabaseAccessor>>loginIfError:
>>> startpc: 60
>>> numArgs: 0
>>>
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>execute:ifError:
>>> Receiver: a SqueakDatabaseAccessor
>>> Arguments and temporary variables:
>>> aBlock: [closure] in
>>> SqueakDatabaseAccessor>>loginIfError:
>>> errorBlock: [closure] in
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>>> Receiver's instance variables:
>>> connection: nil
>>> currentLogin: a Login(a PostgreSQLPlatform,
>>> 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_...etc...
>>> logging: nil
>>> reusePreparedStatements: nil
>>> deniedCommands: nil
>>> mutex: a Semaphore()
>>> dependents: nil
>>> isInTransaction: false
>>> databaseDriver: a SqueakDBXDriver
>>>
>>> SqueakDatabaseAccessor>>loginIfError:
>>> Receiver: a SqueakDatabaseAccessor
>>> Arguments and temporary variables:
>>> aBlock: [closure] in
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>>> Receiver's instance variables:
>>> connection: nil
>>> currentLogin: a Login(a PostgreSQLPlatform,
>>> 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_...etc...
>>> logging: nil
>>> reusePreparedStatements: nil
>>> deniedCommands: nil
>>> mutex: a Semaphore()
>>> dependents: nil
>>> isInTransaction: false
>>> databaseDriver: a SqueakDBXDriver
>>>
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>>> Receiver: a SqueakDatabaseAccessor
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> connection: nil
>>> currentLogin: a Login(a PostgreSQLPlatform,
>>> 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_...etc...
>>> logging: nil
>>> reusePreparedStatements: nil
>>> deniedCommands: nil
>>> mutex: a Semaphore()
>>> dependents: nil
>>> isInTransaction: false
>>> databaseDriver: a SqueakDBXDriver
>>>
>>> GlorpDatabaseLoginResource>>setUp
>>> Receiver: GlorpDatabaseLoginResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> name: nil
>>> description: nil
>>> accessor: a SqueakDatabaseAccessor
>>> login: a Login(a PostgreSQLPlatform, 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_glorp')...etc...
>>>
>>> GlorpDatabaseLoginResource(TestResource)>>initialize
>>> Receiver: GlorpDatabaseLoginResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> name: nil
>>> description: nil
>>> accessor: a SqueakDatabaseAccessor
>>> login: a Login(a PostgreSQLPlatform, 'postgres',
>>> 'vorevoca',
>>> '127.0.0.1_glorp')...etc...
>>>
>>> GlorpDatabaseLoginResource class(Behavior)>>new
>>> Receiver: GlorpDatabaseLoginResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> superclass: TestResource
>>> methodDict: a MethodDictionary(#accessor->a
>>> CompiledMethod (1052)
>>> #accessor:->a...etc...
>>> format: 138
>>> instanceVariables: #('accessor' 'login')
>>> organization: ('accessing' accessor accessor: login
>>> login: platform)
>>> ('initiali...etc...
>>> subclasses: nil
>>> name: #GlorpDatabaseLoginResource
>>> classPool: a Dictionary(#DefaultLogin->a Login(a
>>> PostgreSQLPlatform, 'postgres'...etc...
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #'OpenDBX-Glorp-Core-Test'
>>> traitComposition: nil
>>> localSelectors: nil
>>> current: nil
>>>
>>> GlorpDatabaseLoginResource class(TestResource class)>>current
>>> Receiver: GlorpDatabaseLoginResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> superclass: TestResource
>>> methodDict: a MethodDictionary(#accessor->a
>>> CompiledMethod (1052)
>>> #accessor:->a...etc...
>>> format: 138
>>> instanceVariables: #('accessor' 'login')
>>> organization: ('accessing' accessor accessor: login
>>> login: platform)
>>> ('initiali...etc...
>>> subclasses: nil
>>> name: #GlorpDatabaseLoginResource
>>> classPool: a Dictionary(#DefaultLogin->a Login(a
>>> PostgreSQLPlatform, 'postgres'...etc...
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #'OpenDBX-Glorp-Core-Test'
>>> traitComposition: nil
>>> localSelectors: nil
>>> current: nil
>>>
>>> GlorpDemoTablePopulatorResource>>setUp
>>> Receiver: GlorpDemoTablePopulatorResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> name: nil
>>> description: nil
>>> login: nil
>>>
>>> GlorpDemoTablePopulatorResource(TestResource)>>initialize
>>> Receiver: GlorpDemoTablePopulatorResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> name: nil
>>> description: nil
>>> login: nil
>>>
>>> GlorpDemoTablePopulatorResource class(Behavior)>>new
>>> Receiver: GlorpDemoTablePopulatorResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> superclass: TestResource
>>> methodDict: a
>>> MethodDictionary(#populateStuffTable->a
>>> CompiledMethod (555) #set...etc...
>>> format: 136
>>> instanceVariables: #('login')
>>> organization: ('setup' populateStuffTable setUp)
>>> ('*glorpTestPostload-override'...etc...
>>> subclasses: nil
>>> name: #GlorpDemoTablePopulatorResource
>>> classPool: a Dictionary(#NeedsSetup->false )
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #GlorpTest
>>> traitComposition: nil
>>> localSelectors: nil
>>> current: nil
>>>
>>> GlorpDemoTablePopulatorResource class(TestResource class)>>current
>>> Receiver: GlorpDemoTablePopulatorResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> superclass: TestResource
>>> methodDict: a
>>> MethodDictionary(#populateStuffTable->a
>>> CompiledMethod (555) #set...etc...
>>> format: 136
>>> instanceVariables: #('login')
>>> organization: ('setup' populateStuffTable setUp)
>>> ('*glorpTestPostload-override'...etc...
>>> subclasses: nil
>>> name: #GlorpDemoTablePopulatorResource
>>> classPool: a Dictionary(#NeedsSetup->false )
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #GlorpTest
>>> traitComposition: nil
>>> localSelectors: nil
>>> current: nil
>>>
>>> GlorpSessionResource>>glorpTestsSystem
>>> Receiver: GlorpSessionResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> name: nil
>>> description: nil
>>> session: nil
>>>
>>> GlorpSessionResource>>setUp
>>> Receiver: GlorpSessionResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> name: nil
>>> description: nil
>>> session: nil
>>>
>>> GlorpSessionResource(TestResource)>>initialize
>>> Receiver: GlorpSessionResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> name: nil
>>> description: nil
>>> session: nil
>>>
>>> GlorpSessionResource class(Behavior)>>new
>>> Receiver: GlorpSessionResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> superclass: TestResource
>>> methodDict: a MethodDictionary(#glorpTestsSystem-
>>> >a
>>> CompiledMethod
>>> (1814) #newS...etc...
>>> format: 136
>>> instanceVariables: #('session')
>>> organization: ('setup' glorpTestsSystem setUp)
>>> ('accessing' newSession session)...etc...
>>> subclasses: nil
>>> name: #GlorpSessionResource
>>> classPool: nil
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #GlorpTest
>>> traitComposition: nil
>>> localSelectors: nil
>>> current: nil
>>>
>>> GlorpSessionResource class(TestResource class)>>current
>>> Receiver: GlorpSessionResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> superclass: TestResource
>>> methodDict: a MethodDictionary(#glorpTestsSystem-
>>> >a
>>> CompiledMethod
>>> (1814) #newS...etc...
>>> format: 136
>>> instanceVariables: #('session')
>>> organization: ('setup' glorpTestsSystem setUp)
>>> ('accessing' newSession session)...etc...
>>> subclasses: nil
>>> name: #GlorpSessionResource
>>> classPool: nil
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #GlorpTest
>>> traitComposition: nil
>>> localSelectors: nil
>>> current: nil
>>>
>>> GlorpSessionResource class(TestResource class)>>isAvailable
>>> Receiver: GlorpSessionResource
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> superclass: TestResource
>>> methodDict: a MethodDictionary(#glorpTestsSystem-
>>> >a
>>> CompiledMethod
>>> (1814) #newS...etc...
>>> format: 136
>>> instanceVariables: #('session')
>>> organization: ('setup' glorpTestsSystem setUp)
>>> ('accessing' newSession session)...etc...
>>> subclasses: nil
>>> name: #GlorpSessionResource
>>> classPool: nil
>>> sharedPools: nil
>>> environment: Smalltalk
>>> category: #GlorpTest
>>> traitComposition: nil
>>> localSelectors: nil
>>> current: nil
>>>
>>> [] in TestRunner>>basicSetUpSuite:
>>> Receiver: a TestRunner
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> categories: #(#'AST-Tests'
>>> #'AutomaticMethodCategorizer-Tests'
>>> #'AutomaticMetho...etc...
>>> categoriesSelected: a Set(#GlorpTest)
>>> classes:
>>> {GlorpBreadthFirstTopologicalSortTest .
>>> GlorpCommandTest .
>>> GlorpCursor...etc...
>>> classIndex: 0
>>> classesSelected: a Set(GlorpSQLPrintingTest
>>> GlorpDatabaseBasedTest
>>> GlorpManyToM...etc...
>>> failedList: #()
>>> failedSelected: nil
>>> errorList: #()
>>> errorSelected: nil
>>> lastUpdate: 3428305867
>>> result: 0 run, 0 passes, 0 expected
>>> failures, 0
>>> failures, 0 errors,
>>> 0 unexpecte...etc...
>>> previousRun: nil
>>>
>>> Set>>do:
>>> Receiver: a Set(GlorpSessionResource
>>> GlorpDatabaseLoginResource
>>> GlorpDemoTablePopulatorResource)
>>> Arguments and temporary variables:
>>> aBlock: [closure] in
>>> TestRunner>>basicSetUpSuite:
>>> index: 2
>>> each: GlorpSessionResource
>>> indexLimiT: 5
>>> Receiver's instance variables:
>>> tally: 3
>>> array: {nil . GlorpSessionResource .
>>> GlorpDatabaseLoginResource .
>>> GlorpDemoTabl...etc...
>>>
>>> TestRunner>>basicSetUpSuite:
>>> Receiver: a TestRunner
>>> Arguments and temporary variables:
>>> aTestSuite: a TestSuite
>>> Receiver's instance variables:
>>> categories: #(#'AST-Tests'
>>> #'AutomaticMethodCategorizer-Tests'
>>> #'AutomaticMetho...etc...
>>> categoriesSelected: a Set(#GlorpTest)
>>> classes:
>>> {GlorpBreadthFirstTopologicalSortTest .
>>> GlorpCommandTest .
>>> GlorpCursor...etc...
>>> classIndex: 0
>>> classesSelected: a Set(GlorpSQLPrintingTest
>>> GlorpDatabaseBasedTest
>>> GlorpManyToM...etc...
>>> failedList: #()
>>> failedSelected: nil
>>> errorList: #()
>>> errorSelected: nil
>>> lastUpdate: 3428305867
>>> result: 0 run, 0 passes, 0 expected
>>> failures, 0
>>> failures, 0 errors,
>>> 0 unexpecte...etc...
>>> previousRun: nil
>>>
>>> TestRunner>>basicRunSuite:do:
>>> Receiver: a TestRunner
>>> Arguments and temporary variables:
>>> aTestSuite: a TestSuite
>>> aBlock: [closure] in TestRunner>>runSuite:
>>> Receiver's instance variables:
>>> categories: #(#'AST-Tests'
>>> #'AutomaticMethodCategorizer-Tests'
>>> #'AutomaticMetho...etc...
>>> categoriesSelected: a Set(#GlorpTest)
>>> classes:
>>> {GlorpBreadthFirstTopologicalSortTest .
>>> GlorpCommandTest .
>>> GlorpCursor...etc...
>>> classIndex: 0
>>> classesSelected: a Set(GlorpSQLPrintingTest
>>> GlorpDatabaseBasedTest
>>> GlorpManyToM...etc...
>>> failedList: #()
>>> failedSelected: nil
>>> errorList: #()
>>> errorSelected: nil
>>> lastUpdate: 3428305867
>>> result: 0 run, 0 passes, 0 expected
>>> failures, 0
>>> failures, 0 errors,
>>> 0 unexpecte...etc...
>>> previousRun: nil
>>>
>>> TestRunner>>runSuite:
>>> Receiver: a TestRunner
>>> Arguments and temporary variables:
>>> aTestSuite: a TestSuite
>>> Receiver's instance variables:
>>> categories: #(#'AST-Tests'
>>> #'AutomaticMethodCategorizer-Tests'
>>> #'AutomaticMetho...etc...
>>> categoriesSelected: a Set(#GlorpTest)
>>> classes:
>>> {GlorpBreadthFirstTopologicalSortTest .
>>> GlorpCommandTest .
>>> GlorpCursor...etc...
>>> classIndex: 0
>>> classesSelected: a Set(GlorpSQLPrintingTest
>>> GlorpDatabaseBasedTest
>>> GlorpManyToM...etc...
>>> failedList: #()
>>> failedSelected: nil
>>> errorList: #()
>>> errorSelected: nil
>>> lastUpdate: 3428305867
>>> result: 0 run, 0 passes, 0 expected
>>> failures, 0
>>> failures, 0 errors,
>>> 0 unexpecte...etc...
>>> previousRun: nil
>>>
>>> TestRunner>>runAll
>>> Receiver: a TestRunner
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> categories: #(#'AST-Tests'
>>> #'AutomaticMethodCategorizer-Tests'
>>> #'AutomaticMetho...etc...
>>> categoriesSelected: a Set(#GlorpTest)
>>> classes:
>>> {GlorpBreadthFirstTopologicalSortTest .
>>> GlorpCommandTest .
>>> GlorpCursor...etc...
>>> classIndex: 0
>>> classesSelected: a Set(GlorpSQLPrintingTest
>>> GlorpDatabaseBasedTest
>>> GlorpManyToM...etc...
>>> failedList: #()
>>> failedSelected: nil
>>> errorList: #()
>>> errorSelected: nil
>>> lastUpdate: 3428305867
>>> result: 0 run, 0 passes, 0 expected
>>> failures, 0
>>> failures, 0 errors,
>>> 0 unexpecte...etc...
>>> previousRun: nil
>>>
>>> UndefinedObject>>DoIt
>>> Receiver: nil
>>> Arguments and temporary variables:
>>> tr: a TestRunner
>>> Receiver's instance variables:
>>> nil
>>>
>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>> Receiver: a Compiler
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> sourceStream: a ReadWriteStream '
>>> |tr |
>>> SqueakDatabaseAccessor DefaultDriver: S...etc...
>>> requestor: a TextMorphForShoutEditor
>>> class: UndefinedObject
>>> category: nil
>>> context: nil
>>> parser: a Parser
>>>
>>> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>>> Receiver: a TextMorphForShoutEditor
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> model: a SHWorkspace
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 201 and
>>> character Character
>>> cr and rect...etc...
>>> stopBlock: a CharacterBlock with index 201 and
>>> character Character
>>> cr and recta...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextColor code: Color red)
>>> initialText: a Text for '
>>> |tr |
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr
>>> ...etc...
>>> selectionShowing: false
>>> otherInterval: (403 to: 402)
>>> lastParentLocation: nil
>>> morph: a TextMorphForShout(168)
>>> oldInterval: (106 to: 105)
>>> pivotBlock: a CharacterBlock with index 200 and
>>> character Character
>>> cr and rect...etc...
>>> inBackTo: false
>>>
>>> BlockClosure>>on:do:
>>> Receiver: [closure] in
>>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>>> Arguments and temporary variables:
>>> exception: OutOfScopeNotification
>>> handlerAction: [closure] in
>>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateS...etc...
>>> handlerActive: true
>>> Receiver's instance variables:
>>> outerContext:
>>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>>> startpc: 116
>>> numArgs: 0
>>>
>>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>>> Receiver: a TextMorphForShoutEditor
>>> Arguments and temporary variables:
>>> result: nil
>>> rcvr: nil
>>> ctxt: nil
>>> Receiver's instance variables:
>>> model: a SHWorkspace
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 201 and
>>> character Character
>>> cr and rect...etc...
>>> stopBlock: a CharacterBlock with index 201 and
>>> character Character
>>> cr and recta...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextColor code: Color red)
>>> initialText: a Text for '
>>> |tr |
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr
>>> ...etc...
>>> selectionShowing: false
>>> otherInterval: (403 to: 402)
>>> lastParentLocation: nil
>>> morph: a TextMorphForShout(168)
>>> oldInterval: (106 to: 105)
>>> pivotBlock: a CharacterBlock with index 200 and
>>> character Character
>>> cr and rect...etc...
>>> inBackTo: false
>>>
>>> TextMorphForShoutEditor(ParagraphEditor)>>doIt
>>> Receiver: a TextMorphForShoutEditor
>>> Arguments and temporary variables:
>>>
>>> Receiver's instance variables:
>>> model: a SHWorkspace
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 201 and
>>> character Character
>>> cr and rect...etc...
>>> stopBlock: a CharacterBlock with index 201 and
>>> character Character
>>> cr and recta...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextColor code: Color red)
>>> initialText: a Text for '
>>> |tr |
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr
>>> ...etc...
>>> selectionShowing: false
>>> otherInterval: (403 to: 402)
>>> lastParentLocation: nil
>>> morph: a TextMorphForShout(168)
>>> oldInterval: (106 to: 105)
>>> pivotBlock: a CharacterBlock with index 200 and
>>> character Character
>>> cr and rect...etc...
>>> inBackTo: false
>>>
>>> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
>>> Receiver: a TextMorphForShoutEditor
>>> Arguments and temporary variables:
>>> <<error during printing>
>>> Receiver's instance variables:
>>> model: a SHWorkspace
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 201 and
>>> character Character
>>> cr and rect...etc...
>>> stopBlock: a CharacterBlock with index 201 and
>>> character Character
>>> cr and recta...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextColor code: Color red)
>>> initialText: a Text for '
>>> |tr |
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr
>>> ...etc...
>>> selectionShowing: false
>>> otherInterval: (403 to: 402)
>>> lastParentLocation: nil
>>> morph: a TextMorphForShout(168)
>>> oldInterval: (106 to: 105)
>>> pivotBlock: a CharacterBlock with index 200 and
>>> character Character
>>> cr and rect...etc...
>>> inBackTo: false
>>>
>>> TextMorphForShoutEditor
>>> (ParagraphEditor)>>terminateAndInitializeAround:
>>> Receiver: a TextMorphForShoutEditor
>>> Arguments and temporary variables:
>>> aBlock: [closure] in
>>> TextMorphForShoutEditor(ParagraphEditor)>>doIt:
>>> Receiver's instance variables:
>>> model: a SHWorkspace
>>> paragraph: a MultiNewParagraph
>>> startBlock: a CharacterBlock with index 201 and
>>> character Character
>>> cr and rect...etc...
>>> stopBlock: a CharacterBlock with index 201 and
>>> character Character
>>> cr and recta...etc...
>>> beginTypeInBlock: nil
>>> emphasisHere: an Array(a TextColor code: Color red)
>>> initialText: a Text for '
>>> |tr |
>>> tr := TestRunner new.
>>> ToolBuilder open: tr.
>>> tr
>>> ...etc...
>>> selectionShowing: false
>>> otherInterval: (403 to: 402)
>>> lastParentLocation: nil
>>> morph: a TextMorphForShout(168)
>>> oldInterval: (106 to: 105)
>>> pivotBlock: a CharacterBlock with index 200 and
>>> character Character
>>> cr and rect...etc...
>>> inBackTo: false
>>>
>>>
>>> --- The full stack ---
>>> OpenDBXMacOSX(Object)>>error:
>>> OpenDBXMacOSX(Object)>>externalCallFailed
>>> OpenDBXMacOSX(OpenDBXUnix)>>apiInitialize:backend:host:port:
>>> DBXPostgresPlatform(DBXPlatform)>>createConnection:
>>> DBXConnection>>connect
>>> SqueakDBXDriver>>connect:
>>> [] in SqueakDatabaseAccessor>>loginIfError:
>>> BlockClosure>>on:do:
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>execute:ifError:
>>> SqueakDatabaseAccessor>>loginIfError:
>>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>>> GlorpDatabaseLoginResource>>setUp
>>> GlorpDatabaseLoginResource(TestResource)>>initialize
>>> GlorpDatabaseLoginResource class(Behavior)>>new
>>> GlorpDatabaseLoginResource class(TestResource class)>>current
>>> GlorpDemoTablePopulatorResource>>setUp
>>> GlorpDemoTablePopulatorResource(TestResource)>>initialize
>>> GlorpDemoTablePopulatorResource class(Behavior)>>new
>>> GlorpDemoTablePopulatorResource class(TestResource class)>>current
>>> GlorpSessionResource>>glorpTestsSystem
>>> GlorpSessionResource>>setUp
>>> GlorpSessionResource(TestResource)>>initialize
>>> GlorpSessionResource class(Behavior)>>new
>>> GlorpSessionResource class(TestResource class)>>current
>>> GlorpSessionResource class(TestResource class)>>isAvailable
>>> [] in TestRunner>>basicSetUpSuite:
>>> Set>>do:
>>> TestRunner>>basicSetUpSuite:
>>> TestRunner>>basicRunSuite:do:
>>> TestRunner>>runSuite:
>>> TestRunner>>runAll
>>> UndefinedObject>>DoIt
>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>>> BlockClosure>>on:do:
>>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>>> TextMorphForShoutEditor(ParagraphEditor)>>doIt
>>> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
>>> TextMorphForShoutEditor
>>> (ParagraphEditor)>>terminateAndInitializeAround:
>>> - - - - - - - - - - - - - - -
>>> - - - - - - - - - - - - - - - - - -
>>> TextMorphForShoutEditor(ParagraphEditor)>>doIt:
>>> TextMorphForShoutEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>>> TextMorphForShoutEditor(TextMorphEditor)>>dispatchOnKeyEvent:with:
>>> TextMorphForShoutEditor(ParagraphEditor)>>keystroke:
>>> TextMorphForShoutEditor(TextMorphEditor)>>keystroke:
>>> [] in [] in TextMorphForShout(TextMorph)>>keyStroke:
>>> TextMorphForShout(TextMorph)>>handleInteraction:
>>> TextMorphForShout(TextMorphForEditView)>>handleInteraction:
>>> [] in TextMorphForShout(TextMorph)>>keyStroke:
>>> ECToolSet class>>codeCompletionAround:textMorph:keyStroke:
>>> DEVToolSet class>>codeCompletionAround:textMorph:keyStroke:
>>> ToolSet class>>codeCompletionAround:textMorph:keyStroke:
>>> TextMorphForShout(TextMorph)>>keyStroke:
>>> TextMorphForShout(TextMorphForEditView)>>keyStroke:
>>> TextMorphForShout(TextMorph)>>handleKeystroke:
>>> KeyboardEvent>>sentTo:
>>> TextMorphForShout(Morph)>>handleEvent:
>>> TextMorphForShout(Morph)>>handleFocusEvent:
>>> [] in HandMorph>>sendFocusEvent:to:clear:
>>> [] in PasteUpMorph>>becomeActiveDuring:
>>> BlockClosure>>on:do:
>>> PasteUpMorph>>becomeActiveDuring:
>>> HandMorph>>sendFocusEvent:to:clear:
>>> HandMorph>>sendEvent:focus:clear:
>>> HandMorph>>sendKeyboardEvent:
>>> HandMorph>>handleEvent:
>>> HandMorph>>processEvents
>>> [] in WorldState>>doOneCycleNowFor:
>>> Array(SequenceableCollection)>>do:
>>> WorldState>>handsDo:
>>> WorldState>>doOneCycleNowFor:
>>> WorldState>>doOneCycleFor:
>>> PasteUpMorph>>doOneCycle
>>> [] in Project class>>spawnNewProcess
>>> [] in BlockClosure>>newProcess
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>>
>> _______________________________________________
>> 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
Aug. 22, 2009
Re: [Pharo-project] over bloated image workaround
by Mariano Martinez Peck
2009/8/22 Carlos Crosetti <carlos(a)mostar.com.ar>
> reinitAllCache.
> resetMap.
>
>
> selectors not found...
>
Did you filein the three files I attached?
> -----Mensaje original-----
> *De:* pharo-project-bounces(a)lists.gforge.inria.fr [mailto:
> pharo-project-bounces(a)lists.gforge.inria.fr]*En nombre de *Mariano
> Martinez Peck
> *Enviado el:* Viernes, 21 de Agosto de 2009 06:25 p.m.
> *Para:* Pharo Development
> *Asunto:* [Pharo-project] over bloated image workaround
>
> Hi folks: Sometimes, my Pharo images grows a lot. Size like 80MB or
> similar. Marcelo Cortez gave me a couple of changes (fileouts) that make my
> images go back to their original size or similar. For example, it was tasted
> in a 87 MB and after this changes and this stuff, it become in 24 MB. The
> same with another one from 65M to 35M.
>
> If you have a big Pharo image, save a copy and do this tests:
>
> 1) File in all the changes I attach.
> 2) Go to a workspace and evaluate:
>
> OBDPAbstract reinitAllCache.
> LocalSends allInstances first initialize.
> EventManager resetMap.
> Smalltalk garbageCollect.
>
> Did this make your image too much smaller?
>
> When I evaluate SystemNavigation default obsoleteBehavio size I get a a
> number of 3 digits.
>
> Perhaps it is a matter with the OB. I guess it generates dependences while
> you are developing a class and it creates on the fly an obsolteClassXXX when
> there is something that doesn't exist. Then they are processes and they are
> never garbage collected.
>
> When SmalltalkImage tries to fix the obsoletes delegates to the literal
> frames of the compiled methods so that to search references to the
> obsoletes. But references were not gone because they weren't garbage
> collected. The same method finishes with error if the obsoletes > 0.
>
> Does anyone has a comment for this?
>
> I tried to do my best to write in English from what Marcelo told me and
> from what I can understand from the changesets.
>
> Best,
>
> Mariano
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Aug. 22, 2009
Re: [Pharo-project] Line end convention in MultiByteFileStream
by Schwab,Wilhelm K
I saw that, but one wonders whether we might be alone and should just stop whining :) I cannot understand how ignoring errors is a feature, but maybe it is to some??? One argument against the idea is that the file could grow very large over time, but it should not be too bad, and I would certainly want to know if my image is generating huge numbers of unhandled execeptions. That is all the more true on servers and embedded systems.
A possible compromise is something I did a while back and need to press back into service: a rotating (for lack of a better name) file stream. It uses one stream for a set period of time, then opens a new file and begins writing to it. It leaves a seriies of files named for when they were opened. I did it to avoid having something get hung up (the concern was mostly defective USB drivers) and taking out all of our data from an experiment vs. just costing us the last ten minutes worth. Something even simpler could probably work here.
Bill
________________________________
From: pharo-project-bounces(a)lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of csrabak(a)bol.com.br
Sent: Saturday, August 22, 2009 12:53 PM
To: Pharo-project(a)lists.gforge.inria.fr
Subject: Re: [Pharo-project] Line end convention in MultiByteFileStream
In another thread I asked to count one vote plus for this.
Em 22/08/2009 13:56, Schwab,Wilhelm K < bschwab(a)anest.ufl.edu > escreveu:
Something else that I would very much like to see done to the debug log is to append new entries vs. overwriting them. A lot of useful information is destroyed that way. What do others think?
Bill
-----Original Message-----
From: pharo-project-bounces(a)lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Damien Cassou
Sent: Saturday, August 22, 2009 11:35 AM
To: Pharo Development
Subject: Re: [Pharo-project] Line end convention in MultiByteFileStream
About PharoDebug.log: http://code.google.com/p/pharo/issues/detail?id=1082
--
Damien Cassou
http://damiencassou.seasidehosting.st
"Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry
_______________________________________________
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
Aug. 22, 2009
Re: [Pharo-project] over bloated image workaround
by Carlos Crosetti
reinitAllCache.
resetMap.
selectors not found...
-----Mensaje original-----
De: pharo-project-bounces(a)lists.gforge.inria.fr
[mailto:pharo-project-bounces@lists.gforge.inria.fr]En nombre de Mariano
Martinez Peck
Enviado el: Viernes, 21 de Agosto de 2009 06:25 p.m.
Para: Pharo Development
Asunto: [Pharo-project] over bloated image workaround
Hi folks: Sometimes, my Pharo images grows a lot. Size like 80MB or
similar. Marcelo Cortez gave me a couple of changes (fileouts) that make my
images go back to their original size or similar. For example, it was tasted
in a 87 MB and after this changes and this stuff, it become in 24 MB. The
same with another one from 65M to 35M.
If you have a big Pharo image, save a copy and do this tests:
1) File in all the changes I attach.
2) Go to a workspace and evaluate:
OBDPAbstract reinitAllCache.
LocalSends allInstances first initialize.
EventManager resetMap.
Smalltalk garbageCollect.
Did this make your image too much smaller?
When I evaluate SystemNavigation default obsoleteBehavio size I get a a
number of 3 digits.
Perhaps it is a matter with the OB. I guess it generates dependences while
you are developing a class and it creates on the fly an obsolteClassXXX when
there is something that doesn't exist. Then they are processes and they are
never garbage collected.
When SmalltalkImage tries to fix the obsoletes delegates to the literal
frames of the compiled methods so that to search references to the
obsoletes. But references were not gone because they weren't garbage
collected. The same method finishes with error if the obsoletes > 0.
Does anyone has a comment for this?
I tried to do my best to write in English from what Marcelo told me and
from what I can understand from the changesets.
Best,
Mariano
Aug. 22, 2009
Re: [Pharo-project] [BUG]OpenDBXMacOSX(Object)>>error:
by Mariano Martinez Peck
2009/8/22 François Tanguy <francois.tanguy(a)gmail.com>
> Thank you Mariano for your answer.
> I think this information deserves to be in "Pharo FAQ".
>
Thanks François for you comment and suggestion, I really appreciate it.
However, I am sorry but I am not completely agree. SqueakDBX has nothing to
do with Pharo. SqueakDBX is an external package that loads not only in Pharo
but also in Squeak, Cuis or whatever. The problem you had is SqueakDBX
related, not Pharo. In addition, if you see our website:
http://wiki.squeak.org/squeak/6052 in the FAQ you will see that your
problem was already there.
In summary, it is not Pharo, but SqueakDBX. And in order to use it, you must
read the wiki :)
Perhaps what we can do is to add a link in the Pharo FAQ that says "if you
want to use SqueakDBX or GlorpDBX read the following link
http://wiki.squeak.org/squeak/6052"
What do you think?
François: let me know if it worked for you or how can I help you with it ;)
Best,
Mariano
> Bye
>
> François
>
> Le Aug 21, 2009 à 3:23 PM, Mariano Martinez Peck a écrit :
>
>
>
> On Fri, Aug 21, 2009 at 8:16 AM, François Tanguy <
> francois.tanguy(a)gmail.com> wrote:
>
>> Hello,
>>
>> it may be a noobie question but I tried to execute the GlorpTest and
>> it failed in one case.
>>
>> If the DBXDriver is used, the tests failed. (See the stacktrace below)
>> | tr |
>> SqueakDatabaseAccessor DefaultDriver: SqueakDBXDriver.
>> tr := TestRunner new.
>> ToolBuilder open: tr.
>> tr categoryAt: (tr categoryList indexOf: 'GlorpTest') put: true;
>> selectAllClasses; runAll.
>>
>> But the native driver is used, the tests passed.
>> | tr |
>> SqueakDatabaseAccessor DefaultDriver: NativePostgresDriver.
>> tr := TestRunner new.
>> ToolBuilder open: tr.
>> tr categoryAt: (tr categoryList indexOf: 'GlorpTest') put: true;
>> selectAllClasses; runAll.
>>
>> I thought the DBXDriver could be used to manage postgresql database,
>> no ?
>
>
> Yes, SqueakDBX supports PostgreSQL but also many others backends. But in
> contrary to the native postgresql driver which is all in smalltalk,
> SqueakDBX delegates to an external library written in C called OpenDBX.
>
> So, when using SqueakDBX you must install OpenDBX and the client library of
> your database (the error you had is because SqueakDBX doesn't find OpenDBX
> in your system). Unfortunately this solution requires a bit more time of
> configuring than using the native driver but we can use a lot of databases
> and have better performance.
>
> I suggest you read the link: http://wiki.squeak.org/squeak/6052
> And more in deep this link: http://wiki.squeak.org/squeak/6129
>
> For Linux and Windows there are also binaries, but in the case of Mac you
> must compile.
>
> Finally there is a blog someone write to use PostgreSQL with SqueakDBX in
> Mac OS:
>
> http://dreamsofascorpion.blogspot.com/2008/05/using-opendbx-with-squeak.html
>
> To avoid noise in Pharo mailing list remember there is our own mailing list
> here:
> http://wiki.squeak.org/squeak/6052
>
> If you have more questions, just ask :)
>
> Best,
>
> Mariano
>
>
>
>>
>>
>> François
>>
>> ps : I am using pharo1.0-10418-BETAweb09.08.2 and I changed the login
>> information in the correct methods (defaultPostgreSQLLocalLogin and
>> buildDefaultConnectionArgs).
>> 21 August 2009 11:13:22 am
>>
>> VM: Mac OS - intel - 1058 - Squeak3.8.1 of '28 Aug 2006' [latest
>> update: #6747] Squeak VM 4.1.1b2
>> Image: Pharo1.0beta [Latest update: #10418]
>>
>> SecurityManager state:
>> Restricted: false
>> FileAccess: true
>> SocketAccess: true
>> Working Dir /Users/paco/Desktop/pharo1.0-10418-BETAweb09.08.2
>> Trusted Dir /foobar/tooBar/forSqueak/bogus
>> Untrusted Dir /Users/paco/Library/Preferences/Squeak/Internet/My Squeak
>>
>> OpenDBXMacOSX(Object)>>error:
>> Receiver: an OpenDBXMacOSX
>> Arguments and temporary variables:
>> aString: 'Unable to find function address'
>> Receiver's instance variables:
>> an OpenDBXMacOSX
>>
>> OpenDBXMacOSX(Object)>>externalCallFailed
>> Receiver: an OpenDBXMacOSX
>> Arguments and temporary variables:
>> errCode: 13
>> Receiver's instance variables:
>> an OpenDBXMacOSX
>>
>> OpenDBXMacOSX(OpenDBXUnix)>>apiInitialize:backend:host:port:
>> Receiver: an OpenDBXMacOSX
>> Arguments and temporary variables:
>> handle: a WordArray(0)
>> backend: 'pgsql'
>> host: '127.0.0.1'
>> port: '5432'
>> Receiver's instance variables:
>> an OpenDBXMacOSX
>>
>> DBXPostgresPlatform(DBXPlatform)>>createConnection:
>> Receiver: a DBXPostgresPlatform
>> Arguments and temporary variables:
>> aConnection: a DBXConnection
>> err: nil
>> handleArray: a WordArray(0)
>> handle: nil
>> Receiver's instance variables:
>> a DBXPostgresPlatform
>>
>> DBXConnection>>connect
>> Receiver: a DBXConnection
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> platform: a DBXPostgresPlatform
>> settings: a DBXConnectionSettings
>> handle: nil
>> open: a ValueHolder
>> connected: a ValueHolder
>> result: nil
>>
>> SqueakDBXDriver>>connect:
>> Receiver: a SqueakDBXDriver
>> Arguments and temporary variables:
>> aLogin: a Login(a PostgreSQLPlatform, 'postgres',
>> 'vorevoca',
>> '127.0.0.1_glorp'...etc...
>> Receiver's instance variables:
>> connection: a DBXConnection
>> database: nil
>>
>> [] in SqueakDatabaseAccessor>>loginIfError:
>> Receiver: a SqueakDatabaseAccessor
>> Arguments and temporary variables:
>> <<error during printing>
>> Receiver's instance variables:
>> connection: nil
>> currentLogin: a Login(a PostgreSQLPlatform, 'postgres',
>> 'vorevoca',
>> '127.0.0.1_...etc...
>> logging: nil
>> reusePreparedStatements: nil
>> deniedCommands: nil
>> mutex: a Semaphore()
>> dependents: nil
>> isInTransaction: false
>> databaseDriver: a SqueakDBXDriver
>>
>> BlockClosure>>on:do:
>> Receiver: [closure] in SqueakDatabaseAccessor>>loginIfError:
>> Arguments and temporary variables:
>> exception: Error
>> handlerAction: [closure] in
>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>> handlerActive: false
>> Receiver's instance variables:
>> outerContext: SqueakDatabaseAccessor>>loginIfError:
>> startpc: 60
>> numArgs: 0
>>
>> SqueakDatabaseAccessor(DatabaseAccessor)>>execute:ifError:
>> Receiver: a SqueakDatabaseAccessor
>> Arguments and temporary variables:
>> aBlock: [closure] in
>> SqueakDatabaseAccessor>>loginIfError:
>> errorBlock: [closure] in
>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>> Receiver's instance variables:
>> connection: nil
>> currentLogin: a Login(a PostgreSQLPlatform, 'postgres',
>> 'vorevoca',
>> '127.0.0.1_...etc...
>> logging: nil
>> reusePreparedStatements: nil
>> deniedCommands: nil
>> mutex: a Semaphore()
>> dependents: nil
>> isInTransaction: false
>> databaseDriver: a SqueakDBXDriver
>>
>> SqueakDatabaseAccessor>>loginIfError:
>> Receiver: a SqueakDatabaseAccessor
>> Arguments and temporary variables:
>> aBlock: [closure] in
>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>> Receiver's instance variables:
>> connection: nil
>> currentLogin: a Login(a PostgreSQLPlatform, 'postgres',
>> 'vorevoca',
>> '127.0.0.1_...etc...
>> logging: nil
>> reusePreparedStatements: nil
>> deniedCommands: nil
>> mutex: a Semaphore()
>> dependents: nil
>> isInTransaction: false
>> databaseDriver: a SqueakDBXDriver
>>
>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>> Receiver: a SqueakDatabaseAccessor
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> connection: nil
>> currentLogin: a Login(a PostgreSQLPlatform, 'postgres',
>> 'vorevoca',
>> '127.0.0.1_...etc...
>> logging: nil
>> reusePreparedStatements: nil
>> deniedCommands: nil
>> mutex: a Semaphore()
>> dependents: nil
>> isInTransaction: false
>> databaseDriver: a SqueakDBXDriver
>>
>> GlorpDatabaseLoginResource>>setUp
>> Receiver: GlorpDatabaseLoginResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> name: nil
>> description: nil
>> accessor: a SqueakDatabaseAccessor
>> login: a Login(a PostgreSQLPlatform, 'postgres',
>> 'vorevoca',
>> '127.0.0.1_glorp')...etc...
>>
>> GlorpDatabaseLoginResource(TestResource)>>initialize
>> Receiver: GlorpDatabaseLoginResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> name: nil
>> description: nil
>> accessor: a SqueakDatabaseAccessor
>> login: a Login(a PostgreSQLPlatform, 'postgres',
>> 'vorevoca',
>> '127.0.0.1_glorp')...etc...
>>
>> GlorpDatabaseLoginResource class(Behavior)>>new
>> Receiver: GlorpDatabaseLoginResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> superclass: TestResource
>> methodDict: a MethodDictionary(#accessor->a
>> CompiledMethod (1052)
>> #accessor:->a...etc...
>> format: 138
>> instanceVariables: #('accessor' 'login')
>> organization: ('accessing' accessor accessor: login
>> login: platform)
>> ('initiali...etc...
>> subclasses: nil
>> name: #GlorpDatabaseLoginResource
>> classPool: a Dictionary(#DefaultLogin->a Login(a
>> PostgreSQLPlatform, 'postgres'...etc...
>> sharedPools: nil
>> environment: Smalltalk
>> category: #'OpenDBX-Glorp-Core-Test'
>> traitComposition: nil
>> localSelectors: nil
>> current: nil
>>
>> GlorpDatabaseLoginResource class(TestResource class)>>current
>> Receiver: GlorpDatabaseLoginResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> superclass: TestResource
>> methodDict: a MethodDictionary(#accessor->a
>> CompiledMethod (1052)
>> #accessor:->a...etc...
>> format: 138
>> instanceVariables: #('accessor' 'login')
>> organization: ('accessing' accessor accessor: login
>> login: platform)
>> ('initiali...etc...
>> subclasses: nil
>> name: #GlorpDatabaseLoginResource
>> classPool: a Dictionary(#DefaultLogin->a Login(a
>> PostgreSQLPlatform, 'postgres'...etc...
>> sharedPools: nil
>> environment: Smalltalk
>> category: #'OpenDBX-Glorp-Core-Test'
>> traitComposition: nil
>> localSelectors: nil
>> current: nil
>>
>> GlorpDemoTablePopulatorResource>>setUp
>> Receiver: GlorpDemoTablePopulatorResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> name: nil
>> description: nil
>> login: nil
>>
>> GlorpDemoTablePopulatorResource(TestResource)>>initialize
>> Receiver: GlorpDemoTablePopulatorResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> name: nil
>> description: nil
>> login: nil
>>
>> GlorpDemoTablePopulatorResource class(Behavior)>>new
>> Receiver: GlorpDemoTablePopulatorResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> superclass: TestResource
>> methodDict: a MethodDictionary(#populateStuffTable->a
>> CompiledMethod (555) #set...etc...
>> format: 136
>> instanceVariables: #('login')
>> organization: ('setup' populateStuffTable setUp)
>> ('*glorpTestPostload-override'...etc...
>> subclasses: nil
>> name: #GlorpDemoTablePopulatorResource
>> classPool: a Dictionary(#NeedsSetup->false )
>> sharedPools: nil
>> environment: Smalltalk
>> category: #GlorpTest
>> traitComposition: nil
>> localSelectors: nil
>> current: nil
>>
>> GlorpDemoTablePopulatorResource class(TestResource class)>>current
>> Receiver: GlorpDemoTablePopulatorResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> superclass: TestResource
>> methodDict: a MethodDictionary(#populateStuffTable->a
>> CompiledMethod (555) #set...etc...
>> format: 136
>> instanceVariables: #('login')
>> organization: ('setup' populateStuffTable setUp)
>> ('*glorpTestPostload-override'...etc...
>> subclasses: nil
>> name: #GlorpDemoTablePopulatorResource
>> classPool: a Dictionary(#NeedsSetup->false )
>> sharedPools: nil
>> environment: Smalltalk
>> category: #GlorpTest
>> traitComposition: nil
>> localSelectors: nil
>> current: nil
>>
>> GlorpSessionResource>>glorpTestsSystem
>> Receiver: GlorpSessionResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> name: nil
>> description: nil
>> session: nil
>>
>> GlorpSessionResource>>setUp
>> Receiver: GlorpSessionResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> name: nil
>> description: nil
>> session: nil
>>
>> GlorpSessionResource(TestResource)>>initialize
>> Receiver: GlorpSessionResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> name: nil
>> description: nil
>> session: nil
>>
>> GlorpSessionResource class(Behavior)>>new
>> Receiver: GlorpSessionResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> superclass: TestResource
>> methodDict: a MethodDictionary(#glorpTestsSystem->a
>> CompiledMethod
>> (1814) #newS...etc...
>> format: 136
>> instanceVariables: #('session')
>> organization: ('setup' glorpTestsSystem setUp)
>> ('accessing' newSession session)...etc...
>> subclasses: nil
>> name: #GlorpSessionResource
>> classPool: nil
>> sharedPools: nil
>> environment: Smalltalk
>> category: #GlorpTest
>> traitComposition: nil
>> localSelectors: nil
>> current: nil
>>
>> GlorpSessionResource class(TestResource class)>>current
>> Receiver: GlorpSessionResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> superclass: TestResource
>> methodDict: a MethodDictionary(#glorpTestsSystem->a
>> CompiledMethod
>> (1814) #newS...etc...
>> format: 136
>> instanceVariables: #('session')
>> organization: ('setup' glorpTestsSystem setUp)
>> ('accessing' newSession session)...etc...
>> subclasses: nil
>> name: #GlorpSessionResource
>> classPool: nil
>> sharedPools: nil
>> environment: Smalltalk
>> category: #GlorpTest
>> traitComposition: nil
>> localSelectors: nil
>> current: nil
>>
>> GlorpSessionResource class(TestResource class)>>isAvailable
>> Receiver: GlorpSessionResource
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> superclass: TestResource
>> methodDict: a MethodDictionary(#glorpTestsSystem->a
>> CompiledMethod
>> (1814) #newS...etc...
>> format: 136
>> instanceVariables: #('session')
>> organization: ('setup' glorpTestsSystem setUp)
>> ('accessing' newSession session)...etc...
>> subclasses: nil
>> name: #GlorpSessionResource
>> classPool: nil
>> sharedPools: nil
>> environment: Smalltalk
>> category: #GlorpTest
>> traitComposition: nil
>> localSelectors: nil
>> current: nil
>>
>> [] in TestRunner>>basicSetUpSuite:
>> Receiver: a TestRunner
>> Arguments and temporary variables:
>> <<error during printing>
>> Receiver's instance variables:
>> categories: #(#'AST-Tests'
>> #'AutomaticMethodCategorizer-Tests'
>> #'AutomaticMetho...etc...
>> categoriesSelected: a Set(#GlorpTest)
>> classes: {GlorpBreadthFirstTopologicalSortTest .
>> GlorpCommandTest .
>> GlorpCursor...etc...
>> classIndex: 0
>> classesSelected: a Set(GlorpSQLPrintingTest
>> GlorpDatabaseBasedTest
>> GlorpManyToM...etc...
>> failedList: #()
>> failedSelected: nil
>> errorList: #()
>> errorSelected: nil
>> lastUpdate: 3428305867
>> result: 0 run, 0 passes, 0 expected failures, 0
>> failures, 0 errors,
>> 0 unexpecte...etc...
>> previousRun: nil
>>
>> Set>>do:
>> Receiver: a Set(GlorpSessionResource GlorpDatabaseLoginResource
>> GlorpDemoTablePopulatorResource)
>> Arguments and temporary variables:
>> aBlock: [closure] in TestRunner>>basicSetUpSuite:
>> index: 2
>> each: GlorpSessionResource
>> indexLimiT: 5
>> Receiver's instance variables:
>> tally: 3
>> array: {nil . GlorpSessionResource .
>> GlorpDatabaseLoginResource .
>> GlorpDemoTabl...etc...
>>
>> TestRunner>>basicSetUpSuite:
>> Receiver: a TestRunner
>> Arguments and temporary variables:
>> aTestSuite: a TestSuite
>> Receiver's instance variables:
>> categories: #(#'AST-Tests'
>> #'AutomaticMethodCategorizer-Tests'
>> #'AutomaticMetho...etc...
>> categoriesSelected: a Set(#GlorpTest)
>> classes: {GlorpBreadthFirstTopologicalSortTest .
>> GlorpCommandTest .
>> GlorpCursor...etc...
>> classIndex: 0
>> classesSelected: a Set(GlorpSQLPrintingTest
>> GlorpDatabaseBasedTest
>> GlorpManyToM...etc...
>> failedList: #()
>> failedSelected: nil
>> errorList: #()
>> errorSelected: nil
>> lastUpdate: 3428305867
>> result: 0 run, 0 passes, 0 expected failures, 0
>> failures, 0 errors,
>> 0 unexpecte...etc...
>> previousRun: nil
>>
>> TestRunner>>basicRunSuite:do:
>> Receiver: a TestRunner
>> Arguments and temporary variables:
>> aTestSuite: a TestSuite
>> aBlock: [closure] in TestRunner>>runSuite:
>> Receiver's instance variables:
>> categories: #(#'AST-Tests'
>> #'AutomaticMethodCategorizer-Tests'
>> #'AutomaticMetho...etc...
>> categoriesSelected: a Set(#GlorpTest)
>> classes: {GlorpBreadthFirstTopologicalSortTest .
>> GlorpCommandTest .
>> GlorpCursor...etc...
>> classIndex: 0
>> classesSelected: a Set(GlorpSQLPrintingTest
>> GlorpDatabaseBasedTest
>> GlorpManyToM...etc...
>> failedList: #()
>> failedSelected: nil
>> errorList: #()
>> errorSelected: nil
>> lastUpdate: 3428305867
>> result: 0 run, 0 passes, 0 expected failures, 0
>> failures, 0 errors,
>> 0 unexpecte...etc...
>> previousRun: nil
>>
>> TestRunner>>runSuite:
>> Receiver: a TestRunner
>> Arguments and temporary variables:
>> aTestSuite: a TestSuite
>> Receiver's instance variables:
>> categories: #(#'AST-Tests'
>> #'AutomaticMethodCategorizer-Tests'
>> #'AutomaticMetho...etc...
>> categoriesSelected: a Set(#GlorpTest)
>> classes: {GlorpBreadthFirstTopologicalSortTest .
>> GlorpCommandTest .
>> GlorpCursor...etc...
>> classIndex: 0
>> classesSelected: a Set(GlorpSQLPrintingTest
>> GlorpDatabaseBasedTest
>> GlorpManyToM...etc...
>> failedList: #()
>> failedSelected: nil
>> errorList: #()
>> errorSelected: nil
>> lastUpdate: 3428305867
>> result: 0 run, 0 passes, 0 expected failures, 0
>> failures, 0 errors,
>> 0 unexpecte...etc...
>> previousRun: nil
>>
>> TestRunner>>runAll
>> Receiver: a TestRunner
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> categories: #(#'AST-Tests'
>> #'AutomaticMethodCategorizer-Tests'
>> #'AutomaticMetho...etc...
>> categoriesSelected: a Set(#GlorpTest)
>> classes: {GlorpBreadthFirstTopologicalSortTest .
>> GlorpCommandTest .
>> GlorpCursor...etc...
>> classIndex: 0
>> classesSelected: a Set(GlorpSQLPrintingTest
>> GlorpDatabaseBasedTest
>> GlorpManyToM...etc...
>> failedList: #()
>> failedSelected: nil
>> errorList: #()
>> errorSelected: nil
>> lastUpdate: 3428305867
>> result: 0 run, 0 passes, 0 expected failures, 0
>> failures, 0 errors,
>> 0 unexpecte...etc...
>> previousRun: nil
>>
>> UndefinedObject>>DoIt
>> Receiver: nil
>> Arguments and temporary variables:
>> tr: a TestRunner
>> Receiver's instance variables:
>> nil
>>
>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>> Receiver: a Compiler
>> Arguments and temporary variables:
>> <<error during printing>
>> Receiver's instance variables:
>> sourceStream: a ReadWriteStream '
>> |tr |
>> SqueakDatabaseAccessor DefaultDriver: S...etc...
>> requestor: a TextMorphForShoutEditor
>> class: UndefinedObject
>> category: nil
>> context: nil
>> parser: a Parser
>>
>> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>> Receiver: a TextMorphForShoutEditor
>> Arguments and temporary variables:
>> <<error during printing>
>> Receiver's instance variables:
>> model: a SHWorkspace
>> paragraph: a MultiNewParagraph
>> startBlock: a CharacterBlock with index 201 and
>> character Character
>> cr and rect...etc...
>> stopBlock: a CharacterBlock with index 201 and
>> character Character
>> cr and recta...etc...
>> beginTypeInBlock: nil
>> emphasisHere: an Array(a TextColor code: Color red)
>> initialText: a Text for '
>> |tr |
>> tr := TestRunner new.
>> ToolBuilder open: tr.
>> tr
>> ...etc...
>> selectionShowing: false
>> otherInterval: (403 to: 402)
>> lastParentLocation: nil
>> morph: a TextMorphForShout(168)
>> oldInterval: (106 to: 105)
>> pivotBlock: a CharacterBlock with index 200 and
>> character Character
>> cr and rect...etc...
>> inBackTo: false
>>
>> BlockClosure>>on:do:
>> Receiver: [closure] in
>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>> Arguments and temporary variables:
>> exception: OutOfScopeNotification
>> handlerAction: [closure] in
>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateS...etc...
>> handlerActive: true
>> Receiver's instance variables:
>> outerContext:
>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>> startpc: 116
>> numArgs: 0
>>
>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>> Receiver: a TextMorphForShoutEditor
>> Arguments and temporary variables:
>> result: nil
>> rcvr: nil
>> ctxt: nil
>> Receiver's instance variables:
>> model: a SHWorkspace
>> paragraph: a MultiNewParagraph
>> startBlock: a CharacterBlock with index 201 and
>> character Character
>> cr and rect...etc...
>> stopBlock: a CharacterBlock with index 201 and
>> character Character
>> cr and recta...etc...
>> beginTypeInBlock: nil
>> emphasisHere: an Array(a TextColor code: Color red)
>> initialText: a Text for '
>> |tr |
>> tr := TestRunner new.
>> ToolBuilder open: tr.
>> tr
>> ...etc...
>> selectionShowing: false
>> otherInterval: (403 to: 402)
>> lastParentLocation: nil
>> morph: a TextMorphForShout(168)
>> oldInterval: (106 to: 105)
>> pivotBlock: a CharacterBlock with index 200 and
>> character Character
>> cr and rect...etc...
>> inBackTo: false
>>
>> TextMorphForShoutEditor(ParagraphEditor)>>doIt
>> Receiver: a TextMorphForShoutEditor
>> Arguments and temporary variables:
>>
>> Receiver's instance variables:
>> model: a SHWorkspace
>> paragraph: a MultiNewParagraph
>> startBlock: a CharacterBlock with index 201 and
>> character Character
>> cr and rect...etc...
>> stopBlock: a CharacterBlock with index 201 and
>> character Character
>> cr and recta...etc...
>> beginTypeInBlock: nil
>> emphasisHere: an Array(a TextColor code: Color red)
>> initialText: a Text for '
>> |tr |
>> tr := TestRunner new.
>> ToolBuilder open: tr.
>> tr
>> ...etc...
>> selectionShowing: false
>> otherInterval: (403 to: 402)
>> lastParentLocation: nil
>> morph: a TextMorphForShout(168)
>> oldInterval: (106 to: 105)
>> pivotBlock: a CharacterBlock with index 200 and
>> character Character
>> cr and rect...etc...
>> inBackTo: false
>>
>> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
>> Receiver: a TextMorphForShoutEditor
>> Arguments and temporary variables:
>> <<error during printing>
>> Receiver's instance variables:
>> model: a SHWorkspace
>> paragraph: a MultiNewParagraph
>> startBlock: a CharacterBlock with index 201 and
>> character Character
>> cr and rect...etc...
>> stopBlock: a CharacterBlock with index 201 and
>> character Character
>> cr and recta...etc...
>> beginTypeInBlock: nil
>> emphasisHere: an Array(a TextColor code: Color red)
>> initialText: a Text for '
>> |tr |
>> tr := TestRunner new.
>> ToolBuilder open: tr.
>> tr
>> ...etc...
>> selectionShowing: false
>> otherInterval: (403 to: 402)
>> lastParentLocation: nil
>> morph: a TextMorphForShout(168)
>> oldInterval: (106 to: 105)
>> pivotBlock: a CharacterBlock with index 200 and
>> character Character
>> cr and rect...etc...
>> inBackTo: false
>>
>> TextMorphForShoutEditor(ParagraphEditor)>>terminateAndInitializeAround:
>> Receiver: a TextMorphForShoutEditor
>> Arguments and temporary variables:
>> aBlock: [closure] in
>> TextMorphForShoutEditor(ParagraphEditor)>>doIt:
>> Receiver's instance variables:
>> model: a SHWorkspace
>> paragraph: a MultiNewParagraph
>> startBlock: a CharacterBlock with index 201 and
>> character Character
>> cr and rect...etc...
>> stopBlock: a CharacterBlock with index 201 and
>> character Character
>> cr and recta...etc...
>> beginTypeInBlock: nil
>> emphasisHere: an Array(a TextColor code: Color red)
>> initialText: a Text for '
>> |tr |
>> tr := TestRunner new.
>> ToolBuilder open: tr.
>> tr
>> ...etc...
>> selectionShowing: false
>> otherInterval: (403 to: 402)
>> lastParentLocation: nil
>> morph: a TextMorphForShout(168)
>> oldInterval: (106 to: 105)
>> pivotBlock: a CharacterBlock with index 200 and
>> character Character
>> cr and rect...etc...
>> inBackTo: false
>>
>>
>> --- The full stack ---
>> OpenDBXMacOSX(Object)>>error:
>> OpenDBXMacOSX(Object)>>externalCallFailed
>> OpenDBXMacOSX(OpenDBXUnix)>>apiInitialize:backend:host:port:
>> DBXPostgresPlatform(DBXPlatform)>>createConnection:
>> DBXConnection>>connect
>> SqueakDBXDriver>>connect:
>> [] in SqueakDatabaseAccessor>>loginIfError:
>> BlockClosure>>on:do:
>> SqueakDatabaseAccessor(DatabaseAccessor)>>execute:ifError:
>> SqueakDatabaseAccessor>>loginIfError:
>> SqueakDatabaseAccessor(DatabaseAccessor)>>login
>> GlorpDatabaseLoginResource>>setUp
>> GlorpDatabaseLoginResource(TestResource)>>initialize
>> GlorpDatabaseLoginResource class(Behavior)>>new
>> GlorpDatabaseLoginResource class(TestResource class)>>current
>> GlorpDemoTablePopulatorResource>>setUp
>> GlorpDemoTablePopulatorResource(TestResource)>>initialize
>> GlorpDemoTablePopulatorResource class(Behavior)>>new
>> GlorpDemoTablePopulatorResource class(TestResource class)>>current
>> GlorpSessionResource>>glorpTestsSystem
>> GlorpSessionResource>>setUp
>> GlorpSessionResource(TestResource)>>initialize
>> GlorpSessionResource class(Behavior)>>new
>> GlorpSessionResource class(TestResource class)>>current
>> GlorpSessionResource class(TestResource class)>>isAvailable
>> [] in TestRunner>>basicSetUpSuite:
>> Set>>do:
>> TestRunner>>basicSetUpSuite:
>> TestRunner>>basicRunSuite:do:
>> TestRunner>>runSuite:
>> TestRunner>>runAll
>> UndefinedObject>>DoIt
>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>> BlockClosure>>on:do:
>> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
>> TextMorphForShoutEditor(ParagraphEditor)>>doIt
>> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt:
>> TextMorphForShoutEditor(ParagraphEditor)>>terminateAndInitializeAround:
>> - - - - - - - - - - - - - - -
>> - - - - - - - - - - - - - - - - - -
>> TextMorphForShoutEditor(ParagraphEditor)>>doIt:
>> TextMorphForShoutEditor(ParagraphEditor)>>dispatchOnKeyEvent:with:
>> TextMorphForShoutEditor(TextMorphEditor)>>dispatchOnKeyEvent:with:
>> TextMorphForShoutEditor(ParagraphEditor)>>keystroke:
>> TextMorphForShoutEditor(TextMorphEditor)>>keystroke:
>> [] in [] in TextMorphForShout(TextMorph)>>keyStroke:
>> TextMorphForShout(TextMorph)>>handleInteraction:
>> TextMorphForShout(TextMorphForEditView)>>handleInteraction:
>> [] in TextMorphForShout(TextMorph)>>keyStroke:
>> ECToolSet class>>codeCompletionAround:textMorph:keyStroke:
>> DEVToolSet class>>codeCompletionAround:textMorph:keyStroke:
>> ToolSet class>>codeCompletionAround:textMorph:keyStroke:
>> TextMorphForShout(TextMorph)>>keyStroke:
>> TextMorphForShout(TextMorphForEditView)>>keyStroke:
>> TextMorphForShout(TextMorph)>>handleKeystroke:
>> KeyboardEvent>>sentTo:
>> TextMorphForShout(Morph)>>handleEvent:
>> TextMorphForShout(Morph)>>handleFocusEvent:
>> [] in HandMorph>>sendFocusEvent:to:clear:
>> [] in PasteUpMorph>>becomeActiveDuring:
>> BlockClosure>>on:do:
>> PasteUpMorph>>becomeActiveDuring:
>> HandMorph>>sendFocusEvent:to:clear:
>> HandMorph>>sendEvent:focus:clear:
>> HandMorph>>sendKeyboardEvent:
>> HandMorph>>handleEvent:
>> HandMorph>>processEvents
>> [] in WorldState>>doOneCycleNowFor:
>> Array(SequenceableCollection)>>do:
>> WorldState>>handsDo:
>> WorldState>>doOneCycleNowFor:
>> WorldState>>doOneCycleFor:
>> PasteUpMorph>>doOneCycle
>> [] in Project class>>spawnNewProcess
>> [] in BlockClosure>>newProcess
>>
>>
>> _______________________________________________
>> 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
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Aug. 22, 2009