-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
Hi,
I compiled the VM from your repository branch "sqUnixXdnd" (I applied one small patch the patch from PR #496 required on Solaris)
It's possible that there is some issue with the Solaris support, as this has not been used for a long time I think, and I'm only recently using it , but it's quite usable.
So when I use that VM and I use the Tools -> File List , I can "fileIn" the changesets that you posted.
Then after that when I drag a file "myfile" into the Squeak desktop, I get into a debugger.
When I right click on the debugger I can select "copy bug report to clipboard".
UndefinedObject(Object)>>error: Receiver: nil Arguments and temporary variables: aString: 'Instances of UndefinedObject are not indexable' Receiver's instance variables: nil
UndefinedObject(Object)>>errorNotIndexable Receiver: nil Arguments and temporary variables:
Receiver's instance variables: nil
UndefinedObject(Object)>>size Receiver: nil Arguments and temporary variables:
Receiver's instance variables: nil
FileDirectory class>>on: Receiver: FileDirectory Arguments and temporary variables: pathString: nil pathName: nil parentName: nil Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(size 125) format: 65537 instanceVariables: #('pathName') organization: ('enumeration' containingDirectory directoryEntries directoryEntry...etc... subclasses: {UnixFileDirectory . AcornFileDirectory . MacFileDirectory . DosFileDirectory...etc... name: #FileDirectory classPool: a Dictionary(#DefaultDirectory->UnixFileDirectory on './stes/s...etc... sharedPools: nil environment: Smalltalk category: #'Files-Directories'
FileDirectory class>>requestDropDirectory: Receiver: FileDirectory Arguments and temporary variables: dropIndex: 1 potentialDirectory: nil Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(size 125) format: 65537 instanceVariables: #('pathName') organization: ('enumeration' containingDirectory directoryEntries directoryEntry...etc... subclasses: {UnixFileDirectory . AcornFileDirectory . MacFileDirectory . DosFileDirectory...etc... name: #FileDirectory classPool: a Dictionary(#DefaultDirectory->UnixFileDirectory on './stes/s...etc... sharedPools: nil environment: Smalltalk category: #'Files-Directories'
[] in HandMorph>>collectDropFilesAndDirectories: Receiver: a HandMorph(1013123) Arguments and temporary variables: <<error during printing> Receiver's instance variables: bounds: 660@444 corner: 676@460 owner: a PasteUpMorph(2434915) [world] submorphs: #() fullBounds: 660@444 corner: 676@460 color: Color blue extension: a MorphExtension (1604074) [eventHandler = an EventHandler] [other:...etc... mouseFocus: nil keyboardFocus: a TextMorphForEditView(3274035) eventListeners: nil mouseListeners: nil keyboardListeners: nil eventCaptureFilters: nil mouseCaptureFilters: nil keyboardCaptureFilters: a WeakArray(a HandMorph(1013123)) mouseClickState: nil mouseOverHandler: a MouseOverHandler targetOffset: 68@9 lastMouseEvent: [660@444 mouseUp ( red ) 111157] damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 111157 660 444 0 0 0 1) genieGestureProcessor: nil keyboardInterpreter: an UTF32InputInterpreter externalDropMorph: nil
Interval>>collect: Receiver: (1 to: 1) Arguments and temporary variables: aBlock: [closure] in HandMorph>>collectDropFilesAndDirectories: nextValue: 1 result: #(nil) i: 1 iLimiT: 1 Receiver's instance variables: start: 1 stop: 1 step: 1
HandMorph>>collectDropFilesAndDirectories: Receiver: a HandMorph(1013123) Arguments and temporary variables: numFiles: 1 Receiver's instance variables: bounds: 660@444 corner: 676@460 owner: a PasteUpMorph(2434915) [world] submorphs: #() fullBounds: 660@444 corner: 676@460 color: Color blue extension: a MorphExtension (1604074) [eventHandler = an EventHandler] [other:...etc... mouseFocus: nil keyboardFocus: a TextMorphForEditView(3274035) eventListeners: nil mouseListeners: nil keyboardListeners: nil eventCaptureFilters: nil mouseCaptureFilters: nil keyboardCaptureFilters: a WeakArray(a HandMorph(1013123)) mouseClickState: nil mouseOverHandler: a MouseOverHandler targetOffset: 68@9 lastMouseEvent: [660@444 mouseUp ( red ) 111157] damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 111157 660 444 0 0 0 1) genieGestureProcessor: nil keyboardInterpreter: an UTF32InputInterpreter externalDropMorph: nil
HandMorph>>generateDropFilesEvent: Receiver: a HandMorph(1013123) Arguments and temporary variables: evtBuf: #(3 58791 1 803 1 0 1 1) position: 803@1 buttons: 1 modifiers: 0 stamp: 58791 numFiles: 1 dragType: 1 filesAndDirectories: nil oldButtons: nil Receiver's instance variables: bounds: 660@444 corner: 676@460 owner: a PasteUpMorph(2434915) [world] submorphs: #() fullBounds: 660@444 corner: 676@460 color: Color blue extension: a MorphExtension (1604074) [eventHandler = an EventHandler] [other:...etc... mouseFocus: nil keyboardFocus: a TextMorphForEditView(3274035) eventListeners: nil mouseListeners: nil keyboardListeners: nil eventCaptureFilters: nil mouseCaptureFilters: nil keyboardCaptureFilters: a WeakArray(a HandMorph(1013123)) mouseClickState: nil mouseOverHandler: a MouseOverHandler targetOffset: 68@9 lastMouseEvent: [660@444 mouseUp ( red ) 111157] damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 111157 660 444 0 0 0 1) genieGestureProcessor: nil keyboardInterpreter: an UTF32InputInterpreter externalDropMorph: nil
HandMorph>>processEvents Receiver: a HandMorph(1013123) Arguments and temporary variables: evt: nil evtBuf: #(3 58791 1 803 1 0 1 1) type: 3 hadAny: false Receiver's instance variables: bounds: 660@444 corner: 676@460 owner: a PasteUpMorph(2434915) [world] submorphs: #() fullBounds: 660@444 corner: 676@460 color: Color blue extension: a MorphExtension (1604074) [eventHandler = an EventHandler] [other:...etc... mouseFocus: nil keyboardFocus: a TextMorphForEditView(3274035) eventListeners: nil mouseListeners: nil keyboardListeners: nil eventCaptureFilters: nil mouseCaptureFilters: nil keyboardCaptureFilters: a WeakArray(a HandMorph(1013123)) mouseClickState: nil mouseOverHandler: a MouseOverHandler targetOffset: 68@9 lastMouseEvent: [660@444 mouseUp ( red ) 111157] damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 111157 660 444 0 0 0 1) genieGestureProcessor: nil keyboardInterpreter: an UTF32InputInterpreter externalDropMorph: nil
[] in WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: <<error during printing> Receiver's instance variables: hands: {a HandMorph(1013123)} activeHand: a HandMorph(1013123) viewBox: 0@0 corner: 1008@680 canvas: a FormCanvas on: DisplayScreen(1008x680x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#onBlinkCursor -> a TextMorphForEditView(3274035))...etc... lastStepTime: 3775378560621 lastStepMessage: nil lastCycleTime: 3775378560643 commandHistory: a CommandHistory alarms: a MorphicAlarmQueue lastAlarmTime: 3775378560621 remoteServer: nil multiCanvas: nil interCycleDelay: a Delay(20 msecs)
Array(SequenceableCollection)>>do: Receiver: {a HandMorph(1013123)} Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: index: 1 indexLimiT: 1 Receiver's instance variables: {a HandMorph(1013123)}
WorldState>>handsDo: Receiver: a WorldState Arguments and temporary variables: aBlock: [closure] in WorldState>>doOneCycleNowFor: Receiver's instance variables: hands: {a HandMorph(1013123)} activeHand: a HandMorph(1013123) viewBox: 0@0 corner: 1008@680 canvas: a FormCanvas on: DisplayScreen(1008x680x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#onBlinkCursor -> a TextMorphForEditView(3274035))...etc... lastStepTime: 3775378560621 lastStepMessage: nil lastCycleTime: 3775378560643 commandHistory: a CommandHistory alarms: a MorphicAlarmQueue lastAlarmTime: 3775378560621 remoteServer: nil multiCanvas: nil interCycleDelay: a Delay(20 msecs)
WorldState>>doOneCycleNowFor: Receiver: a WorldState Arguments and temporary variables: aWorld: a PasteUpMorph(2434915) [world] capturingGesture: #(false) Receiver's instance variables: hands: {a HandMorph(1013123)} activeHand: a HandMorph(1013123) viewBox: 0@0 corner: 1008@680 canvas: a FormCanvas on: DisplayScreen(1008x680x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#onBlinkCursor -> a TextMorphForEditView(3274035))...etc... lastStepTime: 3775378560621 lastStepMessage: nil lastCycleTime: 3775378560643 commandHistory: a CommandHistory alarms: a MorphicAlarmQueue lastAlarmTime: 3775378560621 remoteServer: nil multiCanvas: nil interCycleDelay: a Delay(20 msecs)
WorldState>>doOneCycleFor: Receiver: a WorldState Arguments and temporary variables: aWorld: a PasteUpMorph(2434915) [world] Receiver's instance variables: hands: {a HandMorph(1013123)} activeHand: a HandMorph(1013123) viewBox: 0@0 corner: 1008@680 canvas: a FormCanvas on: DisplayScreen(1008x680x32) damageRecorder: a DamageRecorder stepList: a Heap(StepMessage(#onBlinkCursor -> a TextMorphForEditView(3274035))...etc... lastStepTime: 3775378560621 lastStepMessage: nil lastCycleTime: 3775378560643 commandHistory: a CommandHistory alarms: a MorphicAlarmQueue lastAlarmTime: 3775378560621 remoteServer: nil multiCanvas: nil interCycleDelay: a Delay(20 msecs)
PasteUpMorph>>doOneCycle Receiver: a PasteUpMorph(2434915) [world] Arguments and temporary variables:
Receiver's instance variables: bounds: 0@0 corner: 1008@680 owner: nil submorphs: {a PluggableSystemWindow<Error: Instances of UndefinedObject are not...etc... fullBounds: 0@0 corner: 1008@680 color: (Color r: 0.251 g: 0.259 b: 0.267) extension: a MorphExtension (931082) [eventHandler = an EventHandler] [other: ...etc... borderWidth: 0 borderColor: (Color r: 0.515 g: 0.181 b: 0.263) presenter: an EtoysPresenter (3945455) model: a MorphicModel(3522854) cursor: 1 padding: 3 backgroundMorph: nil turtleTrailsForm: nil turtlePen: nil lastTurtlePositions: nil isPartsBin: nil indicateCursor: nil wantsMouseOverHalos: nil worldState: a WorldState griddingOn: nil
[] in MorphicProject>>spawnNewProcess Receiver: a MorphicProject (HomeProject) in a PasteUpMorph(2434915) [world] Arguments and temporary variables:
Receiver's instance variables: dependents: nil world: a PasteUpMorph(2434915) [world] uiManager: a MorphicUIManager changeSet: a ChangeSet named HomeProject transcript: a TranscriptStream parentProject: a MVCProject (RootProject) in a ControlManager previousProject: nil displayDepth: 32 viewSize: 151@132 thumbnail: Form(151x132x32) nextProject: nil projectParameters: an IdentityDictionary(#PrevailingProjectFlags->an IdentityDictionary...etc... version: nil urlList: nil lastDirectory: nil lastSavedAtSeconds: nil projectPreferenceFlagDictionary: an IdentityDictionary(#showSharedFlaps->true #showWorldMainDockingBar...etc... resourceManager: a ResourceManager uiProcess: a Process in nil
[] in FullBlockClosure(BlockClosure)>>newProcess Receiver: [closure] in MorphicProject>>spawnNewProcess Arguments and temporary variables:
Receiver's instance variables: outerContext: MorphicProject>>spawnNewProcess startpcOrMethod: ([] in MorphicProject>>#spawnNewProcess "a CompiledBlock(15491...etc... numArgs: 0 receiver: a MorphicProject (HomeProject) in a PasteUpMorph(2434915) [world]
- --- The full stack --- UndefinedObject(Object)>>error: UndefinedObject(Object)>>errorNotIndexable UndefinedObject(Object)>>size FileDirectory class>>on: FileDirectory class>>requestDropDirectory: [] in HandMorph>>collectDropFilesAndDirectories: Interval>>collect: HandMorph>>collectDropFilesAndDirectories: HandMorph>>generateDropFilesEvent: HandMorph>>processEvents [] in WorldState>>doOneCycleNowFor: Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: PasteUpMorph>>doOneCycle [] in MorphicProject>>spawnNewProcess [] in FullBlockClosure(BlockClosure)>>newProcess
However it's possible that the changeset is using some functionality, that is somehow not working well on Solaris, so perhaps it can be independently tested (unrelated to the changes to the VM or the changeset for dropFile).
That's possible ...
Is it correct to assume that the problem is somehwere in
requestDropDirectory: dropIndex
| potentialDirectory | potentialDirectory := self on: (FileStream primDropRequestFileName: dropIndex). ^ potentialDirectory exists ifTrue: [potentialDirectory]
The method on: with the FileStream seems to raise an error for me. David Stes