On 10-09-17 11:23, Alistair Grant wrote:
Iceberg enableMetacelloIntegration: true.
Metacello new
        repository: 'github://akgrant43/FileAttributes/src';
        baseline: 'FileAttributes';
        load.

Pharo-7.0.0-alpha.build.110.sha.5827735.arch.64bit
pharo-linux-x86_64threaded-201708312323-caa8241

Ubuntu 16.04LTS

When loading: PrimitiveFailed: primitive #primFileMasks in FileAttributesPluginPrims failed

Stephan

THERE_BE_DRAGONS_HERE
PrimitiveFailed: primitive #primFileMasks in FileAttributesPluginPrims failed
11 September 2017 11:00:56.536121 am

VM: unix - x86_64 - linux-gnu - CoInterpreter VMMaker.oscog-eem.2266 uuid: 0501d71a-3185-4bdb-a99c-76a5fbbeee22 Sep  1 2017
StackToRegisterMappingCogit VMMaker.oscog-eem.2262 uuid: 8b531242-de02-48aa-b418-8d2dde0bec6c Sep  1 2017
VM: 201708312323 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Fri Sep 1 01:23:24 2017 +0200 $ Plugins: 201708312323 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $

Image: Pharo7.0alpha.build.110.sha.58277359523f18a81b762579c80043c898ab74f4 [Build information: alpha.build.110.sha.58277359523f18a81b762579c80043c898ab74f4]

FileAttributesPluginPrims(Object)>>primitiveFailed:
	Receiver: a FileAttributesPluginPrims
	Arguments and temporary variables: 
		selector: 	#primFileMasks
	Receiver's instance variables: 
a FileAttributesPluginPrims

FileAttributesPluginPrims(Object)>>primitiveFailed
	Receiver: a FileAttributesPluginPrims
	Arguments and temporary variables: 

	Receiver's instance variables: 
a FileAttributesPluginPrims

FileAttributesPluginPrims>>primFileMasks
	Receiver: a FileAttributesPluginPrims
	Arguments and temporary variables: 

	Receiver's instance variables: 
a FileAttributesPluginPrims

FileAttributesPluginPrims class>>reset
	Receiver: FileAttributesPluginPrims
	Arguments and temporary variables: 
		masks: 	nil
	Receiver's instance variables: 
		superclass: 	Object
		methodDict: 	a MethodDictionary(#cantAllocateMemory->FileAttributesPluginPrims>>...etc...
		format: 	0
		layout: 	a FixedLayout
		instanceVariables: 	nil
		organization: 	a ClassOrganization
		subclasses: 	{UnixFileAttributesPluginPrims. WindowsFileAttributesPluginPrims}
		name: 	#FileAttributesPluginPrims
		classPool: 	a Dictionary(#Encoder->a ZnUTF8Encoder #S_IFBLK->nil #S_IFCHR->nil #...etc...
		sharedPools: 	an OrderedCollection()
		environment: 	a SystemDictionary(lots of globals)
		category: 	#'FileSystem-Attributes'
		traitComposition: 	{}
		localSelectors: 	nil


FileAttributesPluginPrims class>>initialize
	Receiver: FileAttributesPluginPrims
	Arguments and temporary variables: 

	Receiver's instance variables: 
		superclass: 	Object
		methodDict: 	a MethodDictionary(#cantAllocateMemory->FileAttributesPluginPrims>>...etc...
		format: 	0
		layout: 	a FixedLayout
		instanceVariables: 	nil
		organization: 	a ClassOrganization
		subclasses: 	{UnixFileAttributesPluginPrims. WindowsFileAttributesPluginPrims}
		name: 	#FileAttributesPluginPrims
		classPool: 	a Dictionary(#Encoder->a ZnUTF8Encoder #S_IFBLK->nil #S_IFCHR->nil #...etc...
		sharedPools: 	an OrderedCollection()
		environment: 	a SystemDictionary(lots of globals)
		category: 	#'FileSystem-Attributes'
		traitComposition: 	{}
		localSelectors: 	nil


MCMethodDefinition>>postloadOver:
	Receiver: a MCMethodDefinition(FileAttributesPluginPrims>>#initialize)
	Arguments and temporary variables: 
		aDefinition: 	nil
	Receiver's instance variables: 
		classIsMeta: 	true
		source: 	'initialize

	Encoder := ZnCharacterEncoder newForEncoding: ''utf8''.
	...etc...
		category: 	#initialize
		selector: 	#initialize
		className: 	#FileAttributesPluginPrims
		timeStamp: 	'GitHub 8/9/2017 09:41:37'


[ :each | each postloadOver: (self obsoletionFor: each) ] in MCPackageLoader>>basicLoadDefinitions
	Receiver: a MCPackageLoader
	Arguments and temporary variables: 
		each: 	a MCMethodDefinition(FileAttributesPluginPrims>>#initialize)
	Receiver's instance variables: 
		requirements: 	#()
		unloadableDefinitions: 	a SortedCollection()
		obsoletions: 	a Dictionary()
		additions: 	an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attribut...etc...
		removals: 	an OrderedCollection()
		errorDefinitions: 	an OrderedCollection()
		provisions: 	a Set(#GLMUIThemeExtraIcons #OSWindowGenericRenderer #ZnMultiPartFo...etc...
		methodAdditions: 	an OrderedCollection(a MethodAddition a MethodAddition a Metho...etc...


[ :each | 
| newLabel |
"Special handling for first and last element"
(count = 0
	or: [ count + 1 = size
			or: [ (Time millisecondsSince: lastUpdate) >= msecs ] ])
	ifTrue: [ bar current: count.
		oldLabel = (newLabel := (labelBlock cull: each) ifNil: [ oldLabel ])
			ifFalse: [ bar label: newLabel.
				oldLabel := newLabel ].
		lastUpdate := Time millisecondClockValue ].
aBlock value: each.
count := count + 1 ] in [ :bar | 
labelBlock := aStringOrBlock isString
	ifTrue: [ bar label: aStringOrBlock.
		[ :dummyItem | aStringOrBlock ] ]
	ifFalse: [ aStringOrBlock ].
self
	do: [ :each | 
		| newLabel |
		"Special handling for first and last element"
		(count = 0
			or: [ count + 1 = size
					or: [ (Time millisecondsSince: lastUpdate) >= msecs ] ])
			ifTrue: [ bar current: count.
				oldLabel
					= (newLabel := (labelBlock cull: each) ifNil: [ oldLabel ])
					ifFalse: [ bar label: newLabel.
						oldLabel := newLabel ].
				lastUpdate := Time millisecondClockValue ].
		aBlock value: each.
		count := count + 1 ] ] in OrderedCollection(Collection)>>do:displayingProgress:every:
	Receiver: an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attributesClass) a MCMethodDef...etc...
	Arguments and temporary variables: 
		aBlock: 	[ :each | each postloadOver: (self obsoletionFor: each) ]
		aStringOrBlock: 	'Initializing...'
		msecs: 	20
		size: 	175
		bar: 	a Job
		count: 	111
		labelBlock: 	[ :dummyItem | aStringOrBlock ]
		oldLabel: 	'Initializing...'
		lastUpdate: 	54279
		each: 	a MCMethodDefinition(FileAttributesPluginPrims>>#initialize)
		newLabel: 	nil
	Receiver's instance variables: 
		array: 	an Array(a MCMethodDefinition(FileSystemStore>>#attributesClass) a MCMet...etc...
		firstIndex: 	1
		lastIndex: 	175


OrderedCollection>>do:
	Receiver: an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attributesClass) a MCMethodDef...etc...
	Arguments and temporary variables: 
		aBlock: 	[ :each | 
| newLabel |
"Special handling for first and last element"
(...etc...
		index: 	112
	Receiver's instance variables: 
		array: 	an Array(a MCMethodDefinition(FileSystemStore>>#attributesClass) a MCMet...etc...
		firstIndex: 	1
		lastIndex: 	175


[ :bar | 
labelBlock := aStringOrBlock isString
	ifTrue: [ bar label: aStringOrBlock.
		[ :dummyItem | aStringOrBlock ] ]
	ifFalse: [ aStringOrBlock ].
self
	do: [ :each | 
		| newLabel |
		"Special handling for first and last element"
		(count = 0
			or: [ count + 1 = size
					or: [ (Time millisecondsSince: lastUpdate) >= msecs ] ])
			ifTrue: [ bar current: count.
				oldLabel
					= (newLabel := (labelBlock cull: each) ifNil: [ oldLabel ])
					ifFalse: [ bar label: newLabel.
						oldLabel := newLabel ].
				lastUpdate := Time millisecondClockValue ].
		aBlock value: each.
		count := count + 1 ] ] in OrderedCollection(Collection)>>do:displayingProgress:every:
	Receiver: an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attributesClass) a MCMethodDef...etc...
	Arguments and temporary variables: 
		aBlock: 	[ :each | each postloadOver: (self obsoletionFor: each) ]
		aStringOrBlock: 	'Initializing...'
		msecs: 	20
		size: 	175
		count: 	111
		labelBlock: 	[ :dummyItem | aStringOrBlock ]
		oldLabel: 	'Initializing...'
		lastUpdate: 	54279
		bar: 	a Job
	Receiver's instance variables: 
		array: 	an Array(a MCMethodDefinition(FileSystemStore>>#attributesClass) a MCMet...etc...
		firstIndex: 	1
		lastIndex: 	175


BlockClosure>>cull:
	Receiver: [ :bar | 
labelBlock := aStringOrBlock isString
	ifTrue: [ bar label: aStringOrBlock.
		[ ...etc...
	Arguments and temporary variables: 
		anArg: 	a Job
	Receiver's instance variables: 
		outerContext: 	OrderedCollection(Collection)>>do:displayingProgress:every:
		startpc: 	178
		numArgs: 	1


[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
	Receiver: a Job
	Arguments and temporary variables: 

	Receiver's instance variables: 
		block: 	[ :bar | 
labelBlock := aStringOrBlock isString
	ifTrue: [ bar label: aS...etc...
		currentValue: 	0
		min: 	0
		max: 	175
		title: 	'Initializing...'
		children: 	an OrderedCollection()
		isRunning: 	true
		parent: 	a Job
		process: 	a Process in nil


[ activeProcess psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
	Receiver: a CurrentJob
	Arguments and temporary variables: 
		anObject: 	a Job
		aBlock: 	[ ^ block cull: self ]
		activeProcess: 	a Process in nil
		oldValue: 	a Job
	Receiver's instance variables: 
		index: 	2


BlockClosure>>ensure:
	Receiver: [ activeProcess psValueAt: index put: anObject.
aBlock value ]
	Arguments and temporary variables: 
		aBlock: 	[ activeProcess psValueAt: index put: oldValue ]
		complete: 	nil
		returnValue: 	nil
	Receiver's instance variables: 
		outerContext: 	CurrentJob(DynamicVariable)>>value:during:
		startpc: 	79
		numArgs: 	0


CurrentJob(DynamicVariable)>>value:during:
	Receiver: a CurrentJob
	Arguments and temporary variables: 
		anObject: 	a Job
		aBlock: 	[ ^ block cull: self ]
		activeProcess: 	a Process in nil
		oldValue: 	a Job
	Receiver's instance variables: 
		index: 	2


CurrentJob class(DynamicVariable class)>>value:during:
	Receiver: CurrentJob
	Arguments and temporary variables: 
		anObject: 	a Job
		aBlock: 	[ ^ block cull: self ]
	Receiver's instance variables: 
		superclass: 	DynamicVariable
		methodDict: 	a MethodDictionary()
		format: 	65537
		layout: 	a FixedLayout
		instanceVariables: 	nil
		organization: 	a ClassOrganization
		subclasses: 	nil
		name: 	#CurrentJob
		classPool: 	a Dictionary()
		sharedPools: 	nil
		environment: 	a SystemDictionary(lots of globals)
		category: 	#'Jobs-Base'
		traitComposition: 	{}
		localSelectors: 	nil
		soleInstance: 	a CurrentJob


[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
	Receiver: a Job
	Arguments and temporary variables: 

	Receiver's instance variables: 
		block: 	[ :bar | 
labelBlock := aStringOrBlock isString
	ifTrue: [ bar label: aS...etc...
		currentValue: 	0
		min: 	0
		max: 	175
		title: 	'Initializing...'
		children: 	an OrderedCollection()
		isRunning: 	true
		parent: 	a Job
		process: 	a Process in nil


BlockClosure>>ensure:
	Receiver: [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ]
	Arguments and temporary variables: 
		aBlock: 	[ self cleanupAfterRunning ]
		complete: 	nil
		returnValue: 	nil
	Receiver's instance variables: 
		outerContext: 	Job>>run
		startpc: 	77
		numArgs: 	0


Job>>run
	Receiver: a Job
	Arguments and temporary variables: 

	Receiver's instance variables: 
		block: 	[ :bar | 
labelBlock := aStringOrBlock isString
	ifTrue: [ bar label: aS...etc...
		currentValue: 	0
		min: 	0
		max: 	175
		title: 	'Initializing...'
		children: 	an OrderedCollection()
		isRunning: 	true
		parent: 	a Job
		process: 	a Process in nil


MorphicUIManager(UIManager)>>displayProgress:from:to:during:
	Receiver: a MorphicUIManager
	Arguments and temporary variables: 
		titleString: 	''
		minVal: 	0
		maxVal: 	175
		workBlock: 	[ :bar | 
labelBlock := aStringOrBlock isString
	ifTrue: [ bar label...etc...
	Receiver's instance variables: 
		interactiveParser: 	nil
		activeTranscript: 	nil


ByteString(String)>>displayProgressFrom:to:during:
	Receiver: ''
	Arguments and temporary variables: 
		minVal: 	0
		maxVal: 	175
		workBlock: 	[ :bar | 
labelBlock := aStringOrBlock isString
	ifTrue: [ bar label...etc...
	Receiver's instance variables: 
''

OrderedCollection(Collection)>>do:displayingProgress:every:
	Receiver: an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attributesClass) a MCMethodDef...etc...
	Arguments and temporary variables: 
		count: 	111
		labelBlock: 	[ :dummyItem | aStringOrBlock ]
		oldLabel: 	'Initializing...'
		lastUpdate: 	54279
		aBlock: 	[ :each | each postloadOver: (self obsoletionFor: each) ]
		aStringOrBlock: 	'Initializing...'
		msecs: 	20
		size: 	175
	Receiver's instance variables: 
		array: 	an Array(a MCMethodDefinition(FileSystemStore>>#attributesClass) a MCMet...etc...
		firstIndex: 	1
		lastIndex: 	175


OrderedCollection(Collection)>>do:displayingProgress:
	Receiver: an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attributesClass) a MCMethodDef...etc...
	Arguments and temporary variables: 
		aBlock: 	[ :each | each postloadOver: (self obsoletionFor: each) ]
		aStringOrBlock: 	'Initializing...'
	Receiver's instance variables: 
		array: 	an Array(a MCMethodDefinition(FileSystemStore>>#attributesClass) a MCMet...etc...
		firstIndex: 	1
		lastIndex: 	175


MCPackageLoader>>basicLoadDefinitions
	Receiver: a MCPackageLoader
	Arguments and temporary variables: 

	Receiver's instance variables: 
		requirements: 	#()
		unloadableDefinitions: 	a SortedCollection()
		obsoletions: 	a Dictionary()
		additions: 	an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attribut...etc...
		removals: 	an OrderedCollection()
		errorDefinitions: 	an OrderedCollection()
		provisions: 	a Set(#GLMUIThemeExtraIcons #OSWindowGenericRenderer #ZnMultiPartFo...etc...
		methodAdditions: 	an OrderedCollection(a MethodAddition a MethodAddition a Metho...etc...


[ self basicLoadDefinitions ] in MCPackageLoader>>basicLoad
	Receiver: a MCPackageLoader
	Arguments and temporary variables: 

	Receiver's instance variables: 
		requirements: 	#()
		unloadableDefinitions: 	a SortedCollection()
		obsoletions: 	a Dictionary()
		additions: 	an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attribut...etc...
		removals: 	an OrderedCollection()
		errorDefinitions: 	an OrderedCollection()
		provisions: 	a Set(#GLMUIThemeExtraIcons #OSWindowGenericRenderer #ZnMultiPartFo...etc...
		methodAdditions: 	an OrderedCollection(a MethodAddition a MethodAddition a Metho...etc...


[ aBlock value ] in SourceFileArray>>deferFlushDuring:
	Receiver: a SourceFileArray
	Arguments and temporary variables: 
		aBlock: 	[ self basicLoadDefinitions ]
	Receiver's instance variables: 
		files: 	an Array(MultiByteFileStream: '/home/stephan/Desktop/testpharo/Pharo-7.0...etc...
		readOnlyQueue: 	SharedQueue with 1 items
		flushChanges: 	false


BlockClosure>>ensure:
	Receiver: [ aBlock value ]
	Arguments and temporary variables: 
		aBlock: 	[ flushChanges := true.
self flushChangesFile ]
		complete: 	nil
		returnValue: 	nil
	Receiver's instance variables: 
		outerContext: 	SourceFileArray>>deferFlushDuring:
		startpc: 	62
		numArgs: 	0


SourceFileArray>>deferFlushDuring:
	Receiver: a SourceFileArray
	Arguments and temporary variables: 
		aBlock: 	[ self basicLoadDefinitions ]
	Receiver's instance variables: 
		files: 	an Array(MultiByteFileStream: '/home/stephan/Desktop/testpharo/Pharo-7.0...etc...
		readOnlyQueue: 	SharedQueue with 1 items
		flushChanges: 	false


MCPackageLoader>>basicLoad
	Receiver: a MCPackageLoader
	Arguments and temporary variables: 

	Receiver's instance variables: 
		requirements: 	#()
		unloadableDefinitions: 	a SortedCollection()
		obsoletions: 	a Dictionary()
		additions: 	an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attribut...etc...
		removals: 	an OrderedCollection()
		errorDefinitions: 	an OrderedCollection()
		provisions: 	a Set(#GLMUIThemeExtraIcons #OSWindowGenericRenderer #ZnMultiPartFo...etc...
		methodAdditions: 	an OrderedCollection(a MethodAddition a MethodAddition a Metho...etc...


[ self basicLoad ] in MCPackageLoader>>loadWithNameLike:
	Receiver: a MCPackageLoader
	Arguments and temporary variables: 
		baseName: 	'FileSystem-Attributes-GitHub.1502264497'
	Receiver's instance variables: 
		requirements: 	#()
		unloadableDefinitions: 	a SortedCollection()
		obsoletions: 	a Dictionary()
		additions: 	an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attribut...etc...
		removals: 	an OrderedCollection()
		errorDefinitions: 	an OrderedCollection()
		provisions: 	a Set(#GLMUIThemeExtraIcons #OSWindowGenericRenderer #ZnMultiPartFo...etc...
		methodAdditions: 	an OrderedCollection(a MethodAddition a MethodAddition a Metho...etc...


BlockClosure>>ensure:
	Receiver: [ self basicLoad ]
	Arguments and temporary variables: 
		aBlock: 	[ ChangeSet newChanges: oldChanges ]
		complete: 	nil
		returnValue: 	nil
	Receiver's instance variables: 
		outerContext: 	MCPackageLoader>>loadWithNameLike:
		startpc: 	58
		numArgs: 	0


MCPackageLoader>>useChangeSetNamed:during:
	Receiver: a MCPackageLoader
	Arguments and temporary variables: 
		baseName: 	'FileSystem-Attributes-GitHub.1502264497'
		aBlock: 	[ self basicLoad ]
		oldChanges: 	a ChangeSet named Unnamed
		newChanges: 	a ChangeSet named FileSystem-Attributes-GitHub.1502264497
	Receiver's instance variables: 
		requirements: 	#()
		unloadableDefinitions: 	a SortedCollection()
		obsoletions: 	a Dictionary()
		additions: 	an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attribut...etc...
		removals: 	an OrderedCollection()
		errorDefinitions: 	an OrderedCollection()
		provisions: 	a Set(#GLMUIThemeExtraIcons #OSWindowGenericRenderer #ZnMultiPartFo...etc...
		methodAdditions: 	an OrderedCollection(a MethodAddition a MethodAddition a Metho...etc...


MCPackageLoader>>useNewChangeSetNamedLike:during:
	Receiver: a MCPackageLoader
	Arguments and temporary variables: 
		baseName: 	'FileSystem-Attributes-GitHub.1502264497'
		aBlock: 	[ self basicLoad ]
	Receiver's instance variables: 
		requirements: 	#()
		unloadableDefinitions: 	a SortedCollection()
		obsoletions: 	a Dictionary()
		additions: 	an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attribut...etc...
		removals: 	an OrderedCollection()
		errorDefinitions: 	an OrderedCollection()
		provisions: 	a Set(#GLMUIThemeExtraIcons #OSWindowGenericRenderer #ZnMultiPartFo...etc...
		methodAdditions: 	an OrderedCollection(a MethodAddition a MethodAddition a Metho...etc...


MCPackageLoader>>loadWithNameLike:
	Receiver: a MCPackageLoader
	Arguments and temporary variables: 
		baseName: 	'FileSystem-Attributes-GitHub.1502264497'
	Receiver's instance variables: 
		requirements: 	#()
		unloadableDefinitions: 	a SortedCollection()
		obsoletions: 	a Dictionary()
		additions: 	an OrderedCollection(a MCMethodDefinition(FileSystemStore>>#attribut...etc...
		removals: 	an OrderedCollection()
		errorDefinitions: 	an OrderedCollection()
		provisions: 	a Set(#GLMUIThemeExtraIcons #OSWindowGenericRenderer #ZnMultiPartFo...etc...
		methodAdditions: 	an OrderedCollection(a MethodAddition a MethodAddition a Metho...etc...


MCVersionLoader>>basicLoadWithNameLike:
	Receiver: a MCVersionLoader
	Arguments and temporary variables: 
		aString: 	'FileSystem-Attributes-GitHub.1502264497'
		loader: 	a MCPackageLoader
	Receiver's instance variables: 
		versions: 	an OrderedCollection(a MCVersion(an IceMCVersionInfo(FileSystem-Attri...etc...


[ self basicLoadWithNameLike: aString ] in MCVersionLoader>>loadWithNameLike:
	Receiver: a MCVersionLoader
	Arguments and temporary variables: 
		aString: 	'FileSystem-Attributes-GitHub.1502264497'
	Receiver's instance variables: 
		versions: 	an OrderedCollection(a MCVersion(an IceMCVersionInfo(FileSystem-Attri...etc...


[ returnValue := aBlock value ] in [ [ returnValue := aBlock value ]
	ensure: [ self announceLoadStop: aString ] ] in MCVersionLoader>>announceLoad:do:
	Receiver: a MCVersionLoader
	Arguments and temporary variables: 
		aString: 	'FileSystem-Attributes-GitHub.1502264497'
		aBlock: 	[ self basicLoadWithNameLike: aString ]
		returnValue: 	nil
	Receiver's instance variables: 
		versions: 	an OrderedCollection(a MCVersion(an IceMCVersionInfo(FileSystem-Attri...etc...


BlockClosure>>ensure:
	Receiver: [ returnValue := aBlock value ]
	Arguments and temporary variables: 
		aBlock: 	[ self announceLoadStop: aString ]
		complete: 	nil
		returnValue: 	nil
	Receiver's instance variables: 
		outerContext: 	[ [ returnValue := aBlock value ]
	ensure: [ self announceLoadSto...etc...
		startpc: 	78
		numArgs: 	0


[ [ returnValue := aBlock value ]
	ensure: [ self announceLoadStop: aString ] ] in MCVersionLoader>>announceLoad:do:
	Receiver: a MCVersionLoader
	Arguments and temporary variables: 
		aString: 	'FileSystem-Attributes-GitHub.1502264497'
		aBlock: 	[ self basicLoadWithNameLike: aString ]
		returnValue: 	nil
	Receiver's instance variables: 
		versions: 	an OrderedCollection(a MCVersion(an IceMCVersionInfo(FileSystem-Attri...etc...



--- The full stack ---
FileAttributesPluginPrims(Object)>>primitiveFailed:
FileAttributesPluginPrims(Object)>>primitiveFailed
FileAttributesPluginPrims>>primFileMasks
FileAttributesPluginPrims class>>reset
FileAttributesPluginPrims class>>initialize
MCMethodDefinition>>postloadOver:
[ :each | each postloadOver: (self obsoletionFor: each) ] in MCPackageLoader>>basicLoadDefinitions
[ :each | 
| newLabel |
"Special handling for first and last element"
(count = 0
	or: [ count + 1 = size
			or: [ (Time millisecondsSince: lastUpdate) >= msecs ] ])
	ifTrue: [ bar current: count.
		oldLabel = (newLabel := (labelBlock cull: each) ifNil: [ oldLabel ])
			ifFalse: [ bar label: newLabel.
				oldLabel := newLabel ].
		lastUpdate := Time millisecondClockValue ].
aBlock value: each.
count := count + 1 ] in [ :bar | 
labelBlock := aStringOrBlock isString
	ifTrue: [ bar label: aStringOrBlock.
		[ :dummyItem | aStringOrBlock ] ]
	ifFalse: [ aStringOrBlock ].
self
	do: [ :each | 
		| newLabel |
		"Special handling for first and last element"
		(count = 0
			or: [ count + 1 = size
					or: [ (Time millisecondsSince: lastUpdate) >= msecs ] ])
			ifTrue: [ bar current: count.
				oldLabel
					= (newLabel := (labelBlock cull: each) ifNil: [ oldLabel ])
					ifFalse: [ bar label: newLabel.
						oldLabel := newLabel ].
				lastUpdate := Time millisecondClockValue ].
		aBlock value: each.
		count := count + 1 ] ] in OrderedCollection(Collection)>>do:displayingProgress:every:
OrderedCollection>>do:
[ :bar | 
labelBlock := aStringOrBlock isString
	ifTrue: [ bar label: aStringOrBlock.
		[ :dummyItem | aStringOrBlock ] ]
	ifFalse: [ aStringOrBlock ].
self
	do: [ :each | 
		| newLabel |
		"Special handling for first and last element"
		(count = 0
			or: [ count + 1 = size
					or: [ (Time millisecondsSince: lastUpdate) >= msecs ] ])
			ifTrue: [ bar current: count.
				oldLabel
					= (newLabel := (labelBlock cull: each) ifNil: [ oldLabel ])
					ifFalse: [ bar label: newLabel.
						oldLabel := newLabel ].
				lastUpdate := Time millisecondClockValue ].
		aBlock value: each.
		count := count + 1 ] ] in OrderedCollection(Collection)>>do:displayingProgress:every:
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
BlockClosure>>ensure:
Job>>run
MorphicUIManager(UIManager)>>displayProgress:from:to:during:
ByteString(String)>>displayProgressFrom:to:during:
OrderedCollection(Collection)>>do:displayingProgress:every:
OrderedCollection(Collection)>>do:displayingProgress:
MCPackageLoader>>basicLoadDefinitions
[ self basicLoadDefinitions ] in MCPackageLoader>>basicLoad
[ aBlock value ] in SourceFileArray>>deferFlushDuring:
BlockClosure>>ensure:
SourceFileArray>>deferFlushDuring:
MCPackageLoader>>basicLoad
[ self basicLoad ] in MCPackageLoader>>loadWithNameLike:
BlockClosure>>ensure:
MCPackageLoader>>useChangeSetNamed:during:
MCPackageLoader>>useNewChangeSetNamedLike:during:
MCPackageLoader>>loadWithNameLike:
MCVersionLoader>>basicLoadWithNameLike:
[ self basicLoadWithNameLike: aString ] in MCVersionLoader>>loadWithNameLike:
[ returnValue := aBlock value ] in [ [ returnValue := aBlock value ]
	ensure: [ self announceLoadStop: aString ] ] in MCVersionLoader>>announceLoad:do:
BlockClosure>>ensure:
[ [ returnValue := aBlock value ]
	ensure: [ self announceLoadStop: aString ] ] in MCVersionLoader>>announceLoad:do:
 - - - - - - - - - - - - - - -  
			- - - - - - - - - - - - - - - - - -
BlockClosure>>ensure:
MCVersionLoader>>announceLoad:do:
MCVersionLoader>>loadWithNameLike:
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] in [ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
	title: 'Loading ' , version info name asString;
	run ] in MCVersionLoader>>load
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
BlockClosure>>ensure:
Job>>run
[ | version |
version := versions first.
[ self ensurePackage: version package.
self loadWithNameLike: version info name ] asJob
	title: 'Loading ' , version info name asString;
	run ] in MCVersionLoader>>load
BlockClosure>>ensure:
RPackageSet class>>withCacheDo:
MCVersionLoader>>load
MetacelloGoferLoad(GoferLoad)>>execute
[ "mcLoader preLoad: packageSpec."
goferLoad := MetacelloGoferLoad on: aGofer.
goferLoad addResolved: resolvedReference.
goferLoad execute.
MetacelloPlatform current clearCurrentVersionCache	"mcLoader postLoad: packageSpec" ] in [ | loadBlock goferLoad answers resolvedReference |
aGofer disablePackageCache.	"for good luck:)"
resolvedReference := self
	resolvePackageSpec: packageSpec
	gofer: aGofer.
resolvedReference isNil
	ifTrue:
		[ "Package version already loaded into image" ^ self ].
loadBlock := [ "mcLoader preLoad: packageSpec."
goferLoad := MetacelloGoferLoad on: aGofer.
goferLoad addResolved: resolvedReference.
goferLoad execute.
MetacelloPlatform current clearCurrentVersionCache	"mcLoader postLoad: packageSpec" ].
(answers := packageSpec answers) notEmpty
	ifTrue: [ loadBlock valueSupplyingMetacelloAnswers: answers ]
	ifFalse: [ loadBlock value ].
resolvedReference workingCopy repositoryGroup
	addRepository: aPackageLoadDirective repository.
Transcript
	cr;
	show:
		'Loaded -> ' , resolvedReference name , ' --- '
			, aPackageLoadDirective repository repositoryDescription , ' --- '
			, resolvedReference repository description ] in MetacelloLoadingMCSpecLoader(MetacelloCommonMCSpecLoader)>>loadPackageDirective:gofer:
[ | loadBlock goferLoad answers resolvedReference |
aGofer disablePackageCache.	"for good luck:)"
resolvedReference := self
	resolvePackageSpec: packageSpec
	gofer: aGofer.
resolvedReference isNil
	ifTrue:
		[ "Package version already loaded into image" ^ self ].
loadBlock := [ "mcLoader preLoad: packageSpec."
goferLoad := MetacelloGoferLoad on: aGofer.
goferLoad addResolved: resolvedReference.
goferLoad execute.
MetacelloPlatform current clearCurrentVersionCache	"mcLoader postLoad: packageSpec" ].
(answers := packageSpec answers) notEmpty
	ifTrue: [ loadBlock valueSupplyingMetacelloAnswers: answers ]
	ifFalse: [ loadBlock value ].
resolvedReference workingCopy repositoryGroup
	addRepository: aPackageLoadDirective repository.
Transcript
	cr;
	show:
		'Loaded -> ' , resolvedReference name , ' --- '
			, aPackageLoadDirective repository repositoryDescription , ' --- '
			, resolvedReference repository description ] in MetacelloLoadingMCSpecLoader(MetacelloCommonMCSpecLoader)>>loadPackageDirective:gofer:
IceMetacelloPharoPlatform(MetacelloPlatform)>>do:displaying:
MetacelloLoadingMCSpecLoader(MetacelloCommonMCSpecLoader)>>loadPackageDirective:gofer:
MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadPackageDirective:gofer:
MetacelloPackageLoadDirective>>loadUsing:gofer:
[ :directive | directive loadUsing: aLoaderDirective gofer: aGofer ] in MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
OrderedCollection>>do:
MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
MetacelloLinearLoadDirective>>loadUsing:gofer:
[ :directive | directive loadUsing: aLoaderDirective gofer: aGofer ] in MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
OrderedCollection>>do:
MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadLinearLoadDirective:gofer:
MetacelloLinearLoadDirective>>loadUsing:gofer:
MetacelloLinearLoadDirective(MetacelloVersionLoadDirective)>>loadWithPolicy:
MetacelloLoaderPolicy>>load
MetacelloFetchingMCSpecLoader>>doLoad
[ fetchLoader doLoad ] in [ | fetchLoader |
fetchLoader := self
	fetchRequiredFromArray: (self defaultPackageNamesToLoad: anArray).
MetacelloPlatform current
	do: [ fetchLoader doLoad ]
	displaying: 'Loading ' , displayString.
Transcript
	cr;
	show: '...finished ' , self versionNumber printString.
^ fetchLoader ] in MetacelloMCVersion>>doLoadRequiredFromArray:
IceMetacelloPharoPlatform(MetacelloPlatform)>>do:displaying:
[ | fetchLoader |
fetchLoader := self
	fetchRequiredFromArray: (self defaultPackageNamesToLoad: anArray).
MetacelloPlatform current
	do: [ fetchLoader doLoad ]
	displaying: 'Loading ' , displayString.
Transcript
	cr;
	show: '...finished ' , self versionNumber printString.
^ fetchLoader ] in MetacelloMCVersion>>doLoadRequiredFromArray:
BlockClosure>>ensure:
MetacelloMCVersion>>doLoadRequiredFromArray:
MetacelloMCVersion>>load
[ | version loadedSpec |
self setDefaultsAndValidateProjectSpec.
[ loadedSpec := (self lookupProjectSpecFor: self projectSpec) copy ]
	on: MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
	do:
		[ :ex | ex handleOnDownGrade: onDownGradeBlock onUpgrade: onUpgradeBlock ].
version := loadedSpec versionForScriptEngine: self.
self
	root:
		(required isEmpty
			ifTrue: [ version load ]
			ifFalse: [ version load: required ]) loadDirective.
loadedSpec loads: required.
MetacelloProjectRegistration
	registrationForProjectSpec: loadedSpec
	ifAbsent: [ :new | 
		new
			loadedInImage: true;
			registerProject ]
	ifPresent: [ :existing :new | 
		existing
			copyOnWrite: [ :existingCopy | 
				existingCopy
					loadedInImage: true;
					merge: new ] ] ] in [ self
	handleNotificationsForAction: [ | version loadedSpec |
		self setDefaultsAndValidateProjectSpec.
		[ loadedSpec := (self lookupProjectSpecFor: self projectSpec) copy ]
			on: MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
			do:
				[ :ex | ex handleOnDownGrade: onDownGradeBlock onUpgrade: onUpgradeBlock ].
		version := loadedSpec versionForScriptEngine: self.
		self
			root:
				(required isEmpty
					ifTrue: [ version load ]
					ifFalse: [ version load: required ]) loadDirective.
		loadedSpec loads: required.
		MetacelloProjectRegistration
			registrationForProjectSpec: loadedSpec
			ifAbsent: [ :new | 
				new
					loadedInImage: true;
					registerProject ]
			ifPresent: [ :existing :new | 
				existing
					copyOnWrite: [ :existingCopy | 
						existingCopy
							loadedInImage: true;
							merge: new ] ] ] ] in MetacelloScriptEngine>>load:onProjectDownGrade:onProjectUpgrade:
BlockClosure>>on:do:
[ actionBlock
	on:
		MetacelloLookupProjectSpec , MetacelloLookupProjectSpecForLoad
			, MetacelloProjectSpecLoadedNotification
			, MetacelloScriptEnsureProjectLoadedForDevelopment
			, MetacelloLookupBaselineSpecForEnsureLoad
	do:
		[ :ex | "lookup and registration handlers need to be innermost set of handlers ...they may throw option notifications" ex handleResolutionFor: self ] ] in [ [ actionBlock
	on:
		MetacelloLookupProjectSpec , MetacelloLookupProjectSpecForLoad
			, MetacelloProjectSpecLoadedNotification
			, MetacelloScriptEnsureProjectLoadedForDevelopment
			, MetacelloLookupBaselineSpecForEnsureLoad
	do:
		[ :ex | "lookup and registration handlers need to be innermost set of handlers ...they may throw option notifications" ex handleResolutionFor: self ] ]
	on:
		MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
			, MetacelloAllowConflictingProjectUpgrade
	do:
		[ :ex | "option handlers need to be outermost set of handlers ... last line of defense before users are involved" ex handleResolutionFor: self ] ] in [ [ [ actionBlock
	on:
		MetacelloLookupProjectSpec , MetacelloLookupProjectSpecForLoad
			, MetacelloProjectSpecLoadedNotification
			, MetacelloScriptEnsureProjectLoadedForDevelopment
			, MetacelloLookupBaselineSpecForEnsureLoad
	do:
		[ :ex | "lookup and registration handlers need to be innermost set of handlers ...they may throw option notifications" ex handleResolutionFor: self ] ]
	on:
		MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
			, MetacelloAllowConflictingProjectUpgrade
	do:
		[ :ex | "option handlers need to be outermost set of handlers ... last line of defense before users are involved" ex handleResolutionFor: self ] ]
	on: MetacelloAllowLockedProjectChange
	do:
		[ :ex | "MetacelloAllowLockedProjectChange need to be outermost handler ... since it is signaled from second line of handlers" ex handleResolutionFor: self ] ] in MetacelloScriptEngine>>handleNotificationsForAction:
BlockClosure>>on:do:
[ [ actionBlock
	on:
		MetacelloLookupProjectSpec , MetacelloLookupProjectSpecForLoad
			, MetacelloProjectSpecLoadedNotification
			, MetacelloScriptEnsureProjectLoadedForDevelopment
			, MetacelloLookupBaselineSpecForEnsureLoad
	do:
		[ :ex | "lookup and registration handlers need to be innermost set of handlers ...they may throw option notifications" ex handleResolutionFor: self ] ]
	on:
		MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
			, MetacelloAllowConflictingProjectUpgrade
	do:
		[ :ex | "option handlers need to be outermost set of handlers ... last line of defense before users are involved" ex handleResolutionFor: self ] ] in [ [ [ actionBlock
	on:
		MetacelloLookupProjectSpec , MetacelloLookupProjectSpecForLoad
			, MetacelloProjectSpecLoadedNotification
			, MetacelloScriptEnsureProjectLoadedForDevelopment
			, MetacelloLookupBaselineSpecForEnsureLoad
	do:
		[ :ex | "lookup and registration handlers need to be innermost set of handlers ...they may throw option notifications" ex handleResolutionFor: self ] ]
	on:
		MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
			, MetacelloAllowConflictingProjectUpgrade
	do:
		[ :ex | "option handlers need to be outermost set of handlers ... last line of defense before users are involved" ex handleResolutionFor: self ] ]
	on: MetacelloAllowLockedProjectChange
	do:
		[ :ex | "MetacelloAllowLockedProjectChange need to be outermost handler ... since it is signaled from second line of handlers" ex handleResolutionFor: self ] ] in MetacelloScriptEngine>>handleNotificationsForAction:
BlockClosure>>on:do:
[ [ [ actionBlock
	on:
		MetacelloLookupProjectSpec , MetacelloLookupProjectSpecForLoad
			, MetacelloProjectSpecLoadedNotification
			, MetacelloScriptEnsureProjectLoadedForDevelopment
			, MetacelloLookupBaselineSpecForEnsureLoad
	do:
		[ :ex | "lookup and registration handlers need to be innermost set of handlers ...they may throw option notifications" ex handleResolutionFor: self ] ]
	on:
		MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
			, MetacelloAllowConflictingProjectUpgrade
	do:
		[ :ex | "option handlers need to be outermost set of handlers ... last line of defense before users are involved" ex handleResolutionFor: self ] ]
	on: MetacelloAllowLockedProjectChange
	do:
		[ :ex | "MetacelloAllowLockedProjectChange need to be outermost handler ... since it is signaled from second line of handlers" ex handleResolutionFor: self ] ] in MetacelloScriptEngine>>handleNotificationsForAction:
BlockClosure>>on:do:
MetacelloScriptEngine>>handleNotificationsForAction:
[ self
	handleNotificationsForAction: [ | version loadedSpec |
		self setDefaultsAndValidateProjectSpec.
		[ loadedSpec := (self lookupProjectSpecFor: self projectSpec) copy ]
			on: MetacelloAllowProjectDowngrade , MetacelloAllowProjectUpgrade
			do:
				[ :ex | ex handleOnDownGrade: onDownGradeBlock onUpgrade: onUpgradeBlock ].
		version := loadedSpec versionForScriptEngine: self.
		self
			root:
				(required isEmpty
					ifTrue: [ version load ]
					ifFalse: [ version load: required ]) loadDirective.
		loadedSpec loads: required.
		MetacelloProjectRegistration
			registrationForProjectSpec: loadedSpec
			ifAbsent: [ :new | 
				new
					loadedInImage: true;
					registerProject ]
			ifPresent: [ :existing :new | 
				existing
					copyOnWrite: [ :existingCopy | 
						existingCopy
							loadedInImage: true;
							merge: new ] ] ] ] in MetacelloScriptEngine>>load:onProjectDownGrade:onProjectUpgrade:
BlockClosure>>ensure:
MetacelloProjectRegistration class>>copyRegistryRestoreOnErrorWhile:
MetacelloScriptEngine>>load:onProjectDownGrade:onProjectUpgrade:
MetacelloScriptEngine>>load:
[ :projectSpec | 
| engine |
engine := MetacelloScriptEngine new
	options: self options copy;
	projectSpec: projectSpec;
	yourself.
engine perform: actionArg key withArguments: actionArg value.
engine root ifNotNil: [ :root | self roots add: root ] ] in MetacelloScriptApiExecutor(MetacelloScriptExecutor)>>execute:
[ :projectSpec | 
projectSpec
	ifNotNil: [ projectSpecBlock
			value: (self applyArgsToProjectSpec: projectSpec copy) ] ] in MetacelloScriptApiExecutor>>executeString:do:
Array(SequenceableCollection)>>do:
MetacelloScriptApiExecutor>>executeString:do:
ByteString(String)>>execute:against:
MetacelloScriptApiExecutor(MetacelloScriptExecutor)>>execute:
Metacello>>execute:args:
Metacello>>load
UndefinedObject>>DoIt
OpalCompiler>>evaluate
RubSmalltalkEditor>>evaluate:andDo:
RubSmalltalkEditor>>highlightEvaluateAndDo:
[ textMorph textArea editor highlightEvaluateAndDo: ann action.
textMorph shoutStyler style: textMorph text ] in [ textMorph textArea
	handleEdit: [ textMorph textArea editor highlightEvaluateAndDo: ann action.
		textMorph shoutStyler style: textMorph text ] ] in GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
RubEditingArea(RubAbstractTextArea)>>handleEdit:
[ textMorph textArea
	handleEdit: [ textMorph textArea editor highlightEvaluateAndDo: ann action.
		textMorph shoutStyler style: textMorph text ] ] in GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
WorldState>>runStepMethodsIn:
WorldMorph>>runStepMethods
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldMorph>>doOneCycle
WorldMorph class>>doOneCycle
[ [ WorldMorph doOneCycle.
Processor yield.
false ] whileFalse: [  ] ] in MorphicUIManager>>spawnNewProcess
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess
-------------------------------------------------------------------------------

Reply via email to