Newbie Questions

Chris Muller ma.chris.m at gmail.com
Tue Mar 24 20:13:54 UTC 2009


Hi Ross, don't you like single-clicking and letting the computer do
the work?  Please load OSProcess as recommended and then you won't
have to launch anything manually.

I suggest loading OSProcess and MagmaTester in a 3.9-final-7067 image
and see whether it makes it all the way through.  If that works but it
doesn't work in 3.10 then it suggests there a difference in the images
accounting for the problem.

I can make out from the stack-trace that it appears to have passed the
first assertion, but there are five assertions in that method.  If it
fails again, please help me by telling me which one failed.

Regards,
  Chris


On Tue, Mar 24, 2009 at 12:42 PM, Ross Boylan <ross at biostat.ucsf.edu> wrote:
> On Tue, 2009-03-24 at 10:05 -0500, Chris Muller wrote:
>> Hmm, take a look at TestSuite>>#tests.  In my image I have:
>>
>> tests
>>       tests isNil ifTrue: [tests := OrderedCollection new].
>>       ^tests
>>
>> but it sounds like the Damien image changed it to a Set,
> Yes.
>> I wonder why?
>>  Oh well..
>>
>> I would revert that method back to using an OrderedCollection and try
>> again, or don't use that image..
>>
>>  - Chris
> After doing that, the test ran for awhile and then said
> Cannot launch /usr/local/src/insurance/_magmaTestclient1.image because
> OSProcess package is not loaded.  Please launch this image yourself
> before Proceeding.
> I launched it manually and gave it time to clean up.  I launched several
> more images this way.
>
> Testing proceeded for awhile and then hung (main image unresponsive).
> The last visible line in the log was
> remote performing client2CommitAnyway with arguments #() in client2,
> though the scrollbar suggests there might be an additional line below
> that.
>
> The client2 image shows an assertion failure.  Stack is
>
> VM: unix - a SmalltalkImage
> Image: Squeak3.10.2 [latest update: #7179]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /usr/local/src/insurance
> Trusted Dir /usr/local/src/insurance/secure
> Untrusted Dir /usr/local/src/insurance/My Squeak
>
> MagmaCollectionTester(TestCase)>>signalFailure:
>        Receiver: aMagmaCollectionTester
>        Arguments and temporary variables:
>                aString:        'Assertion failed'
>        Receiver's instance variables:
>                testSelector:   nil
>                magmaConsole:   nil
>                peerConsole:    nil
>                clientSession:  a MagmaSession corn.betterworld.us:51969
>                localRoot:      a Dictionary('locations'->an OrderedCollection(a
> MaTestMailingAddres...etc...
>                proxy:  nil
>                original34990:  nil
>                forwardRecoverySignaled:        false
>                timeToVerifyRestore:    false
>                shouldStopGeneratingSequenceNumbers:    nil
>                sequenceNumbers:        nil
>                dormantObject:  nil
>                objectToAdvance:        #('object changed')
>                forwardRecoveryRequirement:     nil
>                shouldStopFlooding:     false
>                refreshTestFixture:     an Array(an OrderedCollection(an Object an
> Object) a MagmaC...etc...
>                nonPersistentSamples:   nil
>                samples:        nil
>                samplesInMc:    nil
>                fifthElement:   nil
>
> MagmaCollectionTester(TestCase)>>assert:
>        Receiver: aMagmaCollectionTester
>        Arguments and temporary variables:
>                aBooleanOrBlock:        false
>        Receiver's instance variables:
>                testSelector:   nil
>                magmaConsole:   nil
>                peerConsole:    nil
>                clientSession:  a MagmaSession corn.betterworld.us:51969
>                localRoot:      a Dictionary('locations'->an OrderedCollection(a
> MaTestMailingAddres...etc...
>                proxy:  nil
>                original34990:  nil
>                forwardRecoverySignaled:        false
>                timeToVerifyRestore:    false
>                shouldStopGeneratingSequenceNumbers:    nil
>                sequenceNumbers:        nil
>                dormantObject:  nil
>                objectToAdvance:        #('object changed')
>                forwardRecoveryRequirement:     nil
>                shouldStopFlooding:     false
>                refreshTestFixture:     an Array(an OrderedCollection(an Object an
> Object) a MagmaC...etc...
>                nonPersistentSamples:   nil
>                samples:        nil
>                samplesInMc:    nil
>                fifthElement:   nil
>
> MagmaCollectionTester(MagmaTestCase)>>client2CommitAnyway
>        Receiver: aMagmaCollectionTester
>        Arguments and temporary variables:
>                arr:    {'client1'->true . 'client2'->'client2 desired change' .
> 'conflict'->'clie...etc...
>        Receiver's instance variables:
>                testSelector:   nil
>                magmaConsole:   nil
>                peerConsole:    nil
>                clientSession:  a MagmaSession corn.betterworld.us:51969
>                localRoot:      a Dictionary('locations'->an OrderedCollection(a
> MaTestMailingAddres...etc...
>                proxy:  nil
>                original34990:  nil
>                forwardRecoverySignaled:        false
>                timeToVerifyRestore:    false
>                shouldStopGeneratingSequenceNumbers:    nil
>                sequenceNumbers:        nil
>                dormantObject:  nil
>                objectToAdvance:        #('object changed')
>                forwardRecoveryRequirement:     nil
>                shouldStopFlooding:     false
>                refreshTestFixture:     an Array(an OrderedCollection(an Object an
> Object) a MagmaC...etc...
>                nonPersistentSamples:   nil
>                samples:        nil
>                samplesInMc:    nil
>                fifthElement:   nil
>
> MaNetworkTestPlayer>>remotePerform:withArguments:
>        Receiver: a MaNetworkTestPlayer
>        Arguments and temporary variables:
>                selector:       #client2CommitAnyway
>                anArray:        #()
>                result:         nil
>        Receiver's instance variables:
>                testCase:       aMagmaCollectionTester
>                server:         a MaNetworkRequestServer
>
>
> --- The full stack ---
> MagmaCollectionTester(TestCase)>>signalFailure:
> MagmaCollectionTester(TestCase)>>assert:
> MagmaCollectionTester(MagmaTestCase)>>client2CommitAnyway
> MaNetworkTestPlayer>>remotePerform:withArguments:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> MaRemotePerformRequest>>processFor:
> MaNetworkTestPlayer>>processRequest:
> [] in MaNetworkTestPlayerFacade>>startFor: {[:req | testPlayer
> processRequest: req]}
> [] in MaNetworkRequestServer(MaRequestServer)>>processRequest:
> {[aMaClientServerRequest = self connectionRequest   ifTrue: [self
> connectionI...]}
> BlockContext>>on:do:
> MaNetworkRequestServer(MaRequestServer)>>processRequest:
> MaNetworkRequestServer>>processRequestByteArray:
> [] in MaServerSocket>>initialize {[:lifecycle | server
> processRequestByteArray: lifecycle]}
> MaServerSocket>>processRequest:
> [] in MaServerSocket>>startProcessingRequests {[self processRequest:
> self dequeueByteArrayRequest]}
> BlockContext>>on:do:
> [] in MaServerSocket>>startProcessingRequests {[[running   or:
> [requestQueue notEmpty]]   whileTrue: [[self processRequest:...]}
> ...etc...
>
>
>


More information about the Magma mailing list