Hi all,
I have updated the self-bootstrapping environment for Squeak 7061. I have also solved the problems with Morphic initialization of the Rest of Squeak package so the description and tools how to create this package is also included. Download: http://www.comtalk.net/Squeak/uploads/20/bootstrap7061.zip The final Morphic image is here: http://www.comtalk.net/Squeak/uploads/20/RoSImage.zip It's good starting point for the next research of Morphic intialization and cleanup. The size of this image is 10,1MB (original image size is 15,7MB). Enjoy -- Pavel |
Pavel Krivanek puso en su mail :
> The final Morphic image is here: > http://www.comtalk.net/Squeak/uploads/20/RoSImage.zip > It's good starting point for the next research of Morphic > intialization and cleanup. The size of this image is 10,1MB (original > image size is 15,7MB). > > Enjoy > > -- Pavel Pavel: I just download and the final Squeak3.9g-7061.image image don't open . I said I on Mac and have 7 different VM ( John and UNIX ) Edgar __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas |
On 9/23/06, Edgar J. De Cleene <[hidden email]> wrote:
> Pavel Krivanek puso en su mail : > > > The final Morphic image is here: > > http://www.comtalk.net/Squeak/uploads/20/RoSImage.zip > > It's good starting point for the next research of Morphic > > intialization and cleanup. The size of this image is 10,1MB (original > > image size is 15,7MB). > > > > Enjoy > > > > -- Pavel > Pavel: > > I just download and the final Squeak3.9g-7061.image image don't open . > I said I on Mac and have 7 different VM ( John and UNIX ) > > Edgar > Linux and Wine. Please try to build the image using the attached documentation. BTW, I have found two major bugs so there will be the next fixed release during this weekend. -- Pavel |
Pavel Krivanek puso en su mail :
> Hmm, strange. Do you've got correct sources file? I have tested it on > Linux and Wine. Please try to build the image using the attached > documentation I move the SqueakV39.sources founded in ftp site for Squeak3.9g-7061.image to same folder for see if help, but not. What you mean with build the image using the attached documentation ? The whole process of build kernel from "Oficial" Squeak3.9g-7061.image to KernelSqueak3.9g-7061.image and later the RestOfSqueak process ? Beg you rename final images to : KernelSqueak3.9g-7061.image ( about 3 mb) BasicSqueak3.9g-7061.image or MinimalSqueak3.9g-7061.image (the 10 mb RestOfSqueak) for avoid mistakes Anyway, you are doing a terrific job , I'm eras behind... Edgar __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas |
On 9/23/06, Edgar J. De Cleene <[hidden email]> wrote:
> Pavel Krivanek puso en su mail : > > > Hmm, strange. Do you've got correct sources file? I have tested it on > > Linux and Wine. Please try to build the image using the attached > > documentation > I move the SqueakV39.sources founded in ftp site for Squeak3.9g-7061.image > to same folder for see if help, but not. Ok, I will test the next version on a mac... > What you mean with build the image using the attached > documentation ? > > The whole process of build kernel from "Oficial" Squeak3.9g-7061.image to > KernelSqueak3.9g-7061.image and later the RestOfSqueak process ? Yes. At least I want to know if somebody is able to do it too with my materials :-) > Beg you rename final images to : > KernelSqueak3.9g-7061.image ( about 3 mb) > BasicSqueak3.9g-7061.image or MinimalSqueak3.9g-7061.image (the 10 mb > RestOfSqueak) for avoid mistakes Thank you for the tip... -- Pavel |
Pavel Krivanek puso en su mail :
> Yes. At least I want to know if somebody is able to do it too with my > materials :-) Ok . I start to do and send new mail __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas |
In reply to this post by Pavel Krivanek
Pavel Krivanek puso en su mail :
> Yes. At least I want to know if somebody is able to do it too with my > materials :-) I very sorry to tell what something is wrong (first time in all buildings of your kernel) When I enter the 06 or type Bootstrap start, system changes to console mode, but I can't type any on it !!! Squeak 3.8.4Beta1 was the John Vm what I use for this test, but I use regular and no strange things. Edgar __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas |
In reply to this post by Pavel Krivanek
Pavel:
Here the first try on bootstrap7061b.zip What I do; Decompress. Try KernelImage-7061b.image os same VM as last. Works fine. Try to rebuild Minimal. Here I see problems in how files are organizated For start working, I should move KernelImage-7061b to root folder and path changes to loadROS.st (FileStream readOnlyFileNamed: 'RoSExtra/Class-sharing.st) fileIn. I should load manual (typing on kernel via cut an paste ) #('RestOfSqueak-changedDefinitions.cs' 'RestOfSqueak-new.cs' 'RestOfSqueak-additions.cs' 'RestOfSqueak-overrides.cs') do: [:fileName | (FileStream readOnlyFileNamed: 'RoS/',fileName) fileIn. ]. Also load manual (typing on kernel via cut an paste ) I answer yes to all questions about pool dictionaries. I said in my experiments I load first the pool used , so no questions . My Mac is working... A time later , I have control again and Smalltalk size said 2070 (almost I scream HURRA ) #('RestOfSqueak-initialize1.cs' 'RestOfSqueak-initialize2.cs') do: [:fileName | (FileStream readOnlyFileNamed: 'RoSExtra/',fileName) fileIn. ]. Same technique, but this time I got a nil... Waiting yours clues... Edgar __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas |
Pavel:
I found what a new report.txt file (sure for analysis) is in the root folder. Also what I need put FormDictionary and my.prefs files in root. Deleting the report.txt file and manual doing: (FileStream readOnlyFileNamed: 'RoSExtra/RestOfSqueak-initialize1.cs') fileIn. (FileStream readOnlyFileNamed: 'RoSExtra/RestOfSqueak-initialize2.cs') fileIn. The process don't show a new report file, I do SmalltalkImage current saveAs and rename to MinimalImage-7061b.image what is 9.8 Mb , but still not in Morphic as usual. Edgar __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas |
Hi Edgar,
you should copy the kernel image, all files in the RoSExtra directory and all files in the RoS directory into one directory. Then start the kernel image and evaluate [(FileStream readOnlyFileNamed: 'loadROS.st') fileIn. Processor terminateActive] ifError: [:e|e] the list of files: Class-sharing.st RestOfSqueak-changedDefinitions.cs FormDictionary RestOfSqueak-initialize1.cs KernelImage-7061b.changes RestOfSqueak-initialize2.cs KernelImage-7061b.image RestOfSqueak-new.cs loadROS.st RestOfSqueak-overrides.cs my.pref RestOfSqueak-additions.cs I hope it helps -- Pavel |
Pavel Krivanek puso en su mail :
> Hi Edgar, > > you should copy the kernel image, all files in the RoSExtra directory > and all files in the RoS directory into one directory. Then start the > kernel image and evaluate > > [(FileStream readOnlyFileNamed: 'loadROS.st') fileIn. Processor > terminateActive] ifError: [:e|e] > > the list of files: > > Class-sharing.st RestOfSqueak-changedDefinitions.cs FormDictionary > RestOfSqueak-initialize1.cs KernelImage-7061b.changes > RestOfSqueak-initialize2.cs KernelImage-7061b.image > RestOfSqueak-new.cs loadROS.st RestOfSqueak-overrides.cs my.pref > RestOfSqueak-additions.cs > > I hope it helps > -- Pavel time ago. (I checking all what I do before for clues also) This image works on VM Unix but not in John VM So I repeat all process with Squeak-3.7-7 VM Unix for Mac and follow your tip. I have a working MinimalImage-7061b.image !!! of 10.1 Mb Some glitches what I saw before, but could work. Now I hope John could said something about why some images works on Unix VMs and not on his VM, so I send a copy to he. Again , GREAT, GREAT, GREAT JOB. Thanks for show the way to us, snail speed Squeakers !!!! Edgar __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas |
Give me a URL to the image file and I'll see why it won't work.
On 25-Sep-06, at 1:48 PM, Edgar J. De Cleene wrote: > Now I hope John could said something about why some images works on > Unix VMs > and not on his VM, so I send a copy to he. > > -- ======================================================================== === John M. McIntosh <[hidden email]> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== === |
John M McIntosh puso en su mail :
> Give me a URL to the image file and I'll see why it won't work. > > On 25-Sep-06, at 1:48 PM, Edgar J. De Cleene wrote: >> Now I hope John could said something about why some images works on >> Unix VMs >> and not on his VM, so I send a copy to he. >> >> > > -- I put on ftp://elpelotero:[hidden email]/Public/MinimalIm age-7061b.zip I include MinimalImage-7061b.changes MinimalImage-7061b.image SqueakV39.sources My cable modem is sloooow Very thanks Edgar __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas |
In reply to this post by johnmci
Mmmm interesting.
First it loads dlopen: /Users/johnmci/Documents/Squeak3.8.0/build/Development/ Plugins/LargeIntegers => 0 Then we go to sleep and just calls ioRelinquishProcessorForMicroseconds() which calls aioSleep for looks like 20 milliseconds... If I stop the VM and look at the process stacks. (gdb) call (int) printAllStacks() Process 156455740 >idleProcess 156450332 [] in >startUp 156450424 [] in BlockContext>newProcess Process 156452444 >finalizationProcess 156452260 [] in >restartFinalizationProcess 156452352 [] in BlockContext>newProcess Process 147216216 >timerInterruptWatcher 147216600 [] in >startTimerInterruptWatcher 147216692 [] in BlockContext>newProcess Process 156447808 InputSensor>userInterruptWatcher 156447624 [] in InputSensor>installInterruptWatcher 156447716 [] in BlockContext>newProcess Process 156670128 Delay>wait 156670532 [] in EventSensor>eventTickler 156670036 BlockContext>on:do: 156448300 EventSensor>eventTickler 156448116 [] in EventSensor>installEventTickler 156448208 [] in BlockContext>newProcess Process 156449912 SystemDictionary>lowSpaceWatcher 156450004 [] in SystemDictionary>installLowSpaceWatcher 156450096 [] in BlockContext>newProcess Process 156680932 Delay>wait 156680840 WorldState>interCyclePause: 156680012 WorldState>doOneCycleFor: 156679644 PasteUpMorph>doOneCycle 154524752 [] in >spawnNewProcess 154524936 [] in BlockContext>newProcess Process 156682632 Delay>wait 156682540 WorldState>interCyclePause: 156681712 WorldState>doOneCycleFor: 156681620 PasteUpMorph>doOneCycle 154508316 [] in >spawnNewProcess 154508500 [] in BlockContext>newProcess Then suddenly it after some minutes it loads the BitBltPlugin and then the B2DPlugin and calls primitiveShowDisplayRect which triggers the building of the main window and display, because I don't build the window until it's required. Stack now reads (gdb) call (int) printAllStacks() Process 156598864 DisplayScreen>forceToScreen: 156598680 [] in DisplayScreen>forceDamageToScreen: 156598772 OrderedCollection>do: 156598588 DisplayScreen>forceDamageToScreen: 156598128 WorldState>forceDamageToScreen: 156490092 WorldState>displayWorld:submorphs: 156490000 PasteUpMorph>privateOuterDisplayWorld 156489908 PasteUpMorph>displayWorld 156488864 SystemWindow>passivate 156488772 SystemWindow>activate 156481812 SystemWindow>openAsIsIn: 156480648 SystemWindow>openInWorld:extent: 156480556 SystemWindow>openInWorldExtent: 156461308 Debugger>buildMorphicNotifierLabelled:message: 156461216 Debugger>openNotifierContents:label: 156460572 [] in >openOn:context:label:contents:fullView: 156460480 BlockContext>on:do: 156459676 [] in >openOn:context:label:contents:fullView: 156460388 WorldState>runStepMethodsIn: 156460296 PasteUpMorph>runStepMethods 156460204 WorldState>doOneCycleNowFor: 156460112 WorldState>doOneCycleFor: 156460020 PasteUpMorph>doOneCycle 154524752 [] in >spawnNewProcess 154524936 [] in BlockContext>newProcess Process 156452444 >finalizationProcess 156452260 [] in >restartFinalizationProcess 156452352 [] in BlockContext>newProcess Process 147216216 >timerInterruptWatcher 147216600 [] in >startTimerInterruptWatcher 147216692 [] in BlockContext>newProcess Process 156447808 InputSensor>userInterruptWatcher 156447624 [] in InputSensor>installInterruptWatcher 156447716 [] in BlockContext>newProcess Process 156478660 Delay>wait 156478752 [] in EventSensor>eventTickler 156478568 BlockContext>on:do: 156448300 EventSensor>eventTickler 156448116 [] in EventSensor>installEventTickler 156448208 [] in BlockContext>newProcess Process 156449912 SystemDictionary>lowSpaceWatcher 156450004 [] in SystemDictionary>installLowSpaceWatcher 156450096 [] in BlockContext>newProcess Debug that comes up says 25 September 2006 7:28:37 pm VM: Mac OS - a SmalltalkImage Image: Squeak3.9gamma [latest update: #7061] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /Users/johnmci/Shared/MinimalImage-7061b Trusted Dir /Users/johnmci/Shared/MinimalImage-7061b Untrusted Dir /Users/johnmci/Library/Preferences/Squeak/Internet/My Squeak UndefinedObject(Object)>>doesNotUnderstand: #includes: Receiver: nil Arguments and temporary variables: aMessage: includes: a PasteUpMorph(1414) [world] Receiver's instance variables: nil MouseOverHandler>>noticeMouseOver:event: Receiver: a MouseOverHandler Arguments and temporary variables: aMorph: a PasteUpMorph(1414) [world] anEvent: [326@458 mouseOver nil] Receiver's instance variables: mouseOverMorphs: an Array(a PluggableTextMorph(47) a SystemWindow (681) a PasteU...etc... enteredMorphs: nil overMorphs: nil leftMorphs: nil HandMorph>>noticeMouseOver:event: Receiver: a HandMorph(3096) Arguments and temporary variables: aMorph: a PasteUpMorph(1414) [world] anEvent: [326@458 mouseOver nil] Receiver's instance variables: bounds: 435@358 corner: 451@374 owner: a PasteUpMorph(1414) [world] submorphs: #() fullBounds: 435@358 corner: 451@374 color: Color blue extension: a MorphExtension (3895) [other: (halo -> a HaloMorph (3433))] mouseFocus: nil keyboardFocus: a TextMorphForEditView(2411) eventListeners: nil mouseListeners: nil keyboardListeners: nil mouseClickState: nil mouseOverHandler: a MouseOverHandler lastMouseEvent: [435@358 mouseUp 2260177] targetOffset: 53@4 damageRecorder: a DamageRecorder cacheCanvas: nil cachedCanvasHasHoles: true temporaryCursor: nil temporaryCursorOffset: nil hardwareCursor: nil hasChanged: true savedPatch: nil userInitials: '' lastEventBuffer: #(1 2260177 435 358 0 0 0 1) genieGestureProcessor: nil keyboardInterpreter: a MacRomanInputInterpreter PasteUpMorph(Morph)>>handleMouseOver: Receiver: a PasteUpMorph(1414) [world] Arguments and temporary variables: anEvent: [326@458 mouseOver nil] Receiver's instance variables: bounds: 0@0 corner: 1016@716 owner: nil submorphs: an Array(a HaloMorph(3433) a SystemWindow(681) a PreDebugWindow(1744...etc... fullBounds: 0@0 corner: 1016@716 color: (Color r: 0.97 g: 0.98 b: 1.0) extension: a MorphExtension (2320) [other: (dragEnabled -> true) (automaticPhr...etc... borderWidth: 0 borderColor: (Color r: 0.861 g: 1.0 b: 0.722) presenter: a Presenter (2506) model: nil cursor: 1 padding: 3 backgroundMorph: nil turtleTrailsForm: nil turtlePen: nil lastTurtlePositions: nil isPartsBin: nil autoLineLayout: nil indicateCursor: nil resizeToFit: nil wantsMouseOverHalos: false worldState: a WorldState griddingOn: nil --- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #includes: MouseOverHandler>>noticeMouseOver:event: HandMorph>>noticeMouseOver:event: PasteUpMorph(Morph)>>handleMouseOver: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MouseEvent>>sentTo: PasteUpMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: PasteUpMorph(Morph)>>processEvent:using: PasteUpMorph>>processEvent:using: PasteUpMorph(Morph)>>processEvent: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: HandMorph>>handleEvent: MouseOverHandler>>processMouseOver: HandMorph>>processEvents [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h processEvents. capturingGesture := capturingGest...]} Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: PasteUpMorph>>doOneCycle [] in Project class>>spawnNewProcess {[[World doOneCycle. Processor yield. false] whileFalse. nil]} [] in BlockContext>>newProcess {[self value. Processor terminateActive]} On 25-Sep-06, at 2:16 PM, John M McIntosh wrote: > Give me a URL to the image file and I'll see why it won't work. > > On 25-Sep-06, at 1:48 PM, Edgar J. De Cleene wrote: >> Now I hope John could said something about why some images works >> on Unix VMs >> and not on his VM, so I send a copy to he. >> >> -- ======================================================================== === John M. McIntosh <[hidden email]> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== === |
John M McIntosh wrote:
> Then we go to sleep and just calls > ioRelinquishProcessorForMicroseconds() which calls aioSleep for looks > like 20 milliseconds... [... snip ...] > Then suddenly it after some minutes it loads the > BitBltPlugin and then the B2DPlugin > > and calls primitiveShowDisplayRect > which triggers the building of the main window and display, because I > don't build the window until it's required. Any possibility it's trying to put a warning about a missing sources/changes file? IIRC, then the error reporting process is screwy - it's trying to put up a morphic dialog before morphic is initialized, namely in FileDirectory>>startUp which happens way, way early in the startup sequence. I'm not certain primShowDisplayRect: is being called properly at that point. Cheers, - Andreas |
In reply to this post by johnmci
Further to this I'll note I do not put anything on the event queue
because a) Squeak without the host menu extensions does not see menu commands b) The window is not open so there is no window events c) The window is not open so there is no UI events (keyboard/mouse) Historically that has read. int ioGetNextEvent(sqInputEvent *evt) { ioProcessEvents(); pthread_mutex_lock(&gEventQueueLock); if (eventBufferGet == eventBufferPut) { pthread_mutex_unlock(&gEventQueueLock); return false; } and primitiveGetNextEvent "Primitive. Return the next input event from the VM event queue." | evtBuf arg value | self var: #evtBuf declareC:'int evtBuf[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }'. self cCode:'' inSmalltalk:[evtBuf := CArrayAccessor on: (IntegerArray new: 8)]. arg := self stackTop. ((self isArray: arg) and:[(self slotSizeOf: arg) = 8]) ifFalse: [^self primitiveFail]. self ioGetNextEvent: (self cCoerce: evtBuf to: 'sqInputEvent*'). successFlag ifFalse:[^nil]. Which means the event found by primitiveGetNextEvent is all zeros. fetchMoreEvents ... [self primGetNextEvent: eventBuffer. type := eventBuffer at: 1. type = EventTypeNone] whileFalse: [self processEvent: eventBuffer]. so that just falls thru Mmm. Well let turn on message tracing and see what's going on On 25-Sep-06, at 2:16 PM, John M McIntosh wrote: > Give me a URL to the image file and I'll see why it won't work. > > On 25-Sep-06, at 1:48 PM, Edgar J. De Cleene wrote: >> Now I hope John could said something about why some images works >> on Unix VMs >> and not on his VM, so I send a copy to he. >> -- ======================================================================== === John M. McIntosh <[hidden email]> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== === |
In reply to this post by johnmci
I've posted 1 one stack deep trace of the VM starting the minimal
image to my idisk via http://www.smalltalkconsulting.com/squeak.html In the experimental directory MinimalImage-7061b.messageTraceFile.txt.zip zips nicely to 348K, as it's a 30MB text file Look there for clues. In this case the VM did attempt to open the window fairly shortly after loading the image. -- ======================================================================== === John M. McIntosh <[hidden email]> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== === |
In reply to this post by Andreas.Raab
Andreas Raab puso en su mail :
> Any possibility it's trying to put a warning about a missing > sources/changes file? IIRC, then the error reporting process is screwy - > it's trying to put up a morphic dialog before morphic is initialized, > namely in FileDirectory>>startUp which happens way, way early in the > startup sequence. I'm not certain primShowDisplayRect: is being called > properly at that point. > > Cheers, > - Andreas The SqueakV39.sources are in same folder. My own experience on building images shows what changing the old trusted SqueakV3.sources could be a troublemaker at one point. And this time they change the sources two times.... I really wonder why change horses in middle of river. With Smalltalk condenseChanges working this should wait to 4.0 IMHO Edgar __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas |
2006/9/26, Edgar J. De Cleene <[hidden email]>:
> Andreas Raab puso en su mail : > > > Any possibility it's trying to put a warning about a missing > > sources/changes file? IIRC, then the error reporting process is screwy - > > it's trying to put up a morphic dialog before morphic is initialized, > > namely in FileDirectory>>startUp which happens way, way early in the > > startup sequence. I'm not certain primShowDisplayRect: is being called > > properly at that point. > > > > Cheers, > > - Andreas > > The SqueakV39.sources are in same folder. > My own experience on building images shows what changing the old trusted > SqueakV3.sources could be a troublemaker at one point. > And this time they change the sources two times.... > I really wonder why change horses in middle of river. > With Smalltalk condenseChanges working this should wait to 4.0 IMHO The changes file was just too close to 32 MB. Philippe |
Philippe Marschall puso en su mail :
> The changes file was just too close to 32 MB. > > Philippe But a fix for having big files was send to list, and that should be adopted IMHO Edgar __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas |
Free forum by Nabble | Edit this page |