[BUG]OpenDBXMacOSX(Object)>>error:

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[BUG]OpenDBXMacOSX(Object)>>error:

François Tanguy
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 ?

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
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [BUG]OpenDBXMacOSX(Object)>>error:

Mariano Martinez Peck


On Fri, Aug 21, 2009 at 8:16 AM, François Tanguy <[hidden email]> 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
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [BUG]OpenDBXMacOSX(Object)>>error:

François Tanguy
Thank you Mariano for your answer.
I think this information deserves to be in "Pharo FAQ".

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 <[hidden email]> 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
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [BUG]OpenDBXMacOSX(Object)>>error:

Mariano Martinez Peck


2009/8/22 François Tanguy <[hidden email]>
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 <[hidden email]> 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
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [BUG]OpenDBXMacOSX(Object)>>error:

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 <[hidden email]>
>
>> 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 <
>> [hidden email]> 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
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [BUG]OpenDBXMacOSX(Object)>>error:

François Tanguy
Thanks Adrian for that.

Mariano : I let you know if I run into problems

Bye

François

Le Aug 22, 2009 à 9:54 PM, Adrian Lienhard a écrit :

> 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 <[hidden email]>
>>
>>> 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 <
>>> [hidden email]> 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
>>>> [hidden email]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project