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@gmail.com To: squeak-dev@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@0 cor...etc... pointBlock: a CharacterBlock with index 156 and rectangle 220@48 corner: 220@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@freudenbergs.de wrote:
On 19.07.2012, at 13:10, H. Hirzel wrote:
On 7/19/12, Bert Freudenberg bert@freudenbergs.de wrote:
On 19.07.2012, at 11:30, H. Hirzel wrote:
On 7/19/12, H. Hirzel hannes.hirzel@gmail.com wrote:
On 7/19/12, Dale Henrichs dhenrich@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
In the installation instruction
https://github.com/dalehenrich/filetree/blob/master/doc/SqueakInstall.md you have three parts
- 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
- In Squeak I do as FileTree bootstrap
Installer ss3 project: 'FileTree'; install: 'MonticelloFileTree-Core.squeak43-dkh.70.mcz'.
OK
- 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 -