2015-07-06 9:55 GMT+02:00 Matthieu Lacaton <matthieu.laca...@gmail.com>:
> Hello, > > I would just like to report something that happened to me today. > > As I was working on a project, I tried inserting an instance variable to > one of my classes. > Starting from this moment something became very weird. First, some > subclasses were not listed as subclasses anymore, then I realised during > the execution that allocating my new instance variable was actually > modifying another instance variable. > > I tried digging up a bit and I found out that many of my methods were a > complete mess. > When browsing with Nautilus the title of the method was for example: > "addProperty:key:". However the corpse of the method was totally random > with something like that for example: > "ient; > width: 1. > graphic strokeStyle: _strokeStyle" > > So, reportedly, the name of the method was "ient;" ... > > Basically I had many methods where the source code was just random chunks > of other methods. > > The funnier thing is that everything worked perfectly fine during > execution. > > I tried to look at different backup images I had to see when everything > began to go wrong and I realised I had been working with broken source code > for about a week. > What image version did you use? > > So if I understand correctly, I probably messed up with the .changes file > (I don't remembr how but maybe I copied the .image without the .changes or > renamed the .image or i don't know). > And now the compiled code is okay but the source code is lost so > everything is working fine until the system tries to recompile everything ? > > Now my question is : is there a way to fix the issue ? I tried exporting > the package to a .mcz but I had bugs everywhere. I imported the old working > package to an .mcz and tried browsing the differences with the broken one > just to manually get back eveything I changed during this week. But I > couldn't cause there were bugs everytime I tried to browse the changes. > Basically, are all my changes definitely lost or is there a way to get it > back somehow (at least the raw source code) ? > Maybe you can iterator over all methods decompile, and save as new code? Maybe you can open the image without the changes file and try to create a package or file out the package? > > I know that I fucked up and this is my fault but it would have been nice > if something (anything) told me earlier that I did something wrong. I've > been adding / modifying lots of methods and even executing the program for > a week now and absolutely nothing told me that something was wrong until I > tried adding an instance variable. > No, not your fault, this should not happen. The changes file is for "recover if you messed up the image". If the changes file gets corrupted, then this is a serious bug. > > I am in a situation where I actually wrote and "saved" code and now it > seems lost... that's frustrating :( > > Thanks, > > Matthieu >