I can recall seeing a problem similar to this some years ago in VisualAge Smalltalk. VisualAge Smalltalk uses the ENVY version control system (I think very highly of it!). I was able to determine what the developer had done "wrong", so it is possible that something similar exists with Pharo.
 
Specifically, if one browses the differences between the currently loaded edition and another version, one could have an opportunity to load the alternate edition of the class definition itself through the Differences Browser. I found that this failed to recompile the methods, and resulted in methods referring to wrong the wrong instance variable offsets.
 
I know nothing about Pharo, what version control it has, and what change browsing capabilities it has. So, I cannot say that it is the same problem, just that it is a possibility.
 
 
Good luck,
Richard


From: Graham McLeod [mailto:mcleod@iafrica.com]
Sent: June-27-12 1:34 AM
To: Philippe Marschall
Cc: ESUG Mailing list; Andrew P. Black
Subject: Re: [Esug-list] Worrying issue re compilation in Pharo 1.4

Thanks all.
I have not been able to reproduce the problem.
It may have been a unique sequence of actions unlikely to recur.
The new strategy sounds good.

KR
Graham

Philippe Marschall wrote:
On Tue, Jun 26, 2012 at 7:49 PM, Marcus Denker <marcus.denker@inria.fr> wrote:
On Jun 26, 2012, at 7:04 PM, Andrew P. Black wrote:

On 25 Jun 2012, at 08:50 , Graham McLeod wrote:

There still remains the question of how the system allowed the situation to arise in the first place tho..
Indeed: this should never happen.  So, if you can reproduce the problem, you should report it as a bug in the 1.4 bug tracker.

http://code.google.com/p/pharo/issues/list

Yes! As far as I know, there is no bug reported regarding any problems with this... we are, though, completely rewriting this
part of the system for 2.0:
       -> the old system change notifycation mechanism will be replaced with a new system base on Announcements.
       -> the old class builder will be replaced by one based on the work in the context of first class Slots
               (see the OOPSLA Paper of Toon and Camillo: http://scg.unibe.ch/scgbib?query=Verw11b&display=abstract )
       -> instead of recompiling, we will just change the offsets of the iVars on the level of the bytecode intermediate representation
            of the new pharo compiler.

Nice!

Cheers
Philippe

_______________________________________________
Esug-list mailing list
Esug-list@lists.esug.org
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org