[squeak-dev] 3.11 and the trunk

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
43 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] binary development (was: 3.11 and the trunk)

Eliot Miranda-2


On Tue, Aug 25, 2009 at 3:54 PM, David Farber <[hidden email]> wrote:

On Aug 25, 2009, at 2:28 PM, Eliot Miranda wrote:

One of the things the headless support in VW allows which is quite nice is taking a shapshot which can then be restarted in a headless mode for debugging.

Eliot - Was this VM or image-side support?  Can you describe how it worked?

All image side; no VM support.  I can't describe it in detail as I never worked on it.  But the basic idea is to have a switchable headless system in the image so that in deployment it runs headless and when an error occurs the error handler temporarily throws the switch, saves a snapshot and resets the switch.  When the snapshot is restarted it will come up headful because the switch was thrown before the snapshot was taken.  In the resuming snapshot the error handler then does something like an on: .. do: [:ex| self shapshotHeadful. ex pass] to allow the GUI to display the debugger.

Download VW non-commercial and play with the headless support if you want details.


Not quite the same, but very neat:  The other day at Qwaq Craig Latta had a VM crash while running in a Parallels Linux VM under gdb.  He was able to give me a copy of the VM snapshot at the point where gdb stopped the process, giving me the opportunity to debug the live app at my leisure.  A cool idea.

In other words, he was already running the Qwaq VM under gdb, so when the Qwaq VM crashed (and left him at a gdb prompt), he simply suspended the Parallels Linux VM and sent you a copy of the suspended Parallels Linux VM.  Is that right?

Right.  Very nice, as the patient is on the table. 



David





Reply | Threaded
Open this post in threaded view
|

Headless snapshotting (was: Re: [squeak-dev] binary development (was: 3.11 and the trunk))

David Farber

On Aug 26, 2009, at 9:53 AM, Eliot Miranda wrote:

On Tue, Aug 25, 2009 at 3:54 PM, David Farber <[hidden email]> wrote:

On Aug 25, 2009, at 2:28 PM, Eliot Miranda wrote:

One of the things the headless support in VW allows which is quite nice is taking a shapshot which can then be restarted in a headless mode for debugging.

Eliot - Was this VM or image-side support?  Can you describe how it worked?

All image side; no VM support.  I can't describe it in detail as I never worked on it.  But the basic idea is to have a switchable headless system in the image so that in deployment it runs headless and when an error occurs the error handler temporarily throws the switch, saves a snapshot and resets the switch.  When the snapshot is restarted it will come up headful because the switch was thrown before the snapshot was taken.  In the resuming snapshot the error handler then does something like an on: .. do: [:ex| self shapshotHeadful. ex pass] to allow the GUI to display the debugger.

I was hoping you were going to say VM side.  :)  Or, rather, I was hoping that the context of your original message was initiating a snapshot from outside a image (i.e. in response to a nightly cron job to backup the image or a system shutdown event).

But, back to headless/headfull for a moment, doesn't Squeak do this automatically already?  When I run an image in headless mode, all that happens is that no OS window is opened--but the Squeak UI objects are all there (and running) in the image.  Does VW do something more, like destroy all the UI objects?


Not quite the same, but very neat:  The other day at Qwaq Craig Latta had a VM crash while running in a Parallels Linux VM under gdb.  He was able to give me a copy of the VM snapshot at the point where gdb stopped the process, giving me the opportunity to debug the live app at my leisure.  A cool idea.

In other words, he was already running the Qwaq VM under gdb, so when the Qwaq VM crashed (and left him at a gdb prompt), he simply suspended the Parallels Linux VM and sent you a copy of the suspended Parallels Linux VM.  Is that right?

Right.  Very nice, as the patient is on the table.

Yeah, full OS virtualization has some pretty cool use cases.

David



Reply | Threaded
Open this post in threaded view
|

Re: Headless snapshotting (was: Re: [squeak-dev] binary development (was: 3.11 and the trunk))

Eliot Miranda-2


On Wed, Aug 26, 2009 at 10:58 AM, David Farber <[hidden email]> wrote:

On Aug 26, 2009, at 9:53 AM, Eliot Miranda wrote:

On Tue, Aug 25, 2009 at 3:54 PM, David Farber <[hidden email]> wrote:

On Aug 25, 2009, at 2:28 PM, Eliot Miranda wrote:

One of the things the headless support in VW allows which is quite nice is taking a shapshot which can then be restarted in a headless mode for debugging.

Eliot - Was this VM or image-side support?  Can you describe how it worked?

All image side; no VM support.  I can't describe it in detail as I never worked on it.  But the basic idea is to have a switchable headless system in the image so that in deployment it runs headless and when an error occurs the error handler temporarily throws the switch, saves a snapshot and resets the switch.  When the snapshot is restarted it will come up headful because the switch was thrown before the snapshot was taken.  In the resuming snapshot the error handler then does something like an on: .. do: [:ex| self shapshotHeadful. ex pass] to allow the GUI to display the debugger.

I was hoping you were going to say VM side.  :)  Or, rather, I was hoping that the context of your original message was initiating a snapshot from outside a image (i.e. in response to a nightly cron job to backup the image or a system shutdown event).

But, back to headless/headfull for a moment, doesn't Squeak do this automatically already?  When I run an image in headless mode, all that happens is that no OS window is opened--but the Squeak UI objects are all there (and running) in the image.

Right.
 
 Does VW do something more, like destroy all the UI objects?

No.  Its just a switch and routes to either the GUI or e.g. standard i/o.
 




Not quite the same, but very neat:  The other day at Qwaq Craig Latta had a VM crash while running in a Parallels Linux VM under gdb.  He was able to give me a copy of the VM snapshot at the point where gdb stopped the process, giving me the opportunity to debug the live app at my leisure.  A cool idea.

In other words, he was already running the Qwaq VM under gdb, so when the Qwaq VM crashed (and left him at a gdb prompt), he simply suspended the Parallels Linux VM and sent you a copy of the suspended Parallels Linux VM.  Is that right?

Right.  Very nice, as the patient is on the table.

Yeah, full OS virtualization has some pretty cool use cases.

David







123