Image recovery?

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

Image recovery?

EstebanLM
Hi all,
I have an image that is not working anymore, and I can not take control from that (the image starts, but i can't press any key, not even cmd+.)
Is there a way to load the image (as an ImageSegment or something like that) so I can recover the objects I need? 

Thanks in advance, 
Esteban
--
"Querer es suscitar las paradojas"
Camus. El míto de Sísifo.


Reply | Threaded
Open this post in threaded view
|

Re: Image recovery?

Damien Cassou-3
I would try to copy the .changes file to a new directory with a new
image file. I don't know if it can work.

You could also try to create a .st file which contains Smalltalk code
to fileout your packages. Then, you have to launch squeak with the st
file:
$ squeak <fullPathToStFile)

2007/11/27, Esteban Lorenzano <[hidden email]>:

> Hi all,
> I have an image that is not working anymore, and I can not take control from
> that (the image starts, but i can't press any key, not even cmd+.)
> Is there a way to load the image (as an ImageSegment or something like that)
> so I can recover the objects I need?
>
> Thanks in advance,
> Esteban
> --
> "Querer es suscitar las paradojas"
> Camus. El míto de Sísifo.
>
>
>

--
Damien Cassou


Reply | Threaded
Open this post in threaded view
|

Re: Image recovery?

Bert Freudenberg
On Nov 28, 2007, at 12:27 , Damien Cassou wrote:
> You could also try to create a .st file which contains Smalltalk code
> to fileout your packages. Then, you have to launch squeak with the st
> file:
> $ squeak <fullPathToStFile)

Actually, squeak will not read from stdin, unless you have a custom  
image.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: Image recovery?

Damien Cassou-3
2007/11/28, Bert Freudenberg <[hidden email]>:
> On Nov 28, 2007, at 12:27 , Damien Cassou wrote:
> > You could also try to create a .st file which contains Smalltalk code
> > to fileout your packages. Then, you have to launch squeak with the st
> > file:
> > $ squeak <fullPathToStFile)
>
> Actually, squeak will not read from stdin, unless you have a custom
> image.

I wanted to write:

$ squeak <fullPathToStFile>

:-)

--
Damien Cassou

Reply | Threaded
Open this post in threaded view
|

Re: Image recovery?

Alejandro F. Reimondo
In reply to this post by Damien Cassou-3
Hi Esteban,

If you has not compressed the changes file, the code can be recovered from
there with a change set browser.
In case it is not your situation and you need to dump some
objects/information actually inside the image...
Do you know how to build a VM ? (compile a patched VM to run your image)
If you know how to doit, you can patch a primitive you are sure it is called
by your image before crashing and try to activate another process running an
evaluation of the code you want to evaluate to dump your code & objects (or
repair the image, the last changes -after last recorded saveImage- can help
you to know what has you broken there).
I wish you good luck!

The situation you have now IMHO is good to learn that working saving the
image is not a convenient way to work (you have reached one of the
situations that reveals this fact). It is reccomended to work investing
efforts in modularization. From now you can evaluate the risks of investing
efforts only in saving your image.
The construction of modular systems requieres little efforts as demostrated
for more than a decade and let you be sure that parts of your system can be
assembled without risks (consider each time that a module is assembled in an
image a test of conformance of the assembly energy requiered to put your
parts in another system).
If you work with your objects in (only) one image, you can construct a
system and learn a lot  about the domain from doing that, but doing that way
will not face you to the costs of putting your parts in the context of other
image(s).
The efforts put in modular composition of subsystems is related with this
facts (energy requiered to assemble a system from its "parts") and not with
sharing goodies with other people. If you consider modularity you will also
evade the risks of loosing time, work and make your framework more
appropiate to be bound to other image(s).

cheers,
Ale.


> 2007/11/27, Esteban Lorenzano <[hidden email]>:
>> Hi all,
>> I have an image that is not working anymore, and I can not take control
>> from
>> that (the image starts, but i can't press any key, not even cmd+.)
>> Is there a way to load the image (as an ImageSegment or something like
>> that)
>> so I can recover the objects I need?
>>
>> Thanks in advance,
>> Esteban
>> --
>> "Querer es suscitar las paradojas"
>> Camus. El míto de Sísifo.
>>
>>
>>
>
>
> --
> Damien Cassou
>


--------------------------------------------------------------------------------


>
>


Reply | Threaded
Open this post in threaded view
|

Re: Image recovery?

EstebanLM
Hi all,
Thanks for your answers... I will try every one (I really need to get back those objects)...
I think Ale is right and I made a mistake not been modular in my application... but now is to late :(
After recover all (if it is possible), I will try some modularization... which way do you recomend? ImageSegments seems the right one, but I really don't know how to use it...

Thanks again,
Esteban

On Nov 28, 2007 10:48 AM, Alejandro F. Reimondo <[hidden email]> wrote:
Hi Esteban,

If you has not compressed the changes file, the code can be recovered from
there with a change set browser.
In case it is not your situation and you need to dump some
objects/information actually inside the image...
Do you know how to build a VM ? (compile a patched VM to run your image)
If you know how to doit, you can patch a primitive you are sure it is called
by your image before crashing and try to activate another process running an
evaluation of the code you want to evaluate to dump your code & objects (or
repair the image, the last changes -after last recorded saveImage- can help
you to know what has you broken there).
I wish you good luck!

The situation you have now IMHO is good to learn that working saving the
image is not a convenient way to work (you have reached one of the
situations that reveals this fact). It is reccomended to work investing
efforts in modularization. From now you can evaluate the risks of investing
efforts only in saving your image.
The construction of modular systems requieres little efforts as demostrated
for more than a decade and let you be sure that parts of your system can be
assembled without risks (consider each time that a module is assembled in an
image a test of conformance of the assembly energy requiered to put your
parts in another system).
If you work with your objects in (only) one image, you can construct a
system and learn a lot  about the domain from doing that, but doing that way
will not face you to the costs of putting your parts in the context of other
image(s).
The efforts put in modular composition of subsystems is related with this
facts (energy requiered to assemble a system from its "parts") and not with
sharing goodies with other people. If you consider modularity you will also
evade the risks of loosing time, work and make your framework more
appropiate to be bound to other image(s).

cheers,
Ale.


> 2007/11/27, Esteban Lorenzano <[hidden email]>:
>> Hi all,
>> I have an image that is not working anymore, and I can not take control
>> from
>> that (the image starts, but i can't press any key, not even cmd+.)
>> Is there a way to load the image (as an ImageSegment or something like
>> that)
>> so I can recover the objects I need?
>>
>> Thanks in advance,
>> Esteban
>> --
>> "Querer es suscitar las paradojas"
>> Camus. El míto de Sísifo.
>>
>>
>>
>
>
> --
> Damien Cassou
>


--------------------------------------------------------------------------------


>
>





--
"Querer es suscitar las paradojas"
Camus. El míto de Sísifo.

Reply | Threaded
Open this post in threaded view
|

Re: Image recovery?

Michael van der Gulik-2
In reply to this post by EstebanLM


On Nov 28, 2007 9:56 AM, Esteban Lorenzano <[hidden email]> wrote:
Hi all,
I have an image that is not working anymore, and I can not take control from that (the image starts, but i can't press any key, not even cmd+.)
Is there a way to load the image (as an ImageSegment or something like that) so I can recover the objects I need? 

Do you mind if I ask what happened so that the image broke? Was it a custom morph?

Under some circumstances, it is possible to recover a broken image if you have prepared for the case of failure. I use REPLServer, which is a telnet server that executes Smalltalk commands in the image, to enter these image via a "back door" and then recover the image manually. One helpful command in REPLServer is:

: utils rebootMorphic.

Which starts you on a completely fresh, newly created Morphic project and usually gets things going again. You can also suspend all (non-vital) processes and restart only the core Morphic process to work out what went wrong.

REPLServer is available via the PackageUniverse in 3.10. Send all bug reports to me :-).

Gulik.

--
http://people.squeakfoundation.org/person/mikevdg
http://gulik.pbwiki.com/

Reply | Threaded
Open this post in threaded view
|

Re: Image recovery?

EstebanLM
Hi Gulik,
No, it was not a morphic application, but seaside 2.8. And yes, I have REPLServer installed and running but it was useless :(

Thanks, 
Esteban 

On Nov 28, 2007 4:56 PM, Michael van der Gulik <[hidden email]> wrote:


On Nov 28, 2007 9:56 AM, Esteban Lorenzano <[hidden email]> wrote:
Hi all,
I have an image that is not working anymore, and I can not take control from that (the image starts, but i can't press any key, not even cmd+.)
Is there a way to load the image (as an ImageSegment or something like that) so I can recover the objects I need? 

Do you mind if I ask what happened so that the image broke? Was it a custom morph?

Under some circumstances, it is possible to recover a broken image if you have prepared for the case of failure. I use REPLServer, which is a telnet server that executes Smalltalk commands in the image, to enter these image via a "back door" and then recover the image manually. One helpful command in REPLServer is:

: utils rebootMorphic.

Which starts you on a completely fresh, newly created Morphic project and usually gets things going again. You can also suspend all (non-vital) processes and restart only the core Morphic process to work out what went wrong.

REPLServer is available via the PackageUniverse in 3.10. Send all bug reports to me :-).

Gulik.

--
http://people.squeakfoundation.org/person/mikevdg
http://gulik.pbwiki.com/






--
"Querer es suscitar las paradojas"
Camus. El míto de Sísifo.


Reply | Threaded
Open this post in threaded view
|

Re: Image recovery?

Michael van der Gulik-2
In that case, REPLServer needs improving because it is a tool specifically made for image repair.

Did REPLServer not react when you tried to telnet in? Was it unresponsive? Or was it simply too difficult to use?

Michael.

On Nov 29, 2007 10:52 AM, Esteban Lorenzano <[hidden email]> wrote:
Hi Gulik,
No, it was not a morphic application, but seaside 2.8. And yes, I have REPLServer installed and running but it was useless :(

Thanks, 
Esteban 


On Nov 28, 2007 4:56 PM, Michael van der Gulik <[hidden email]> wrote:


On Nov 28, 2007 9:56 AM, Esteban Lorenzano <[hidden email]> wrote:
Hi all,
I have an image that is not working anymore, and I can not take control from that (the image starts, but i can't press any key, not even cmd+.)
Is there a way to load the image (as an ImageSegment or something like that) so I can recover the objects I need? 

Do you mind if I ask what happened so that the image broke? Was it a custom morph?

Under some circumstances, it is possible to recover a broken image if you have prepared for the case of failure. I use REPLServer, which is a telnet server that executes Smalltalk commands in the image, to enter these image via a "back door" and then recover the image manually. One helpful command in REPLServer is:

: utils rebootMorphic.

Which starts you on a completely fresh, newly created Morphic project and usually gets things going again. You can also suspend all (non-vital) processes and restart only the core Morphic process to work out what went wrong.

REPLServer is available via the PackageUniverse in 3.10. Send all bug reports to me :-).

Gulik.

--
http://people.squeakfoundation.org/person/mikevdg
http://gulik.pbwiki.com/






--
"Querer es suscitar las paradojas"
Camus. El míto de Sísifo.






--
http://people.squeakfoundation.org/person/mikevdg
http://gulik.pbwiki.com/