[Pharo-dev] Some segfault crashes and freezes when trying to re-run saved pharo 7 images

Clément Bera bera.clement at gmail.com
Sat Oct 21 14:53:49 EDT 2017


On Sat, Oct 21, 2017 at 6:23 PM, Peter Uhnák <i.uhnak at gmail.com> wrote:

> #(FT2Handle FreeTypeCache FreeTypeSettings) do: [ :each | SessionManager
>> default unregisterClassNamed: each  ]
>>
>
> How am I supposed to launch the script if it crashes on startup? I've
> tried running from terminal but to no avail.
>
>
...

I was talking about future images.

If you want to save your already crashing image, the crash.dump says the VM
crashes in FreeTypeFace(FT2Face)>newFaceFromExternalMemory:index: .

So you need to interrupt that / change the behavior of one of the method
leading to this behavior.

What I would try:

- start the image on a VM without Freetype (maybe you will have an error
instead of a crash)

- open a new image, and check what you could return immediately instead of
executing one of the faulty method to start-up without a crash (For
example, if I replace the method body of
FreeTypeFace(FT2Face)>newFaceFromExternalMemory:index: by ^ self, does it
crash ? If yes, pick another method upper in the crashing stack of
crash.dump or return something else). Then, you can either:
* start the image on the VMSimulator, set a break point on the method
selector with the body you want to replace and change the runtime behavior
to return the value you want instead.
* open your crashing image with an hexadecimal editor, look for the
bytecode sequence of the method with the body you want to replace, replace
it with new bytecode to return the value you want. Save your image. Restart
it on the VM.

That kind of things.


Best,




> Thanks,
> Peter
>



-- 
Clément Béra
Pharo consortium engineer
https://clementbera.wordpress.com/
Bâtiment B 40, avenue Halley 59650 Villeneuve d'Ascq
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20171021/dd5cf0f5/attachment-0002.html>


More information about the Pharo-dev mailing list