On Sat, Oct 21, 2017 at 6:23 PM, Peter Uhnák <[email protected]> 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
