On May 3, 2009, at 2:37 AM, Igor Stasenko wrote:
2009/5/3 John M McIntosh <johnmci@smalltalkconsulting.com>:
Beware: there are two issues here, not one.
(a) the faulty remoteString code is ill behaved. Fine that can be fixed or as Igor suggested refactored to oblivion.
IMO this should be done sooner or later. Its a pain to see it. Oh well, too bad, this is not the only thing which requires attention :)
(b) The deeper issue is that we affected how finalization works so that this ill behavior now causes application failure. If in the past it worked, now it doesn't I don't see anyone really having a good answer other than perhaps my guess, and how do we get back to the point were ill behaviour by *my* code won't cause Socket Failures.
I used finalization in my code multiple times. It didn't caused many problems, if you know how to do it right (by taking an implementation into account).
No doubt people have ugly code that is *silently* busted like RemoteString, but they don't know it. And as you saw actually finding the culprit is difficult.
Lastly some people DO use finalization to do resource cleanup on purpose, not as a safety fallback, so they will be impacted I think by the new Pharo behaviour.
It looks like i missed this part. Where i can read details about what is altered in finalization, which could break things?
In this thread or the one related john mentioned it.
Wasn't finalization tagged as bloated and need fixing? Igor I'm sure suggested a few things before the flurry of code for optimizing semaphores and process switching?
Yes, i proposed a little change to VM (just a couple lines of code in single method + registering additional special object) which would allow us more direct finalization. It not makes weak refs to be a full pledged ephemerons, but much easier to adopt in VM. And besides you wont find any finalization code in squeak which relies on ephemeron's special behavior -- reference 'value' slot weakly, only when reference in 'key' slot is dies.
http://www.nabble.com/An-idea-about-better-finalization-support-td23186805.h...
On 2-May-09, at 1:52 PM, Stéphane Ducasse wrote:
-- Best regards, Igor Stasenko AKA sig.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project