test suite early failure on 3.10 Windows

Ross Boylan ross at biostat.ucsf.edu
Sun Nov 8 20:37:23 UTC 2009


I loaded magma into a 3.10 basic image along with OSProcess, 
NewCompiler, their dependencies and some other stuff on Linux.  I copied 
it to Windows Vista and executed
MagmaTestCase fullSuite maDebug
The image got changed to _magmaTestConductor image, but before any other 
windows were launched I got the error whose stack trace appears below.

The problem seems to be that in the 2nd item up the stack, 
ExternalWindowsOSProcess>>value,
self initialStdErr
returns nil.

Any ideas?

8 November 2009 12:09:04 pm

VM: Win32 - a SmalltalkImage
Image: Squeak3.10.2 [latest update: #7179]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir C:\Users\ross\Documents\recipes
Trusted Dir C:\Users\ross\Documents\recipes\ross
Untrusted Dir C:\My Squeak\ross

UndefinedObject(Object)>>doesNotUnderstand: #nextPutAll:
    Receiver: nil
    Arguments and temporary variables:
        aMessage:     nextPutAll: 'cannot execute C:\Program 
Files\squeak\Squeak3.10.2-7179...etc...
    Receiver's instance variables:
nil

ExternalWindowsOSProcess>>value
    Receiver: a ExternalWindowsOSProcess with pid nil handle nil on 
'C:\Program Files\squeak\Squeak3.10....etc...
    Arguments and temporary variables:
        procInfo:     nil
        mainThread:     nil
    Receiver's instance variables:
        pid:     nil
        runState:     #notYetRunning
        initialStdIn:     nil
        initialStdOut:     nil
        initialStdErr:     nil
        ppid:     nil
        exitStatus:     nil
        handle:     nil
        threads:     nil
        commandLine:     'C:\Program 
Files\squeak\Squeak3.10.2-7179\Squeak.exe C:\Users\ros...etc...
        pwd:     nil

ExternalWindowsOSProcess class>>command:
    Receiver: ExternalWindowsOSProcess
    Arguments and temporary variables:
        aCommandString:     'C:\Program 
Files\squeak\Squeak3.10.2-7179\Squeak.exe C:\Users\...etc...
    Receiver's instance variables:
        superclass:     ExternalOSProcess
        methodDict:     a MethodDictionary(#closeHandles->a 
CompiledMethod (1640) #commandL...etc...
        format:     152
        instanceVariables:     #('ppid' 'exitStatus' 'handle' 'threads' 
'commandLine' 'pwd'...etc...
        organization:     ('initialize - release' closeHandles)
('accessing' commandLine co...etc...
        subclasses:     nil
        name:     #ExternalWindowsOSProcess
        classPool:     nil
        sharedPools:     nil
        environment:     a SystemDictionary(lots of globals)
        category:     #'OSProcess-Win32'
        traitComposition:     nil
        localSelectors:     nil

WindowsProcess>>command:
    Receiver: a WindowsProcess with pid nil
    Arguments and temporary variables:
        aCommandString:     'C:\Program 
Files\squeak\Squeak3.10.2-7179\Squeak.exe C:\Users\...etc...
    Receiver's instance variables:
        pid:     nil
        sessionID:     a ByteArray(44 1 0 0)
        stdIn:     nil
        stdOut:     nil
        stdErr:     nil
        processAccessor:     a WindowsOSProcessAccessor
        allMyChildren:     an OrderedCollection()
        processHandle:     nil
        environment:     nil
        mainThread:     a WindowsThread (nil, running)
        threads:     an OrderedCollection()


--- The full stack ---
UndefinedObject(Object)>>doesNotUnderstand: #nextPutAll:
ExternalWindowsOSProcess>>value
ExternalWindowsOSProcess class>>command:
WindowsProcess>>command:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OSProcess class>>command:
MagmaTestCase class(MaNetworkTestCase class)>>launchImageNamed:
MagmaTestCase class(MaNetworkTestCase class)>>createAndLaunchImageNamed:
[] in MagmaTestCase class(MaNetworkTestCase 
class)>>createAndLaunchPlayerImages {[:each | self isConductorImage   
ifTrue: [self createAndLaunchImageNamed: ea...]}
[] in Dictionary>>do: {[:assoc | aBlock value: assoc value]}
Dictionary(Set)>>do:
Dictionary>>do:
MagmaTestCase class(MaNetworkTestCase class)>>playersDo:
MagmaTestCase class(MaNetworkTestCase class)>>createAndLaunchPlayerImages
MagmaTestCase class(MaNetworkTestCase class)>>launchPlayerImages
MagmaTestCase class>>launchPlayerImages
MagmaTestCase class(MaNetworkTestCase class)>>setUpSuite
MagmaTestCase class>>setUpSuite
MagmaTestCase(MaTestCase)>>setUpSuite
[] in TestSuite>>maExecuteTestsUsing:result: {[self tests anyOne 
setUpSuite]}
BlockContext>>on:do:
[] in TestSuite>>maExecuteTestsUsing:result: {[shouldRunTests := [self 
tests anyOne setUpSuite]     on: MaNotification    ...]}
BlockContext>>ensure:
TestSuite>>maExecuteTestsUsing:result:
TestSuite>>maDebug:
[] in TestSuite>>maRunUsing: {[self perform: aSymbol with: result]}
BlockContext>>ensure:
TestSuite>>maRunUsing:
TestSuite>>maDebug
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
[] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr class 
evaluatorClass new   evaluate: self selectionAsStream   in: ctxt...]}
BlockContext>>on:do:
TextMorphEditor(ParagraphEditor)>>evaluateSelection
TextMorphEditor(ParagraphEditor)>>doIt
[] in TextMorphEditor(ParagraphEditor)>>doIt: {[self doIt]}
TextMorphEditor(Controller)>>terminateAndInitializeAround:
TextMorphEditor(ParagraphEditor)>>doIt:
...etc...




More information about the Magma mailing list