[squeak-dev] Installing Filetree

H. Hirzel hannes.hirzel at gmail.com
Thu Jul 19 20:46:56 UTC 2012


OK, thank you Bert that you want to look into it. I copy it in.

As I wrote in an earlier mail the problem is in
MCVersionLoader>load
The OrderedCollectio 'versions' is empty.

I marked the problem with
#####

MCVersionLoader>load
load
	| loader |
	self checkForModifications.
	loader := MCPackageLoader new.
	versions do: [:ea |
		ea canOptimizeLoading
			ifTrue: [ea patch applyTo: loader]
			ifFalse: [loader updatePackage: ea package withSnapshot: ea snapshot]].
	loader loadWithNameLike: versions first info name.    "##### versions is empty"
	versions do: [:ea | ea workingCopy loaded: ea]


The debug log

From: hannes.hirzel at gmail.com
To: squeak-dev at lists.squeakfoundation.org
Subject: [BUG]OrderedCollection(Object)>>error:

here insert explanation of what you were doing, suspect changes you've
made and so forth.

19 July 2012 9:40:09.269 pm

VM: Win32 - Smalltalk
Image: Squeak4.3 [latest update: #11860]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir C:\Documents and Settings\Hannes\My Documents\Squeak4.3FileTreeTest
Trusted Dir C:\Documents and Settings\Hannes\My
Documents\Squeak4.3FileTreeTest\Hannes
Untrusted Dir C:\Documents and Settings\Hannes\My Documents\My Squeak

OrderedCollection(Object)>>error:
	Receiver: an OrderedCollection()
	Arguments and temporary variables:
		aString: 	'attempt to index non-existent element in an ordered collection'
	Receiver's instance variables:
		array: 	#(nil nil nil nil nil nil nil nil nil nil)
		firstIndex: 	1
		lastIndex: 	0

OrderedCollection>>errorNoSuchElement
	Receiver: an OrderedCollection()
	Arguments and temporary variables:

	Receiver's instance variables:
		array: 	#(nil nil nil nil nil nil nil nil nil nil)
		firstIndex: 	1
		lastIndex: 	0

OrderedCollection>>at:
	Receiver: an OrderedCollection()
	Arguments and temporary variables:
		anInteger: 	1
	Receiver's instance variables:
		array: 	#(nil nil nil nil nil nil nil nil nil nil)
		firstIndex: 	1
		lastIndex: 	0

OrderedCollection(SequenceableCollection)>>first
	Receiver: an OrderedCollection()
	Arguments and temporary variables:

	Receiver's instance variables:
		array: 	#(nil nil nil nil nil nil nil nil nil nil)
		firstIndex: 	1
		lastIndex: 	0

MCVersionLoader>>load
	Receiver: a MCVersionLoader
	Arguments and temporary variables:
		loader: 	a MCPackageLoader
	Receiver's instance variables:
		versions: 	an OrderedCollection()

[] in InstallerMonticello>>basicInstall
	Receiver: (Installer repository:'filetree://C:\Documents and
Settings\Hannes\My Documents\Squeak4.3F...etc...
	Arguments and temporary variables:

	Receiver's instance variables:
		answers: 	an OrderedCollection()
		packages: 	an OrderedCollection('MonticelloFileTree-Core')
		messagesToSuppress: 	an OrderedCollection()
		useFileIn: 	false
		noiseLevel: 	nil
		mc: 	a MCFileTreeRepository(filetree://C:\Documents and
Settings\Hannes\My Docum...etc...
		root: 	nil
		project: 	nil

BlockClosure>>on:do:
	Receiver: [closure] in InstallerMonticello>>basicInstall
	Arguments and temporary variables:
		exception: 	ProvideAnswerNotification
		handlerAction: 	[closure] in BlockClosure>>valueSupplyingAnswers:
		handlerActive: 	true
	Receiver's instance variables:
		outerContext: 	InstallerMonticello>>basicInstall
		startpc: 	38
		numArgs: 	0

BlockClosure>>valueSupplyingAnswers:
	Receiver: [closure] in InstallerMonticello>>basicInstall
	Arguments and temporary variables:
		aListOfPairs: 	an OrderedCollection()
	Receiver's instance variables:
		outerContext: 	InstallerMonticello>>basicInstall
		startpc: 	38
		numArgs: 	0

BlockClosure>>valueSuppressingMessages:supplyingAnswers:
	Receiver: [closure] in InstallerMonticello>>basicInstall
	Arguments and temporary variables:
		aListOfStrings: 	an OrderedCollection()
		aListOfPairs: 	an OrderedCollection()
	Receiver's instance variables:
		outerContext: 	InstallerMonticello>>basicInstall
		startpc: 	38
		numArgs: 	0

InstallerMonticello(Installer)>>withAnswersDo:
	Receiver: (Installer repository:'filetree://C:\Documents and
Settings\Hannes\My Documents\Squeak4.3F...etc...
	Arguments and temporary variables:
		aBlock: 	[closure] in InstallerMonticello>>basicInstall
	Receiver's instance variables:
		answers: 	an OrderedCollection()
		packages: 	an OrderedCollection('MonticelloFileTree-Core')
		messagesToSuppress: 	an OrderedCollection()
		useFileIn: 	false
		noiseLevel: 	nil
		mc: 	a MCFileTreeRepository(filetree://C:\Documents and
Settings\Hannes\My Docum...etc...
		root: 	nil
		project: 	nil

InstallerMonticello>>basicInstall
	Receiver: (Installer repository:'filetree://C:\Documents and
Settings\Hannes\My Documents\Squeak4.3F...etc...
	Arguments and temporary variables:

	Receiver's instance variables:
		answers: 	an OrderedCollection()
		packages: 	an OrderedCollection('MonticelloFileTree-Core')
		messagesToSuppress: 	an OrderedCollection()
		useFileIn: 	false
		noiseLevel: 	nil
		mc: 	a MCFileTreeRepository(filetree://C:\Documents and
Settings\Hannes\My Docum...etc...
		root: 	nil
		project: 	nil

[] in InstallerMonticello(Installer)>>installLogging
	Receiver: (Installer repository:'filetree://C:\Documents and
Settings\Hannes\My Documents\Squeak4.3F...etc...
	Arguments and temporary variables:

	Receiver's instance variables:
		answers: 	an OrderedCollection()
		packages: 	an OrderedCollection('MonticelloFileTree-Core')
		messagesToSuppress: 	an OrderedCollection()
		useFileIn: 	false
		noiseLevel: 	nil
		mc: 	a MCFileTreeRepository(filetree://C:\Documents and
Settings\Hannes\My Docum...etc...
		root: 	nil
		project: 	nil

InstallerMonticello(Installer)>>logErrorDuring:
	Receiver: (Installer repository:'filetree://C:\Documents and
Settings\Hannes\My Documents\Squeak4.3F...etc...
	Arguments and temporary variables:
		block: 	[closure] in InstallerMonticello(Installer)>>installLogging
	Receiver's instance variables:
		answers: 	an OrderedCollection()
		packages: 	an OrderedCollection('MonticelloFileTree-Core')
		messagesToSuppress: 	an OrderedCollection()
		useFileIn: 	false
		noiseLevel: 	nil
		mc: 	a MCFileTreeRepository(filetree://C:\Documents and
Settings\Hannes\My Docum...etc...
		root: 	nil
		project: 	nil

InstallerMonticello(Installer)>>installLogging
	Receiver: (Installer repository:'filetree://C:\Documents and
Settings\Hannes\My Documents\Squeak4.3F...etc...
	Arguments and temporary variables:

	Receiver's instance variables:
		answers: 	an OrderedCollection()
		packages: 	an OrderedCollection('MonticelloFileTree-Core')
		messagesToSuppress: 	an OrderedCollection()
		useFileIn: 	false
		noiseLevel: 	nil
		mc: 	a MCFileTreeRepository(filetree://C:\Documents and
Settings\Hannes\My Docum...etc...
		root: 	nil
		project: 	nil

InstallerMonticello(Installer)>>install
	Receiver: (Installer repository:'filetree://C:\Documents and
Settings\Hannes\My Documents\Squeak4.3F...etc...
	Arguments and temporary variables:

	Receiver's instance variables:
		answers: 	an OrderedCollection()
		packages: 	an OrderedCollection('MonticelloFileTree-Core')
		messagesToSuppress: 	an OrderedCollection()
		useFileIn: 	false
		noiseLevel: 	nil
		mc: 	a MCFileTreeRepository(filetree://C:\Documents and
Settings\Hannes\My Docum...etc...
		root: 	nil
		project: 	nil

InstallerMonticello(Installer)>>install:
	Receiver: (Installer repository:'filetree://C:\Documents and
Settings\Hannes\My Documents\Squeak4.3F...etc...
	Arguments and temporary variables:
		packageNameCollectionOrDetectBlock: 	'MonticelloFileTree-Core'
	Receiver's instance variables:
		answers: 	an OrderedCollection()
		packages: 	an OrderedCollection('MonticelloFileTree-Core')
		messagesToSuppress: 	an OrderedCollection()
		useFileIn: 	false
		noiseLevel: 	nil
		mc: 	a MCFileTreeRepository(filetree://C:\Documents and
Settings\Hannes\My Docum...etc...
		root: 	nil
		project: 	nil

UndefinedObject>>DoIt
	Receiver: nil
	Arguments and temporary variables:

	Receiver's instance variables:
nil

Compiler>>evaluate:in:to:notifying:ifFail:logged:
	Receiver: a Compiler
	Arguments and temporary variables:
		textOrStream: 	a ReadWriteStream 'Installer monticello
       mc: (MCFileTreeRep...etc...
		aContext: 	nil
		receiver: 	nil
		aRequestor: 	a SmalltalkEditor
		failBlock: 	[closure] in [] in
SmalltalkEditor(TextEditor)>>evaluateSelectionAnd...etc...
		logFlag: 	true
		methodNode: 	DoIt
	^ Installer monticello
		mc: (MCFileTreeRepository
				direct...etc...
		method: 	(UndefinedObject>>#DoIt "a CompiledMethod(2611)")
		value: 	nil
		toLog: 	nil
		itsSelection: 	nil
		itsSelectionString: 	nil
	Receiver's instance variables:
		sourceStream: 	a ReadWriteStream 'Installer monticello
       mc: (MCFileTreeRep...etc...
		requestor: 	a SmalltalkEditor
		class: 	UndefinedObject
		category: 	nil
		context: 	nil
		parser: 	a Parser

[] in SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
	Receiver: a SmalltalkEditor
	Arguments and temporary variables:
<<error during printing>
	Receiver's instance variables:
		morph: 	a TextMorphForEditView(3936)
		selectionShowing: 	false
		model: 	a Workspace
		paragraph: 	a MultiNewParagraph
		markBlock: 	a CharacterBlock with index 1 and character $I and
rectangle 0 at 0 cor...etc...
		pointBlock: 	a CharacterBlock with index 156 and rectangle 220 at 48
corner: 220 at 64...etc...
		beginTypeInIndex: 	nil
		emphasisHere: 	#()
		lastParenLocation: 	nil
		otherInterval: 	(1 to: 155)
		oldInterval: 	(156 to: 155)
		typeAhead: 	a WriteStream ''
		styler: 	nil


--- The full stack ---
OrderedCollection(Object)>>error:
OrderedCollection>>errorNoSuchElement
OrderedCollection>>at:
OrderedCollection(SequenceableCollection)>>first
MCVersionLoader>>load
[] in InstallerMonticello>>basicInstall
BlockClosure>>on:do:
BlockClosure>>valueSupplyingAnswers:
BlockClosure>>valueSuppressingMessages:supplyingAnswers:
InstallerMonticello(Installer)>>withAnswersDo:
InstallerMonticello>>basicInstall
[] in InstallerMonticello(Installer)>>installLogging
InstallerMonticello(Installer)>>logErrorDuring:
InstallerMonticello(Installer)>>installLogging
InstallerMonticello(Installer)>>install
InstallerMonticello(Installer)>>install:
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
[] in SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BlockClosure>>on:do:
SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
SmalltalkEditor(TextEditor)>>evaluateSelection
[] in PluggableTextMorphPlus(PluggableTextMorph)>>doIt
TextMorphForEditView(TextMorph)>>handleEdit:
PluggableTextMorphPlus(PluggableTextMorph)>>handleEdit:
PluggableTextMorphPlus(PluggableTextMorph)>>doIt
Workspace(StringHolder)>>perform:orSendTo:
[] in MenuItemMorph>>invokeWithEvent:
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
MenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuItemMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuMorph(Morph)>>processEvent:using:
MenuMorph(Morph)>>processEvent:
MenuMorph>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldState>>doOneSubCycleFor:
PasteUpMorph>>doOneSubCycle
MenuMorph>>invokeModalAt:in:allowKeyboard:
MenuMorph>>invokeModal:
MenuMorph>>invokeModal
-- and more not shown --


On 7/19/12, Bert Freudenberg <bert at freudenbergs.de> wrote:
>
> On 19.07.2012, at 13:10, H. Hirzel wrote:
>
>> On 7/19/12, Bert Freudenberg <bert at freudenbergs.de> wrote:
>>>
>>> On 19.07.2012, at 11:30, H. Hirzel wrote:
>>>
>>>> On 7/19/12, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>>>>> On 7/19/12, Dale Henrichs <dhenrich at vmware.com> wrote:
>>>>>> Hannes,
>>>>>>
>>>>>> Okay ... I've updated the FileTree bugreport[1] with a reference to
>>>>>> your
>>>>>> post and will take a look when I get a chance ...
>>>>>>
>>>>>> I will still point out that the install instructions for FileTree[2]
>>>>>> include
>>>>>> a load of the latest code from the github repository...
>>>>
>>>> OK, I now did this.
>>>>
>>>> As step 0 I did the Windows installation of git following this link
>>>>
>>>> http://windows.github.com/
>>>>
>>>> In the installation instruction
>>>>
>>>> https://github.com/dalehenrich/filetree/blob/master/doc/SqueakInstall.md
>>>> you have three parts
>>>>
>>>> 1) I choose the 'Git shell' from the 'Start menu'
>>>>
>>>> I execute
>>>> C:\Documents and Settings\Hannes\My
>>>> Documents\GitHub\filetree\repository\Baselin
>>>> eOfFileTree.package>git clone -b squeak4.3
>>>> https://github.com/dalehenrich/filetr
>>>> ee.git
>>>>
>>>> OK
>>>>
>>>> 2) In Squeak I do as FileTree bootstrap
>>>>
>>>> Installer ss3
>>>>       project: 'FileTree';
>>>>       install: 'MonticelloFileTree-Core.squeak43-dkh.70.mcz'.
>>>>
>>>>
>>>> OK
>>>>
>>>>
>>>> 3) I want to load the FileTree code I got from github
>>>>
>>>> Installer monticello
>>>>       mc: (MCFileTreeRepository directory:
>>>>               (FileDirectory uri: 'C:\Documents and
>>>> Settings\Hannes\My Documents\GitHub\filetree\'));
>>>>       install: 'MonticelloFileTree-Core'
>>>
>>>
>>> Use FileDirectory on: not uri: if you give it a path.
>>>
>>> (my original example used a relative path with uri: which to me was more
>>> convenient than having to specify an absolute path)
>>
>> As you suggest I now use as point 3
>>
>> Installer monticello
>>        mc: (MCFileTreeRepository directory:
>>                (FileDirectory on: 'C:\Documents and
>> Settings\Hannes\My Documents\GitHub\filetree\'));
>>        install: 'MonticelloFileTree-Core'
>>
>> FAILURE
>> I still get a walkback
>
> Without seeing the debug log that does not tell us anything.
>
>> (FileDirectory on: 'C:\Documents and Settings\Hannes\My
>> Documents\GitHub\filetree\') inspect
>>
>> OK, gives
>> DosFileDirectory on 'C:\Documents and Settings\Hannes\My
>> Documents\GitHub\filetree'
>>
>>
>>
>>
>>
>>
>> (MCFileTreeRepository directory:
>>                (FileDirectory on: 'C:\Documents and
>> Settings\Hannes\My Documents\GitHub\filetree\')) inspect
>>
>> OK, gives
>
>
> So why don't you debug it and figure out what the problem is? It is way
> easier for you to hit the debug button than for us to guess, since you are
> on the Windows machine and can just look at it.
>
> - Bert -
>
>
>


More information about the Squeak-dev mailing list