THERE_BE_DRAGONS_HERE Cannot locate any of #('libgit2.1.0.1.dylib' 'libgit2.1.0.0.dylib' 'libgit2.0.25.1.dylib'). Please check if it installed on your system 19 August 2022 11:12:48.489411 pm VM: Mac OS - arm64 - 1000 - CoInterpreter * VMMaker-tonel.1 uuid: 8a705231-ffa2-0d00-a7a8-7ef5080601e8 Aug 19 2022 StackToRegisterMappingCogit * VMMaker-tonel.1 uuid: 8a705231-ffa2-0d00-a7a8-7ef5080601e8 Aug 19 2022 v9.0.16 - Commit: b5ba2c73 - Date: 2022-08-19 16:11:58 +0200 Image: Pharo9.0.0 [Build information: Pharo-9.0.0+build.1575.sha.9bb5f998e8a6d016ec7abde3ed09c4a60c0b4551 (64 Bit)] FFIMacLibraryFinder(Object)>>error: Receiver: a FFIMacLibraryFinder Arguments and temporary variables: aString: 'Cannot locate any of #(''libgit2.1.0.1.dylib'' ''libgit2.1.0.0.dylib'...etc... Receiver's instance variables: userPaths: nil FFIMacLibraryFinder(FFILibraryFinder)>>findAnyLibrary: Receiver: a FFIMacLibraryFinder Arguments and temporary variables: aCollection: #('libgit2.1.0.1.dylib' 'libgit2.1.0.0.dylib' 'libgit2.0.25.1.dyli...etc... Receiver's instance variables: userPaths: nil FFIMacLibraryFinder class(FFILibraryFinder class)>>findAnyLibrary: Receiver: FFIMacLibraryFinder Arguments and temporary variables: aCollection: #('libgit2.1.0.1.dylib' 'libgit2.1.0.0.dylib' 'libgit2.0.25.1.dyli...etc... Receiver's instance variables: superclass: FFILibraryFinder methodDict: a MethodDictionary(#basePaths->FFIMacLibraryFinder>>#basePaths #fin...etc... format: 65537 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #FFIMacLibraryFinder classPool: a Dictionary() sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'UnifiedFFI-Libraries' LGitLibrary>>macLibraryName Receiver: a LGitLibrary Arguments and temporary variables: x Receiver's instance variables: initialized: false MacOSXPlatform(MacOSPlatform)>>ffiLibraryName: Receiver: a MacOSXPlatform Arguments and temporary variables: aLibrary: a LGitLibrary Receiver's instance variables: a MacOSXPlatform LGitLibrary(FFILibrary)>>libraryName Receiver: a LGitLibrary Arguments and temporary variables: x Receiver's instance variables: initialized: false TFCalloutMethodBuilder(FFICalloutMethodBuilder)>>libraryName Receiver: a TFCalloutMethodBuilder Arguments and temporary variables: x Receiver's instance variables: calloutAPI: a TFCalloutAPI requestor: a FFICallout sender: LGitLibrary>>libgit2_init signature: #(#int #git_libgit2_init #()) functionResolutionStrategies: an OrderedCollection(a FFICallbackFunctionResolut...etc... library: a LGitLibrary fixedArgumentCount: 0 TFCalloutMethodBuilder>>createFFICalloutLiteralFromSpec: Receiver: a TFCalloutMethodBuilder Arguments and temporary variables: functionSpec: a FFIFunctionSpec Receiver's instance variables: calloutAPI: a TFCalloutAPI requestor: a FFICallout sender: LGitLibrary>>libgit2_init signature: #(#int #git_libgit2_init #()) functionResolutionStrategies: an OrderedCollection(a FFICallbackFunctionResolut...etc... library: a LGitLibrary fixedArgumentCount: 0 TFCalloutMethodBuilder>>generateFFICallout:spec:ffiLibrary: Receiver: a TFCalloutMethodBuilder Arguments and temporary variables: builder: an IRBuilder functionSpec: a FFIFunctionSpec ffiLibrary: a LGitLibrary Receiver's instance variables: calloutAPI: a TFCalloutAPI requestor: a FFICallout sender: LGitLibrary>>libgit2_init signature: #(#int #git_libgit2_init #()) functionResolutionStrategies: an OrderedCollection(a FFICallbackFunctionResolut...etc... library: a LGitLibrary fixedArgumentCount: 0 [ :builder | | r | "Copy the properties of the old method" sender methodProperties ifNotNil: [ properties := sender methodProperties copy. properties method: nil. builder properties: properties ]. builder numArgs: self argumentNames size; addTemps: (self argumentNames copyWith: #result). ffiLibrary preMethodBuildContext: sender builder: builder spec: functionSpec. r := self generateFFICallout: builder spec: functionSpec ffiLibrary: ffiLibrary. ffiLibrary postMethodBuildContext: sender builder: builder spec: functionSpec. r] in TFCalloutMethodBuilder(FFICalloutMethodBuilder)>>generateMethodFromSpec: Receiver: a TFCalloutMethodBuilder Arguments and temporary variables: functionSpec: a FFIFunctionSpec ir: nil ffiLibrary: a LGitLibrary properties: an AdditionalMethodState (529265152) builder: an IRBuilder r: nil Receiver's instance variables: calloutAPI: a TFCalloutAPI requestor: a FFICallout sender: LGitLibrary>>libgit2_init signature: #(#int #git_libgit2_init #()) functionResolutionStrategies: an OrderedCollection(a FFICallbackFunctionResolut...etc... library: a LGitLibrary fixedArgumentCount: 0 IRBuilder class>>buildIR: Receiver: IRBuilder Arguments and temporary variables: aBlock: [ :builder | | r | "Copy the properties of the old method" sende...etc... Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#add:->IRBuilder>>#add: #addBlockReturnTopIfRequ...etc... format: 65543 layout: a FixedLayout organization: a ClassOrganization subclasses: {IRReconstructor} name: #IRBuilder classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'OpalCompiler-Core-IR-Manipulation' TFCalloutMethodBuilder(FFICalloutMethodBuilder)>>generateMethodFromSpec: Receiver: a TFCalloutMethodBuilder Arguments and temporary variables: properties: an AdditionalMethodState (529265152) functionSpec: a FFIFunctionSpec ir: nil ffiLibrary: a LGitLibrary Receiver's instance variables: calloutAPI: a TFCalloutAPI requestor: a FFICallout sender: LGitLibrary>>libgit2_init signature: #(#int #git_libgit2_init #()) functionResolutionStrategies: an OrderedCollection(a FFICallbackFunctionResolut...etc... library: a LGitLibrary fixedArgumentCount: 0 TFCalloutMethodBuilder(FFICalloutMethodBuilder)>>generate Receiver: a TFCalloutMethodBuilder Arguments and temporary variables: x Receiver's instance variables: calloutAPI: a TFCalloutAPI requestor: a FFICallout sender: LGitLibrary>>libgit2_init signature: #(#int #git_libgit2_init #()) functionResolutionStrategies: an OrderedCollection(a FFICallbackFunctionResolut...etc... library: a LGitLibrary fixedArgumentCount: 0 TFCalloutMethodBuilder(FFICalloutMethodBuilder)>>build: Receiver: a TFCalloutMethodBuilder Arguments and temporary variables: aBlock: [ :builder | builder signature: functionSignature; sender: ...etc... Receiver's instance variables: calloutAPI: a TFCalloutAPI requestor: a FFICallout sender: LGitLibrary>>libgit2_init signature: #(#int #git_libgit2_init #()) functionResolutionStrategies: an OrderedCollection(a FFICallbackFunctionResolut...etc... library: a LGitLibrary fixedArgumentCount: 0 TFCalloutAPI(FFICalloutAPI)>>function:library: Receiver: a TFCalloutAPI Arguments and temporary variables: functionSignature: #(#int #git_libgit2_init #()) moduleNameOrLibrary: a LGitLibrary sender: LGitLibrary>>libgit2_init ffiMethod: nil ffiMethodSelector: #ffiCall: Receiver's instance variables: options: #() callingConvention: #cdecl senderContext: LGitLibrary>>libgit2_init uFFIEntryPointContext: nil fixedArgumentCount: 0 TFCalloutAPI(FFICalloutAPI)>>function:module: Receiver: a TFCalloutAPI Arguments and temporary variables: aCollection: #(#int #git_libgit2_init #()) aClass: a LGitLibrary Receiver's instance variables: options: #() callingConvention: #cdecl senderContext: LGitLibrary>>libgit2_init uFFIEntryPointContext: nil fixedArgumentCount: 0 LGitLibrary(FFILibrary)>>ffiCall: Receiver: a LGitLibrary Arguments and temporary variables: fnSpec: #(#int #git_libgit2_init #()) Receiver's instance variables: initialized: false LGitLibrary>>libgit2_init Receiver: a LGitLibrary Arguments and temporary variables: x Receiver's instance variables: initialized: false [ self libgit2_init. self recordInitializationSuccess ] in LGitLibrary>>initializeLibGit2 Receiver: a LGitLibrary Arguments and temporary variables: x Receiver's instance variables: initialized: false FullBlockClosure(BlockClosure)>>on:do: Receiver: [ self libgit2_init. self recordInitializationSuccess ] Arguments and temporary variables: exception: Error handlerAction: [ :ex | self recordInitializationFailure. ex pass ] Receiver's instance variables: outerContext: LGitLibrary>>initializeLibGit2 startpc: a CompiledBlock: [ self libgit2_init. self recordInitializationSucces...etc... numArgs: 0 receiver: a LGitLibrary LGitLibrary>>initializeLibGit2 Receiver: a LGitLibrary Arguments and temporary variables: x Receiver's instance variables: initialized: false LGitLibrary class>>startUp: Receiver: LGitLibrary Arguments and temporary variables: isImageStarting: true Receiver's instance variables: superclass: FFILibrary methodDict: a MethodDictionary(#fetchOptionsStructureClass->LGitLibrary>>#fetch...etc... format: 65537 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #LGitLibrary classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'LibGit-Core-FFI-Handling' uniqueInstance: a LGitLibrary ClassSessionHandler>>startup: Receiver: a ClassSessionHandler(LGitLibrary) Arguments and temporary variables: isImageStarting: true Receiver's instance variables: registeredClassName: #LGitLibrary [ :each | each startup: isImageStarting ] in WorkingSession>>runStartup: Receiver: a WorkingSession Arguments and temporary variables: isImageStarting: true each: a ClassSessionHandler(LGitLibrary) Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection([ self new activate ] [ sel...etc... id: nil creationTime: 2022-08-19T23:12:48.374777+02:00 properties: a Dictionary(#accessMode->#readWrite ) [aBlock value: each] in [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in WorkingSession>>runList:do: Receiver: a WorkingSession Arguments and temporary variables: aList: an Array(a ClassSessionHandler(SmallInteger) a ClassSessionHandler(Sessi...etc... aBlock: [ :each | each startup: isImageStarting ] each: a ClassSessionHandler(LGitLibrary) Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection([ self new activate ] [ sel...etc... id: nil creationTime: 2022-08-19T23:12:48.374777+02:00 properties: a Dictionary(#accessMode->#readWrite ) FullBlockClosure(BlockClosure)>>on:do: Receiver: [aBlock value: each] Arguments and temporary variables: exception: Exception handlerAction: [ :error | self errorHandler handleError: error] Receiver's instance variables: outerContext: [ :each | [aBlock value: each] on: Exception do: [ :err...etc... startpc: a CompiledBlock: [aBlock value: each] numArgs: 0 receiver: a WorkingSession [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in WorkingSession>>runList:do: Receiver: a WorkingSession Arguments and temporary variables: aList: an Array(a ClassSessionHandler(SmallInteger) a ClassSessionHandler(Sessi...etc... aBlock: [ :each | each startup: isImageStarting ] each: a ClassSessionHandler(LGitLibrary) Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection([ self new activate ] [ sel...etc... id: nil creationTime: 2022-08-19T23:12:48.374777+02:00 properties: a Dictionary(#accessMode->#readWrite ) Array(SequenceableCollection)>>do: Receiver: an Array(a ClassSessionHandler(SmallInteger) a ClassSessionHandler(SessionAccessModeResolv...etc... Arguments and temporary variables: aBlock: [ :each | [aBlock value: each] on: Exception do: [ :error | s...etc... index: 60 Receiver's instance variables: an Array(a ClassSessionHandler(SmallInteger) a ClassSessionHandler(SessionAccessModeResolv...etc... WorkingSession>>runList:do: Receiver: a WorkingSession Arguments and temporary variables: aList: an Array(a ClassSessionHandler(SmallInteger) a ClassSessionHandler(Sessi...etc... aBlock: [ :each | each startup: isImageStarting ] Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection([ self new activate ] [ sel...etc... id: nil creationTime: 2022-08-19T23:12:48.374777+02:00 properties: a Dictionary(#accessMode->#readWrite ) WorkingSession>>runStartup: Receiver: a WorkingSession Arguments and temporary variables: isImageStarting: true Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection([ self new activate ] [ sel...etc... id: nil creationTime: 2022-08-19T23:12:48.374777+02:00 properties: a Dictionary(#accessMode->#readWrite ) WorkingSession>>start: Receiver: a WorkingSession Arguments and temporary variables: isImageStarting: true Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection([ self new activate ] [ sel...etc... id: nil creationTime: 2022-08-19T23:12:48.374777+02:00 properties: a Dictionary(#accessMode->#readWrite ) SessionManager>>launchSnapshot:andQuit: Receiver: a SessionManager Arguments and temporary variables: save: true quit: true isImageStarting: true snapshotResult: true Receiver's instance variables: currentSession: a WorkingSession categories: an OrderedCollection(a SessionCategory(System) a SessionCategory(Ne...etc... guiCategory: a SessionCategory(Graphical User Interface) toolsCategory: a SessionCategory(Tools) networkCategory: a SessionCategory(Network) systemCategory: a SessionCategory(System) userCategory: a SessionCategory(User) [ isImageStarting := self launchSnapshot: save andQuit: quit. wait signal. ] in SessionManager>>snapshot:andQuit: Receiver: a SessionManager Arguments and temporary variables: save: true quit: true wait: a Semaphore() isImageStarting: nil Receiver's instance variables: currentSession: a WorkingSession categories: an OrderedCollection(a SessionCategory(System) a SessionCategory(Ne...etc... guiCategory: a SessionCategory(Graphical User Interface) toolsCategory: a SessionCategory(Tools) networkCategory: a SessionCategory(Network) systemCategory: a SessionCategory(System) userCategory: a SessionCategory(User) [self value. Processor terminateActive] in FullBlockClosure(BlockClosure)>>newProcess Receiver: [ isImageStarting := self launchSnapshot: save andQuit: quit. wait signal. ] Arguments and temporary variables: x Receiver's instance variables: outerContext: SessionManager>>snapshot:andQuit: startpc: a CompiledBlock: [ isImageStarting := self launchSnapshot: save andQui...etc... numArgs: 0 receiver: a SessionManager --- The full stack --- FFIMacLibraryFinder(Object)>>error: FFIMacLibraryFinder(FFILibraryFinder)>>findAnyLibrary: FFIMacLibraryFinder class(FFILibraryFinder class)>>findAnyLibrary: LGitLibrary>>macLibraryName MacOSXPlatform(MacOSPlatform)>>ffiLibraryName: LGitLibrary(FFILibrary)>>libraryName TFCalloutMethodBuilder(FFICalloutMethodBuilder)>>libraryName TFCalloutMethodBuilder>>createFFICalloutLiteralFromSpec: TFCalloutMethodBuilder>>generateFFICallout:spec:ffiLibrary: [ :builder | | r | "Copy the properties of the old method" sender methodProperties ifNotNil: [ properties := sender methodProperties copy. properties method: nil. builder properties: properties ]. builder numArgs: self argumentNames size; addTemps: (self argumentNames copyWith: #result). ffiLibrary preMethodBuildContext: sender builder: builder spec: functionSpec. r := self generateFFICallout: builder spec: functionSpec ffiLibrary: ffiLibrary. ffiLibrary postMethodBuildContext: sender builder: builder spec: functionSpec. r] in TFCalloutMethodBuilder(FFICalloutMethodBuilder)>>generateMethodFromSpec: IRBuilder class>>buildIR: TFCalloutMethodBuilder(FFICalloutMethodBuilder)>>generateMethodFromSpec: TFCalloutMethodBuilder(FFICalloutMethodBuilder)>>generate TFCalloutMethodBuilder(FFICalloutMethodBuilder)>>build: TFCalloutAPI(FFICalloutAPI)>>function:library: TFCalloutAPI(FFICalloutAPI)>>function:module: LGitLibrary(FFILibrary)>>ffiCall: LGitLibrary>>libgit2_init [ self libgit2_init. self recordInitializationSuccess ] in LGitLibrary>>initializeLibGit2 FullBlockClosure(BlockClosure)>>on:do: LGitLibrary>>initializeLibGit2 LGitLibrary class>>startUp: ClassSessionHandler>>startup: [ :each | each startup: isImageStarting ] in WorkingSession>>runStartup: [aBlock value: each] in [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in WorkingSession>>runList:do: FullBlockClosure(BlockClosure)>>on:do: [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in WorkingSession>>runList:do: Array(SequenceableCollection)>>do: WorkingSession>>runList:do: WorkingSession>>runStartup: WorkingSession>>start: SessionManager>>launchSnapshot:andQuit: [ isImageStarting := self launchSnapshot: save andQuit: quit. wait signal. ] in SessionManager>>snapshot:andQuit: [self value. Processor terminateActive] in FullBlockClosure(BlockClosure)>>newProcess ------------------------------------------------------------------------------- =============================================================================== Notice: Cannot read stored value of #notExistingClassStoredSettingSTONString. Exception: KeyNotFound: key #MockNotExistingClass not found in SystemDictionary =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, 'RPackageNewStubClass' from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted11 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #TraitForTestToBeDeleted1 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted44 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #TraitForTestToBeDeleted1 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted78 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #TraitForTestToBeDeleted1 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: Filed out to: /Users/lse/Workspace/workspace/pharo-vm_pharo-9/runTests/Traits-Tests-FileOut.st Click to open location =============================================================================== =============================================================================== Notice: Filed out to: /Users/lse/Workspace/workspace/pharo-vm_pharo-9/runTests/T6.st Click to open location =============================================================================== =============================================================================== Notice: 2 occurrences were found and changed. =============================================================================== =============================================================================== Notice: 1 occurrences were found and changed. =============================================================================== =============================================================================== Notice: 7 occurrences were found and changed. =============================================================================== =============================================================================== Notice: 2 occurrences were found and changed. =============================================================================== =============================================================================== Notice: 3 occurrences were found and changed. =============================================================================== =============================================================================== Notice: 6 occurrences were found and changed. =============================================================================== =============================================================================== Notice: 8 occurrences were found and changed. =============================================================================== =============================================================================== Notice: 1 occurrences were found and changed. =============================================================================== =============================================================================== Notice: **Debugger opening error** Original error: test session. Debugger error: a UndefinedObject =============================================================================== THERE_BE_DRAGONS_HERE Original error: test session. Debugger error: a UndefinedObject 19 August 2022 11:19:41.219062 pm VM: Mac OS - arm64 - 1000 - CoInterpreter * VMMaker-tonel.1 uuid: 8a705231-ffa2-0d00-a7a8-7ef5080601e8 Aug 19 2022 StackToRegisterMappingCogit * VMMaker-tonel.1 uuid: 8a705231-ffa2-0d00-a7a8-7ef5080601e8 Aug 19 2022 v9.0.16 - Commit: b5ba2c73 - Date: 2022-08-19 16:11:58 +0200 Image: Pharo9.0.0 [Build information: Pharo-9.0.0+build.1575.sha.9bb5f998e8a6d016ec7abde3ed09c4a60c0b4551 (64 Bit)] [ Set new ] in OupsDummyDebugger class>>dummySession Receiver: OupsDummyDebugger Arguments and temporary variables: context: nil process: nil session: nil Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#beError->OupsDummyDebugger>>#beError #beUnusabl...etc... format: 65541 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #OupsDummyDebugger classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Debugger-Oups-Tests-Utils' --- The full stack --- [ Set new ] in OupsDummyDebugger class>>dummySession ------------------------------------------------------------------------------- THERE_BE_DRAGONS_HERE Exception ------------------------------------------------------------------------------- THERE_BE_DRAGONS_HERE Exception ------------------------------------------------------------------------------- =============================================================================== Notice: **Debugger opening error** Original error: test session. Debugger error: Error =============================================================================== THERE_BE_DRAGONS_HERE Original error: test session. Debugger error: Error 19 August 2022 11:19:41.228591 pm VM: Mac OS - arm64 - 1000 - CoInterpreter * VMMaker-tonel.1 uuid: 8a705231-ffa2-0d00-a7a8-7ef5080601e8 Aug 19 2022 StackToRegisterMappingCogit * VMMaker-tonel.1 uuid: 8a705231-ffa2-0d00-a7a8-7ef5080601e8 Aug 19 2022 v9.0.16 - Commit: b5ba2c73 - Date: 2022-08-19 16:11:58 +0200 Image: Pharo9.0.0 [Build information: Pharo-9.0.0+build.1575.sha.9bb5f998e8a6d016ec7abde3ed09c4a60c0b4551 (64 Bit)] [ Set new ] in OupsDummyDebugger class>>dummySession Receiver: OupsDummyDebugger Arguments and temporary variables: context: nil process: nil session: nil Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#beError->OupsDummyDebugger>>#beError #beUnusabl...etc... format: 65541 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #OupsDummyDebugger classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Debugger-Oups-Tests-Utils' --- The full stack --- [ Set new ] in OupsDummyDebugger class>>dummySession ------------------------------------------------------------------------------- =============================================================================== Notice: **Debugger opening error** Original error: test session. Debugger error: Error =============================================================================== THERE_BE_DRAGONS_HERE Original error: test session. Debugger error: Error 19 August 2022 11:19:41.22986 pm VM: Mac OS - arm64 - 1000 - CoInterpreter * VMMaker-tonel.1 uuid: 8a705231-ffa2-0d00-a7a8-7ef5080601e8 Aug 19 2022 StackToRegisterMappingCogit * VMMaker-tonel.1 uuid: 8a705231-ffa2-0d00-a7a8-7ef5080601e8 Aug 19 2022 v9.0.16 - Commit: b5ba2c73 - Date: 2022-08-19 16:11:58 +0200 Image: Pharo9.0.0 [Build information: Pharo-9.0.0+build.1575.sha.9bb5f998e8a6d016ec7abde3ed09c4a60c0b4551 (64 Bit)] [ Set new ] in OupsDummyDebugger class>>dummySession Receiver: OupsDummyDebugger Arguments and temporary variables: context: nil process: nil session: nil Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#beError->OupsDummyDebugger>>#beError #beUnusabl...etc... format: 65541 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #OupsDummyDebugger classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Debugger-Oups-Tests-Utils' --- The full stack --- [ Set new ] in OupsDummyDebugger class>>dummySession ------------------------------------------------------------------------------- THERE_BE_DRAGONS_HERE 19 August 2022 11:20:43.366128 pm VM: Mac OS - arm64 - 1000 - CoInterpreter * VMMaker-tonel.1 uuid: 8a705231-ffa2-0d00-a7a8-7ef5080601e8 Aug 19 2022 StackToRegisterMappingCogit * VMMaker-tonel.1 uuid: 8a705231-ffa2-0d00-a7a8-7ef5080601e8 Aug 19 2022 v9.0.16 - Commit: b5ba2c73 - Date: 2022-08-19 16:11:58 +0200 Image: Pharo9.0.0 [Build information: Pharo-9.0.0+build.1575.sha.9bb5f998e8a6d016ec7abde3ed09c4a60c0b4551 (64 Bit)] [ Halt now ] in SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession TestSessionHandler>>startup: Receiver: a TestSessionHandler Arguments and temporary variables: isImageStarting: false Receiver's instance variables: startupHandler: [ Halt now ] shutdownHandler: nil [ :each | each startup: isImageStarting ] in TestWorkingSession(WorkingSession)>>runStartup: Receiver: a TestWorkingSession Arguments and temporary variables: isImageStarting: false each: a TestSessionHandler Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2022-08-19T23:20:43.349567+02:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager [aBlock value: each] in [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: Receiver: a TestWorkingSession Arguments and temporary variables: aList: an Array(a TestSessionHandler) aBlock: [ :each | each startup: isImageStarting ] each: a TestSessionHandler Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2022-08-19T23:20:43.349567+02:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager FullBlockClosure(BlockClosure)>>on:do: Receiver: [aBlock value: each] Arguments and temporary variables: exception: Exception handlerAction: [ :error | self errorHandler handleError: error] Receiver's instance variables: outerContext: [ :each | [aBlock value: each] on: Exception do: [ :err...etc... startpc: a CompiledBlock: [aBlock value: each] numArgs: 0 receiver: a TestWorkingSession [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: Receiver: a TestWorkingSession Arguments and temporary variables: aList: an Array(a TestSessionHandler) aBlock: [ :each | each startup: isImageStarting ] each: a TestSessionHandler Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2022-08-19T23:20:43.349567+02:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager Array(SequenceableCollection)>>do: Receiver: an Array(a TestSessionHandler) Arguments and temporary variables: aBlock: [ :each | [aBlock value: each] on: Exception do: [ :error | s...etc... index: 1 Receiver's instance variables: an Array(a TestSessionHandler) TestWorkingSession(WorkingSession)>>runList:do: Receiver: a TestWorkingSession Arguments and temporary variables: aList: an Array(a TestSessionHandler) aBlock: [ :each | each startup: isImageStarting ] Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2022-08-19T23:20:43.349567+02:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager TestWorkingSession(WorkingSession)>>runStartup: Receiver: a TestWorkingSession Arguments and temporary variables: isImageStarting: false Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2022-08-19T23:20:43.349567+02:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager TestWorkingSession>>start: Receiver: a TestWorkingSession Arguments and temporary variables: isImageStarting: false Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2022-08-19T23:20:43.349567+02:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager [ session start: false ] in [ manager register: (TestSessionHandler onStartup: [ Halt now ]). session errorHandler: (TestStartupUIManager new sessionManager: manager; yourself). self shouldnt: [ session start: false ] raise: Halt. self assert: (session instVarNamed: 'deferredStartupActions') size equals: 1] in SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [aBlock value. false] in SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: aBlock: [ session start: false ] anExceptionalEvent: Halt Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession FullBlockClosure(BlockClosure)>>on:do: Receiver: [aBlock value. false] Arguments and temporary variables: exception: Halt handlerAction: [:ex | ex return: true] Receiver's instance variables: outerContext: SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: startpc: a CompiledBlock: [aBlock value. false] numArgs: 0 receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: aBlock: [ session start: false ] anExceptionalEvent: Halt Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession SessionErrorHandlingTest(TestAsserter)>>shouldnt:raise: Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: aBlock: [ session start: false ] anExceptionalEvent: Halt Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [ manager register: (TestSessionHandler onStartup: [ Halt now ]). session errorHandler: (TestStartupUIManager new sessionManager: manager; yourself). self shouldnt: [ session start: false ] raise: Halt. self assert: (session instVarNamed: 'deferredStartupActions') size equals: 1] in SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession FullBlockClosure(BlockClosure)>>ensure: Receiver: [ manager register: (TestSessionHandler onStartup: [ Halt now ]). session errorHandler:...etc... Arguments and temporary variables: aBlock: [ currentManager beDefault ] complete: nil returnValue: nil Receiver's instance variables: outerContext: SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSi...etc... startpc: a CompiledBlock: [ manager register: (TestSessionHandler onStartup: [ ...etc... numArgs: 0 receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... UIManager class>>nonInteractiveDuring: Receiver: UIManager Arguments and temporary variables: aBlock: [ manager register: (TestSessionHandler onStartup: [ Halt now ]). se...etc... currentManager: a NonInteractiveUIManager Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#abort:->UIManager>>#abort: #abort:title:->UIMan...etc... format: 0 layout: a FixedLayout organization: a ClassOrganization subclasses: {CommandLineUIManager. DummyUIManager. MorphicUIManager} name: #UIManager classPool: a Dictionary(#Default->a NonInteractiveUIManager ) sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'UIManager-Base' SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession SessionErrorHandlingTest(TestCase)>>performTest Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [self setUp. self performTest] in SessionErrorHandlingTest(TestCase)>>runCase Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession FullBlockClosure(BlockClosure)>>ensure: Receiver: [self setUp. self performTest] Arguments and temporary variables: aBlock: [ self tearDown. self cleanUpInstanceVariables] complete: nil returnValue: nil Receiver's instance variables: outerContext: SessionErrorHandlingTest(TestCase)>>runCase startpc: a CompiledBlock: [self setUp. self performTest] numArgs: 0 receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... SessionErrorHandlingTest(TestCase)>>runCase Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [aTestCase runCase] in [ [aTestCase runCase] ensure: [ "Terminated test is not considered as completed (user just closed a debugger for example)" mainTestProcess isTerminating ifFalse: [ self handleCompletedTest ]] ] in TestExecutionEnvironment>>runTestCaseUnderWatchdog: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc... Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... maxTimeForTest: 0:00:00:10 testCompleted: false services: an OrderedCollection(a ProcessMonitorTestService) mainTestProcess: a Process in nil FullBlockClosure(BlockClosure)>>ensure: Receiver: [aTestCase runCase] Arguments and temporary variables: aBlock: [ "Terminated test is not considered as completed (user just closed ...etc... complete: nil returnValue: nil Receiver's instance variables: outerContext: [ [aTestCase runCase] ensure: [ "Terminated test is not cons...etc... startpc: a CompiledBlock: [aTestCase runCase] numArgs: 0 receiver: a TestExecutionEnvironment [ [aTestCase runCase] ensure: [ "Terminated test is not considered as completed (user just closed a debugger for example)" mainTestProcess isTerminating ifFalse: [ self handleCompletedTest ]] ] in TestExecutionEnvironment>>runTestCaseUnderWatchdog: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc... Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... maxTimeForTest: 0:00:00:10 testCompleted: false services: an OrderedCollection(a ProcessMonitorTestService) mainTestProcess: a Process in nil FullBlockClosure(BlockClosure)>>on:do: Receiver: [ [aTestCase runCase] ensure: [ "Terminated test is not considered as completed (user...etc... Arguments and temporary variables: exception: Exception handlerAction: [ :err | self handleException: err ] Receiver's instance variables: outerContext: TestExecutionEnvironment>>runTestCaseUnderWatchdog: startpc: a CompiledBlock: [ [aTestCase runCase] ensure: [ "Terminated test...etc... numArgs: 0 receiver: a TestExecutionEnvironment TestExecutionEnvironment>>runTestCaseUnderWatchdog: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc... Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... maxTimeForTest: 0:00:00:10 testCompleted: false services: an OrderedCollection(a ProcessMonitorTestService) mainTestProcess: a Process in nil [self runTestCaseUnderWatchdog: aTestCase] in TestExecutionEnvironment>>runTestCase: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc... Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... maxTimeForTest: 0:00:00:10 testCompleted: false services: an OrderedCollection(a ProcessMonitorTestService) mainTestProcess: a Process in nil FullBlockClosure(BlockClosure)>>ensure: Receiver: [self runTestCaseUnderWatchdog: aTestCase] Arguments and temporary variables: aBlock: [ testCompleted := true. watchDogSemaphore signal. "signal that te...etc... complete: nil returnValue: nil Receiver's instance variables: outerContext: TestExecutionEnvironment>>runTestCase: startpc: a CompiledBlock: [self runTestCaseUnderWatchdog: aTestCase] numArgs: 0 receiver: a TestExecutionEnvironment TestExecutionEnvironment>>runTestCase: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc... Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSigna...etc... maxTimeForTest: 0:00:00:10 testCompleted: false services: an OrderedCollection(a ProcessMonitorTestService) mainTestProcess: a Process in nil CurrentExecutionEnvironment class>>runTestCase: Receiver: CurrentExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc... Receiver's instance variables: superclass: ProcessLocalVariable methodDict: a MethodDictionary(#default->CurrentExecutionEnvironment>>#default ...etc... format: 65537 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #CurrentExecutionEnvironment classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Kernel-Processes' soleInstance: a CurrentExecutionEnvironment SessionErrorHandlingTest(TestCase)>>runCaseManaged Receiver: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStart...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartu...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTestCase ] ifFalse: [ self recordUnexpectedPassOf: aTestCase ] ] in [ [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTestCase ] ifFalse: [ self recordUnexpectedPassOf: aTestCase ] ] on: Exception do: [ :exc | exc recordResultOf: aTestCase inHDTestReport: self ] ] in HDTestReport>>runCase: Receiver: a HDTestReport Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc... Receiver's instance variables: suite: a TestSuite stream: a WriteStream suitePosition: 95 suiteTime: 0:00:00:00 suiteFailures: 0 suiteErrors: 0 nodeName: #'MacOSX64.' stageName: 'Tests-Darwin-arm64-CoInterpreter' progressFileName: 'progress.log' progressStream: a ZnCharacterWriteStream shouldSerializeError: false FullBlockClosure(BlockClosure)>>on:do: Receiver: [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTest...etc... Arguments and temporary variables: exception: Exception handlerAction: [ :exc | exc recordResultOf: aTestCase inHDTestReport: sel...etc... Receiver's instance variables: outerContext: [ [aTestCase runCaseManaged. aTestCase shouldPass ifT...etc... startpc: a CompiledBlock: [aTestCase runCaseManaged. aTestCase shouldPass ...etc... numArgs: 0 receiver: a HDTestReport [ [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTestCase ] ifFalse: [ self recordUnexpectedPassOf: aTestCase ] ] on: Exception do: [ :exc | exc recordResultOf: aTestCase inHDTestReport: self ] ] in HDTestReport>>runCase: Receiver: a HDTestReport Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorCaughtAndDefferedIfExceptionSign...etc... Receiver's instance variables: suite: a TestSuite stream: a WriteStream suitePosition: 95 suiteTime: 0:00:00:00 suiteFailures: 0 suiteErrors: 0 nodeName: #'MacOSX64.' stageName: 'Tests-Darwin-arm64-CoInterpreter' progressFileName: 'progress.log' progressStream: a ZnCharacterWriteStream shouldSerializeError: false Time class>>microsecondsToRun: Receiver: Time Arguments and temporary variables: timedBlock: [ [aTestCase runCaseManaged. aTestCase shouldPass ifTru...etc... initialMicroseconds: 3838396843349563 Receiver's instance variables: superclass: Magnitude methodDict: a MethodDictionary(#<->Time>>#< #=->Time>>#= #addSeconds:->Time>>#a...etc... format: 65538 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #Time classPool: a Dictionary() sharedPools: an OrderedCollection(ChronologyConstants) environment: a SystemDictionary(lots of globals) category: #'Kernel-Chronology' Time class>>millisecondsToRun: Receiver: Time Arguments and temporary variables: timedBlock: [ [aTestCase runCaseManaged. aTestCase shouldPass ifTru...etc... Receiver's instance variables: superclass: Magnitude methodDict: a MethodDictionary(#<->Time>>#< #=->Time>>#= #addSeconds:->Time>>#a...etc... format: 65538 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #Time classPool: a Dictionary() sharedPools: an OrderedCollection(ChronologyConstants) environment: a SystemDictionary(lots of globals) category: #'Kernel-Chronology' FullBlockClosure(BlockClosure)>>timeToRun Receiver: [ [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf:...etc... Arguments and temporary variables: x Receiver's instance variables: outerContext: HDTestReport>>runCase: startpc: a CompiledBlock: [ [aTestCase runCaseManaged. aTestCase shouldP...etc... numArgs: 0 receiver: a HDTestReport --- The full stack --- [ Halt now ] in SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive TestSessionHandler>>startup: [ :each | each startup: isImageStarting ] in TestWorkingSession(WorkingSession)>>runStartup: [aBlock value: each] in [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: FullBlockClosure(BlockClosure)>>on:do: [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: Array(SequenceableCollection)>>do: TestWorkingSession(WorkingSession)>>runList:do: TestWorkingSession(WorkingSession)>>runStartup: TestWorkingSession>>start: [ session start: false ] in [ manager register: (TestSessionHandler onStartup: [ Halt now ]). session errorHandler: (TestStartupUIManager new sessionManager: manager; yourself). self shouldnt: [ session start: false ] raise: Halt. self assert: (session instVarNamed: 'deferredStartupActions') size equals: 1] in SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive [aBlock value. false] in SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: FullBlockClosure(BlockClosure)>>on:do: SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: SessionErrorHandlingTest(TestAsserter)>>shouldnt:raise: [ manager register: (TestSessionHandler onStartup: [ Halt now ]). session errorHandler: (TestStartupUIManager new sessionManager: manager; yourself). self shouldnt: [ session start: false ] raise: Halt. self assert: (session instVarNamed: 'deferredStartupActions') size equals: 1] in SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive FullBlockClosure(BlockClosure)>>ensure: UIManager class>>nonInteractiveDuring: SessionErrorHandlingTest>>testErrorCaughtAndDefferedIfExceptionSignaledAtStartupWhenStartupUiManagerActive SessionErrorHandlingTest(TestCase)>>performTest [self setUp. self performTest] in SessionErrorHandlingTest(TestCase)>>runCase FullBlockClosure(BlockClosure)>>ensure: SessionErrorHandlingTest(TestCase)>>runCase [aTestCase runCase] in [ [aTestCase runCase] ensure: [ "Terminated test is not considered as completed (user just closed a debugger for example)" mainTestProcess isTerminating ifFalse: [ self handleCompletedTest ]] ] in TestExecutionEnvironment>>runTestCaseUnderWatchdog: FullBlockClosure(BlockClosure)>>ensure: [ [aTestCase runCase] ensure: [ "Terminated test is not considered as completed (user just closed a debugger for example)" mainTestProcess isTerminating ifFalse: [ self handleCompletedTest ]] ] in TestExecutionEnvironment>>runTestCaseUnderWatchdog: FullBlockClosure(BlockClosure)>>on:do: TestExecutionEnvironment>>runTestCaseUnderWatchdog: [self runTestCaseUnderWatchdog: aTestCase] in TestExecutionEnvironment>>runTestCase: FullBlockClosure(BlockClosure)>>ensure: TestExecutionEnvironment>>runTestCase: CurrentExecutionEnvironment class>>runTestCase: SessionErrorHandlingTest(TestCase)>>runCaseManaged [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTestCase ] ifFalse: [ self recordUnexpectedPassOf: aTestCase ] ] in [ [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTestCase ] ifFalse: [ self recordUnexpectedPassOf: aTestCase ] ] on: Exception do: [ :exc | exc recordResultOf: aTestCase inHDTestReport: self ] ] in HDTestReport>>runCase: FullBlockClosure(BlockClosure)>>on:do: [ [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTestCase ] ifFalse: [ self recordUnexpectedPassOf: aTestCase ] ] on: Exception do: [ :exc | exc recordResultOf: aTestCase inHDTestReport: self ] ] in HDTestReport>>runCase: Time class>>microsecondsToRun: Time class>>millisecondsToRun: FullBlockClosure(BlockClosure)>>timeToRun - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ time := aBlock timeToRun ] in HDTestReport>>reportTestCase:runBlock: FullBlockClosure(BlockClosure)>>ensure: HDTestReport>>newLogDuring: HDTestReport>>reportTestCase:runBlock: HDTestReport>>runCase: SessionErrorHandlingTest(TestCase)>>run: [ :each | each run: self ] in [ suite tests do: [ :each | each run: self ] ] in HDTestReport>>runAll OrderedCollection>>do: [ suite tests do: [ :each | each run: self ] ] in HDTestReport>>runAll [ self value: anExecutionEnvironment. anExecutionEnvironment activated. aBlock value ] in CurrentExecutionEnvironment class>>activate:for: FullBlockClosure(BlockClosure)>>ensure: CurrentExecutionEnvironment class>>activate:for: TestExecutionEnvironment(ExecutionEnvironment)>>beActiveDuring: DefaultExecutionEnvironment>>runTestsBy: CurrentExecutionEnvironment class>>runTestsBy: HDTestReport>>runAll [ self runAll ] in [ self setUp. suiteTime := [ self runAll ] timeToRun ] in [ [ self setUp. suiteTime := [ self runAll ] timeToRun ] ensure: [ self tearDown ] ] in HDTestReport>>run Time class>>microsecondsToRun: Time class>>millisecondsToRun: FullBlockClosure(BlockClosure)>>timeToRun [ self setUp. suiteTime := [ self runAll ] timeToRun ] in [ [ self setUp. suiteTime := [ self runAll ] timeToRun ] ensure: [ self tearDown ] ] in HDTestReport>>run FullBlockClosure(BlockClosure)>>ensure: [ [ self setUp. suiteTime := [ self runAll ] timeToRun ] ensure: [ self tearDown ] ] in HDTestReport>>run FullBlockClosure(BlockClosure)>>ensure: Author>>ifUnknownAuthorUse:during: HDTestReport>>run HDTestReport>>runSuite: HDTestReport class>>runSuite: HDTestReport class>>runClasses:named: HDTestReport class>>runPackage: [ :each | self runPackage: each ] in HDTestReport class(HDReport class)>>runPackages: [:each | each ifNotNil: [newSet add: (aBlock value: each enclosedElement)]] in Set>>collect: Array(SequenceableCollection)>>do: Set>>collect: HDTestReport class(HDReport class)>>runPackages: TestCommandLineHandler>>runPackages TestCommandLineHandler>>activate TestCommandLineHandler class(CommandLineHandler class)>>activateWith: [ aCommandLinehandler activateWith: commandLine ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: FullBlockClosure(BlockClosure)>>on:do: PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: PharoCommandLineHandler(BasicCommandLineHandler)>>handleSubcommand PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument: [ self handleArgument: self firstArgument ] in [ [ self handleArgument: self firstArgument ] on: Exit do: [ :exit | "If the command line is protected by password, we just exit the image because in non-headless mode the handleExit will let the image open. If the password protection is enabled, it is to avoid to let the access to the image." self class commandLinePasswordManager hasPasswordSet ifTrue: [ Smalltalk snapshot: false andQuit: true ]. self handleExit: exit ] ] in BasicCommandLineHandler>>activate FullBlockClosure(BlockClosure)>>on:do: [ [ self handleArgument: self firstArgument ] on: Exit do: [ :exit | "If the command line is protected by password, we just exit the image because in non-headless mode the handleExit will let the image open. If the password protection is enabled, it is to avoid to let the access to the image." self class commandLinePasswordManager hasPasswordSet ifTrue: [ Smalltalk snapshot: false andQuit: true ]. self handleExit: exit ] ] in BasicCommandLineHandler>>activate [self value. Processor terminateActive] in FullBlockClosure(BlockClosure)>>newProcess ------------------------------------------------------------------------------- THERE_BE_DRAGONS_HERE 19 August 2022 11:20:43.394619 pm VM: Mac OS - arm64 - 1000 - CoInterpreter * VMMaker-tonel.1 uuid: 8a705231-ffa2-0d00-a7a8-7ef5080601e8 Aug 19 2022 StackToRegisterMappingCogit * VMMaker-tonel.1 uuid: 8a705231-ffa2-0d00-a7a8-7ef5080601e8 Aug 19 2022 v9.0.16 - Commit: b5ba2c73 - Date: 2022-08-19 16:11:58 +0200 Image: Pharo9.0.0 [Build information: Pharo-9.0.0+build.1575.sha.9bb5f998e8a6d016ec7abde3ed09c4a60c0b4551 (64 Bit)] [ ZeroDivide signal ] in SessionErrorHandlingTest>>testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession TestSessionHandler>>shutdown: Receiver: a TestSessionHandler Arguments and temporary variables: isImageQuitting: false Receiver's instance variables: startupHandler: nil shutdownHandler: [ ZeroDivide signal ] [ :each | each shutdown: isImageQuitting ] in TestWorkingSession(WorkingSession)>>runShutdown: Receiver: a TestWorkingSession Arguments and temporary variables: isImageQuitting: false each: a TestSessionHandler Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2022-08-19T23:20:43.388126+02:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager [aBlock value: each] in [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: Receiver: a TestWorkingSession Arguments and temporary variables: aList: an Array(a TestSessionHandler) aBlock: [ :each | each shutdown: isImageQuitting ] each: a TestSessionHandler Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2022-08-19T23:20:43.388126+02:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager FullBlockClosure(BlockClosure)>>on:do: Receiver: [aBlock value: each] Arguments and temporary variables: exception: Exception handlerAction: [ :error | self errorHandler handleError: error] Receiver's instance variables: outerContext: [ :each | [aBlock value: each] on: Exception do: [ :err...etc... startpc: a CompiledBlock: [aBlock value: each] numArgs: 0 receiver: a TestWorkingSession [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: Receiver: a TestWorkingSession Arguments and temporary variables: aList: an Array(a TestSessionHandler) aBlock: [ :each | each shutdown: isImageQuitting ] each: a TestSessionHandler Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2022-08-19T23:20:43.388126+02:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager Array(SequenceableCollection)>>do: Receiver: an Array(a TestSessionHandler) Arguments and temporary variables: aBlock: [ :each | [aBlock value: each] on: Exception do: [ :error | s...etc... index: 1 Receiver's instance variables: an Array(a TestSessionHandler) TestWorkingSession(WorkingSession)>>runList:do: Receiver: a TestWorkingSession Arguments and temporary variables: aList: an Array(a TestSessionHandler) aBlock: [ :each | each shutdown: isImageQuitting ] Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2022-08-19T23:20:43.388126+02:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager TestWorkingSession(WorkingSession)>>runShutdown: Receiver: a TestWorkingSession Arguments and temporary variables: isImageQuitting: false Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2022-08-19T23:20:43.388126+02:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager TestWorkingSession(WorkingSession)>>stop: Receiver: a TestWorkingSession Arguments and temporary variables: isImageQuitting: false Receiver's instance variables: manager: a SessionManager deferredStartupActions: an OrderedCollection() id: nil creationTime: 2022-08-19T23:20:43.388126+02:00 properties: a Dictionary() errors: an OrderedCollection() errorHandler: a TestStartupUIManager [ session stop: false ] in SessionErrorHandlingTest>>testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [aBlock value. false] in SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: aBlock: [ session stop: false ] anExceptionalEvent: ZeroDivide Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession FullBlockClosure(BlockClosure)>>on:do: Receiver: [aBlock value. false] Arguments and temporary variables: exception: ZeroDivide handlerAction: [:ex | ex return: true] Receiver's instance variables: outerContext: SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: startpc: a CompiledBlock: [aBlock value. false] numArgs: 0 receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: aBlock: [ session stop: false ] anExceptionalEvent: ZeroDivide Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession SessionErrorHandlingTest(TestAsserter)>>shouldnt:raise: Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: aBlock: [ session stop: false ] anExceptionalEvent: ZeroDivide Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession SessionErrorHandlingTest>>testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManagerActive Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession SessionErrorHandlingTest(TestCase)>>performTest Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [self setUp. self performTest] in SessionErrorHandlingTest(TestCase)>>runCase Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession FullBlockClosure(BlockClosure)>>ensure: Receiver: [self setUp. self performTest] Arguments and temporary variables: aBlock: [ self tearDown. self cleanUpInstanceVariables] complete: nil returnValue: nil Receiver's instance variables: outerContext: SessionErrorHandlingTest(TestCase)>>runCase startpc: a CompiledBlock: [self setUp. self performTest] numArgs: 0 receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... SessionErrorHandlingTest(TestCase)>>runCase Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [aTestCase runCase] in [ [aTestCase runCase] ensure: [ "Terminated test is not considered as completed (user just closed a debugger for example)" mainTestProcess isTerminating ifFalse: [ self handleCompletedTest ]] ] in TestExecutionEnvironment>>runTestCaseUnderWatchdog: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc... Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... maxTimeForTest: 0:00:00:10 testCompleted: false services: an OrderedCollection(a ProcessMonitorTestService) mainTestProcess: a Process in nil FullBlockClosure(BlockClosure)>>ensure: Receiver: [aTestCase runCase] Arguments and temporary variables: aBlock: [ "Terminated test is not considered as completed (user just closed ...etc... complete: nil returnValue: nil Receiver's instance variables: outerContext: [ [aTestCase runCase] ensure: [ "Terminated test is not cons...etc... startpc: a CompiledBlock: [aTestCase runCase] numArgs: 0 receiver: a TestExecutionEnvironment [ [aTestCase runCase] ensure: [ "Terminated test is not considered as completed (user just closed a debugger for example)" mainTestProcess isTerminating ifFalse: [ self handleCompletedTest ]] ] in TestExecutionEnvironment>>runTestCaseUnderWatchdog: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc... Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... maxTimeForTest: 0:00:00:10 testCompleted: false services: an OrderedCollection(a ProcessMonitorTestService) mainTestProcess: a Process in nil FullBlockClosure(BlockClosure)>>on:do: Receiver: [ [aTestCase runCase] ensure: [ "Terminated test is not considered as completed (user...etc... Arguments and temporary variables: exception: Exception handlerAction: [ :err | self handleException: err ] Receiver's instance variables: outerContext: TestExecutionEnvironment>>runTestCaseUnderWatchdog: startpc: a CompiledBlock: [ [aTestCase runCase] ensure: [ "Terminated test...etc... numArgs: 0 receiver: a TestExecutionEnvironment TestExecutionEnvironment>>runTestCaseUnderWatchdog: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc... Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... maxTimeForTest: 0:00:00:10 testCompleted: false services: an OrderedCollection(a ProcessMonitorTestService) mainTestProcess: a Process in nil [self runTestCaseUnderWatchdog: aTestCase] in TestExecutionEnvironment>>runTestCase: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc... Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... maxTimeForTest: 0:00:00:10 testCompleted: false services: an OrderedCollection(a ProcessMonitorTestService) mainTestProcess: a Process in nil FullBlockClosure(BlockClosure)>>ensure: Receiver: [self runTestCaseUnderWatchdog: aTestCase] Arguments and temporary variables: aBlock: [ testCompleted := true. watchDogSemaphore signal. "signal that te...etc... complete: nil returnValue: nil Receiver's instance variables: outerContext: TestExecutionEnvironment>>runTestCase: startpc: a CompiledBlock: [self runTestCaseUnderWatchdog: aTestCase] numArgs: 0 receiver: a TestExecutionEnvironment TestExecutionEnvironment>>runTestCase: Receiver: a TestExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc... Receiver's instance variables: watchDogProcess: a Process in [self schedule. "It is critical that the followi...etc... watchDogSemaphore: a Semaphore(a Process in [self schedule. "It is critical th...etc... testCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutd...etc... maxTimeForTest: 0:00:00:10 testCompleted: false services: an OrderedCollection(a ProcessMonitorTestService) mainTestProcess: a Process in nil CurrentExecutionEnvironment class>>runTestCase: Receiver: CurrentExecutionEnvironment Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc... Receiver's instance variables: superclass: ProcessLocalVariable methodDict: a MethodDictionary(#default->CurrentExecutionEnvironment>>#default ...etc... format: 65537 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #CurrentExecutionEnvironment classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Kernel-Processes' soleInstance: a CurrentExecutionEnvironment SessionErrorHandlingTest(TestCase)>>runCaseManaged Receiver: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManag...etc... Arguments and temporary variables: x Receiver's instance variables: testSelector: #testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManage...etc... expectedFails: nil manager: a SessionManager session: a TestWorkingSession [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTestCase ] ifFalse: [ self recordUnexpectedPassOf: aTestCase ] ] in [ [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTestCase ] ifFalse: [ self recordUnexpectedPassOf: aTestCase ] ] on: Exception do: [ :exc | exc recordResultOf: aTestCase inHDTestReport: self ] ] in HDTestReport>>runCase: Receiver: a HDTestReport Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc... Receiver's instance variables: suite: a TestSuite stream: a WriteStream suitePosition: 95 suiteTime: 0:00:00:00 suiteFailures: 0 suiteErrors: 0 nodeName: #'MacOSX64.' stageName: 'Tests-Darwin-arm64-CoInterpreter' progressFileName: 'progress.log' progressStream: a ZnCharacterWriteStream shouldSerializeError: false FullBlockClosure(BlockClosure)>>on:do: Receiver: [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTest...etc... Arguments and temporary variables: exception: Exception handlerAction: [ :exc | exc recordResultOf: aTestCase inHDTestReport: sel...etc... Receiver's instance variables: outerContext: [ [aTestCase runCaseManaged. aTestCase shouldPass ifT...etc... startpc: a CompiledBlock: [aTestCase runCaseManaged. aTestCase shouldPass ...etc... numArgs: 0 receiver: a HDTestReport [ [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTestCase ] ifFalse: [ self recordUnexpectedPassOf: aTestCase ] ] on: Exception do: [ :exc | exc recordResultOf: aTestCase inHDTestReport: self ] ] in HDTestReport>>runCase: Receiver: a HDTestReport Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc... Receiver's instance variables: suite: a TestSuite stream: a WriteStream suitePosition: 95 suiteTime: 0:00:00:00 suiteFailures: 0 suiteErrors: 0 nodeName: #'MacOSX64.' stageName: 'Tests-Darwin-arm64-CoInterpreter' progressFileName: 'progress.log' progressStream: a ZnCharacterWriteStream shouldSerializeError: false Time class>>microsecondsToRun: Receiver: Time Arguments and temporary variables: timedBlock: [ [aTestCase runCaseManaged. aTestCase shouldPass ifTru...etc... initialMicroseconds: 3838396843388081 Receiver's instance variables: superclass: Magnitude methodDict: a MethodDictionary(#<->Time>>#< #=->Time>>#= #addSeconds:->Time>>#a...etc... format: 65538 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #Time classPool: a Dictionary() sharedPools: an OrderedCollection(ChronologyConstants) environment: a SystemDictionary(lots of globals) category: #'Kernel-Chronology' Time class>>millisecondsToRun: Receiver: Time Arguments and temporary variables: timedBlock: [ [aTestCase runCaseManaged. aTestCase shouldPass ifTru...etc... Receiver's instance variables: superclass: Magnitude methodDict: a MethodDictionary(#<->Time>>#< #=->Time>>#= #addSeconds:->Time>>#a...etc... format: 65538 layout: a FixedLayout organization: a ClassOrganization subclasses: nil name: #Time classPool: a Dictionary() sharedPools: an OrderedCollection(ChronologyConstants) environment: a SystemDictionary(lots of globals) category: #'Kernel-Chronology' FullBlockClosure(BlockClosure)>>timeToRun Receiver: [ [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf:...etc... Arguments and temporary variables: x Receiver's instance variables: outerContext: HDTestReport>>runCase: startpc: a CompiledBlock: [ [aTestCase runCaseManaged. aTestCase shouldP...etc... numArgs: 0 receiver: a HDTestReport [ time := aBlock timeToRun ] in HDTestReport>>reportTestCase:runBlock: Receiver: a HDTestReport Arguments and temporary variables: aTestCase: SessionErrorHandlingTest>>#testErrorHandledIfExceptionSignaledAtShut...etc... aBlock: [ [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [...etc... testLog: nil time: nil Receiver's instance variables: suite: a TestSuite stream: a WriteStream suitePosition: 95 suiteTime: 0:00:00:00 suiteFailures: 0 suiteErrors: 0 nodeName: #'MacOSX64.' stageName: 'Tests-Darwin-arm64-CoInterpreter' progressFileName: 'progress.log' progressStream: a ZnCharacterWriteStream shouldSerializeError: false FullBlockClosure(BlockClosure)>>ensure: Receiver: [ time := aBlock timeToRun ] Arguments and temporary variables: aBlock: [ stream := currentStream ] complete: nil returnValue: nil Receiver's instance variables: outerContext: HDTestReport>>reportTestCase:runBlock: startpc: a CompiledBlock: [ time := aBlock timeToRun ] numArgs: 0 receiver: a HDTestReport HDTestReport>>newLogDuring: Receiver: a HDTestReport Arguments and temporary variables: aBlock: [ time := aBlock timeToRun ] currentStream: a ZnCharacterWriteStream tempStream: a WriteStream Receiver's instance variables: suite: a TestSuite stream: a WriteStream suitePosition: 95 suiteTime: 0:00:00:00 suiteFailures: 0 suiteErrors: 0 nodeName: #'MacOSX64.' stageName: 'Tests-Darwin-arm64-CoInterpreter' progressFileName: 'progress.log' progressStream: a ZnCharacterWriteStream shouldSerializeError: false --- The full stack --- [ ZeroDivide signal ] in SessionErrorHandlingTest>>testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManagerActive TestSessionHandler>>shutdown: [ :each | each shutdown: isImageQuitting ] in TestWorkingSession(WorkingSession)>>runShutdown: [aBlock value: each] in [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: FullBlockClosure(BlockClosure)>>on:do: [ :each | [aBlock value: each] on: Exception do: [ :error | self errorHandler handleError: error] ] in TestWorkingSession(WorkingSession)>>runList:do: Array(SequenceableCollection)>>do: TestWorkingSession(WorkingSession)>>runList:do: TestWorkingSession(WorkingSession)>>runShutdown: TestWorkingSession(WorkingSession)>>stop: [ session stop: false ] in SessionErrorHandlingTest>>testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManagerActive [aBlock value. false] in SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: FullBlockClosure(BlockClosure)>>on:do: SessionErrorHandlingTest(TestAsserter)>>executeShould:inScopeOf: SessionErrorHandlingTest(TestAsserter)>>shouldnt:raise: SessionErrorHandlingTest>>testErrorHandledIfExceptionSignaledAtShutdownWhenStartupUiManagerActive SessionErrorHandlingTest(TestCase)>>performTest [self setUp. self performTest] in SessionErrorHandlingTest(TestCase)>>runCase FullBlockClosure(BlockClosure)>>ensure: SessionErrorHandlingTest(TestCase)>>runCase [aTestCase runCase] in [ [aTestCase runCase] ensure: [ "Terminated test is not considered as completed (user just closed a debugger for example)" mainTestProcess isTerminating ifFalse: [ self handleCompletedTest ]] ] in TestExecutionEnvironment>>runTestCaseUnderWatchdog: FullBlockClosure(BlockClosure)>>ensure: [ [aTestCase runCase] ensure: [ "Terminated test is not considered as completed (user just closed a debugger for example)" mainTestProcess isTerminating ifFalse: [ self handleCompletedTest ]] ] in TestExecutionEnvironment>>runTestCaseUnderWatchdog: FullBlockClosure(BlockClosure)>>on:do: TestExecutionEnvironment>>runTestCaseUnderWatchdog: [self runTestCaseUnderWatchdog: aTestCase] in TestExecutionEnvironment>>runTestCase: FullBlockClosure(BlockClosure)>>ensure: TestExecutionEnvironment>>runTestCase: CurrentExecutionEnvironment class>>runTestCase: SessionErrorHandlingTest(TestCase)>>runCaseManaged [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTestCase ] ifFalse: [ self recordUnexpectedPassOf: aTestCase ] ] in [ [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTestCase ] ifFalse: [ self recordUnexpectedPassOf: aTestCase ] ] on: Exception do: [ :exc | exc recordResultOf: aTestCase inHDTestReport: self ] ] in HDTestReport>>runCase: FullBlockClosure(BlockClosure)>>on:do: [ [aTestCase runCaseManaged. aTestCase shouldPass ifTrue: [ self recordPassOf: aTestCase ] ifFalse: [ self recordUnexpectedPassOf: aTestCase ] ] on: Exception do: [ :exc | exc recordResultOf: aTestCase inHDTestReport: self ] ] in HDTestReport>>runCase: Time class>>microsecondsToRun: Time class>>millisecondsToRun: FullBlockClosure(BlockClosure)>>timeToRun [ time := aBlock timeToRun ] in HDTestReport>>reportTestCase:runBlock: FullBlockClosure(BlockClosure)>>ensure: HDTestReport>>newLogDuring: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - HDTestReport>>reportTestCase:runBlock: HDTestReport>>runCase: SessionErrorHandlingTest(TestCase)>>run: [ :each | each run: self ] in [ suite tests do: [ :each | each run: self ] ] in HDTestReport>>runAll OrderedCollection>>do: [ suite tests do: [ :each | each run: self ] ] in HDTestReport>>runAll [ self value: anExecutionEnvironment. anExecutionEnvironment activated. aBlock value ] in CurrentExecutionEnvironment class>>activate:for: FullBlockClosure(BlockClosure)>>ensure: CurrentExecutionEnvironment class>>activate:for: TestExecutionEnvironment(ExecutionEnvironment)>>beActiveDuring: DefaultExecutionEnvironment>>runTestsBy: CurrentExecutionEnvironment class>>runTestsBy: HDTestReport>>runAll [ self runAll ] in [ self setUp. suiteTime := [ self runAll ] timeToRun ] in [ [ self setUp. suiteTime := [ self runAll ] timeToRun ] ensure: [ self tearDown ] ] in HDTestReport>>run Time class>>microsecondsToRun: Time class>>millisecondsToRun: FullBlockClosure(BlockClosure)>>timeToRun [ self setUp. suiteTime := [ self runAll ] timeToRun ] in [ [ self setUp. suiteTime := [ self runAll ] timeToRun ] ensure: [ self tearDown ] ] in HDTestReport>>run FullBlockClosure(BlockClosure)>>ensure: [ [ self setUp. suiteTime := [ self runAll ] timeToRun ] ensure: [ self tearDown ] ] in HDTestReport>>run FullBlockClosure(BlockClosure)>>ensure: Author>>ifUnknownAuthorUse:during: HDTestReport>>run HDTestReport>>runSuite: HDTestReport class>>runSuite: HDTestReport class>>runClasses:named: HDTestReport class>>runPackage: [ :each | self runPackage: each ] in HDTestReport class(HDReport class)>>runPackages: [:each | each ifNotNil: [newSet add: (aBlock value: each enclosedElement)]] in Set>>collect: Array(SequenceableCollection)>>do: Set>>collect: HDTestReport class(HDReport class)>>runPackages: TestCommandLineHandler>>runPackages TestCommandLineHandler>>activate TestCommandLineHandler class(CommandLineHandler class)>>activateWith: [ aCommandLinehandler activateWith: commandLine ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: FullBlockClosure(BlockClosure)>>on:do: PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: PharoCommandLineHandler(BasicCommandLineHandler)>>handleSubcommand PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument: [ self handleArgument: self firstArgument ] in [ [ self handleArgument: self firstArgument ] on: Exit do: [ :exit | "If the command line is protected by password, we just exit the image because in non-headless mode the handleExit will let the image open. If the password protection is enabled, it is to avoid to let the access to the image." self class commandLinePasswordManager hasPasswordSet ifTrue: [ Smalltalk snapshot: false andQuit: true ]. self handleExit: exit ] ] in BasicCommandLineHandler>>activate FullBlockClosure(BlockClosure)>>on:do: [ [ self handleArgument: self firstArgument ] on: Exit do: [ :exit | "If the command line is protected by password, we just exit the image because in non-headless mode the handleExit will let the image open. If the password protection is enabled, it is to avoid to let the access to the image." self class commandLinePasswordManager hasPasswordSet ifTrue: [ Smalltalk snapshot: false andQuit: true ]. self handleExit: exit ] ] in BasicCommandLineHandler>>activate [self value. Processor terminateActive] in FullBlockClosure(BlockClosure)>>newProcess ------------------------------------------------------------------------------- =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted285Renamed from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted291 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted293 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted295 from Undeclared. Check them after this change. =============================================================================== =============================================================================== Notice: There are references to, #ClassForTestToBeDeleted297 from Undeclared. Check them after this change. ===============================================================================