[Pharo-project] WTF -> instVar called 'behaviors' in first slot
Hi guys. Today we had something really strange with Pharo 2.0. We are serializing FLPackage: Object subclass: #FLPackage instanceVariableNames: 'extensionMethods behaviors mustInitialize preLoadActions postLoadActions additionalObjects' classVariableNames: 'MustInitializeByDefault' poolDictionaries: '' category: 'FuelPackageLoader' That definition, where 'extensionMethods' is before 'behaviors' it works perfect. However, when just switching the oder to: Object subclass: #FLPackage instanceVariableNames: 'behaviors extensionMethods mustInitialize preLoadActions postLoadActions additionalObjects' classVariableNames: 'MustInitializeByDefault' poolDictionaries: '' category: 'FuelPackageLoader' The serialization of PharoCore fails because a problem with a metaclass of HTTPSocket. Any idea what can happen? thanks -- Mariano http://marianopeck.wordpress.com
any direct users of #instVarAt: maybe? On 2012-05-16, at 12:45, Mariano Martinez Peck wrote:
Hi guys. Today we had something really strange with Pharo 2.0. We are serializing FLPackage:
Object subclass: #FLPackage instanceVariableNames: 'extensionMethods behaviors mustInitialize preLoadActions postLoadActions additionalObjects' classVariableNames: 'MustInitializeByDefault' poolDictionaries: '' category: 'FuelPackageLoader'
That definition, where 'extensionMethods' is before 'behaviors' it works perfect. However, when just switching the oder to:
Object subclass: #FLPackage instanceVariableNames: 'behaviors extensionMethods mustInitialize preLoadActions postLoadActions additionalObjects' classVariableNames: 'MustInitializeByDefault' poolDictionaries: '' category: 'FuelPackageLoader'
The serialization of PharoCore fails because a problem with a metaclass of HTTPSocket.
Any idea what can happen?
thanks
-- Mariano http://marianopeck.wordpress.com
On Wed, May 16, 2012 at 1:27 PM, Camillo Bruni <camillobruni@gmail.com>wrote:
any direct users of #instVarAt: maybe?
Yes. FLPackage is serialized by Fuel, so as any other object, Fuel will send #instVarAt: to trace all its instvars. But I guess that should not be a problem.
On 2012-05-16, at 12:45, Mariano Martinez Peck wrote:
Hi guys. Today we had something really strange with Pharo 2.0. We are serializing FLPackage:
Object subclass: #FLPackage instanceVariableNames: 'extensionMethods behaviors mustInitialize preLoadActions postLoadActions additionalObjects' classVariableNames: 'MustInitializeByDefault' poolDictionaries: '' category: 'FuelPackageLoader'
That definition, where 'extensionMethods' is before 'behaviors' it works perfect. However, when just switching the oder to:
Object subclass: #FLPackage instanceVariableNames: 'behaviors extensionMethods mustInitialize preLoadActions postLoadActions additionalObjects' classVariableNames: 'MustInitializeByDefault' poolDictionaries: '' category: 'FuelPackageLoader'
The serialization of PharoCore fails because a problem with a metaclass of HTTPSocket.
Any idea what can happen?
thanks
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com
On Wed, May 16, 2012 at 12:45 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Any idea what can happen?
Have you tried doing a full recompilation of all subclasses? -- Damien Cassou http://damiencassou.seasidehosting.st "Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry
On Wed, May 16, 2012 at 1:50 PM, Damien Cassou <damien.cassou@gmail.com>wrote:
On Wed, May 16, 2012 at 12:45 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Any idea what can happen?
Have you tried doing a full recompilation of all subclasses?
yes, in fact, i even tried doing a Compiler recompileAll. I had the same thought as you hahahaha
-- Damien Cassou http://damiencassou.seasidehosting.st
"Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry
-- Mariano http://marianopeck.wordpress.com
would it not that the classBuilder use a different path and that it sort iv on some ways and not on the other ones.
Hi guys. Today we had something really strange with Pharo 2.0. We are serializing FLPackage:
Object subclass: #FLPackage instanceVariableNames: 'extensionMethods behaviors mustInitialize preLoadActions postLoadActions additionalObjects' classVariableNames: 'MustInitializeByDefault' poolDictionaries: '' category: 'FuelPackageLoader'
That definition, where 'extensionMethods' is before 'behaviors' it works perfect. However, when just switching the oder to:
Object subclass: #FLPackage instanceVariableNames: 'behaviors extensionMethods mustInitialize preLoadActions postLoadActions additionalObjects' classVariableNames: 'MustInitializeByDefault' poolDictionaries: '' category: 'FuelPackageLoader'
The serialization of PharoCore fails because a problem with a metaclass of HTTPSocket.
Any idea what can happen?
thanks
-- Mariano http://marianopeck.wordpress.com
Well, I noticed that there is a bug but I cannot reproduce it. It seems that when adding instVars to already existing classes, the slots are moved (they lost they offset). But it looks like if recompilation is not done or even worst, it is donde but it doesn't help. In my case I was creating the instVars directly from the browser when saving a method that used those yet-unexistinting instVars.. anyway, pay attention if you have a similar problem so that we can track the cause. cheers On Wed, May 16, 2012 at 8:57 PM, Stéphane Ducasse <stephane.ducasse@inria.fr
wrote:
would it not that the classBuilder use a different path and that it sort iv on some ways and not on the other ones.
Hi guys. Today we had something really strange with Pharo 2.0. We are serializing FLPackage:
Object subclass: #FLPackage instanceVariableNames: 'extensionMethods behaviors mustInitialize preLoadActions postLoadActions additionalObjects' classVariableNames: 'MustInitializeByDefault' poolDictionaries: '' category: 'FuelPackageLoader'
That definition, where 'extensionMethods' is before 'behaviors' it works perfect. However, when just switching the oder to:
Object subclass: #FLPackage instanceVariableNames: 'behaviors extensionMethods mustInitialize preLoadActions postLoadActions additionalObjects' classVariableNames: 'MustInitializeByDefault' poolDictionaries: '' category: 'FuelPackageLoader'
The serialization of PharoCore fails because a problem with a metaclass of HTTPSocket.
Any idea what can happen?
thanks
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com
may be a side effect of the layout introduction and the fact that the class builder should be rewritten. Stef On May 17, 2012, at 12:39 PM, Mariano Martinez Peck wrote:
Well, I noticed that there is a bug but I cannot reproduce it. It seems that when adding instVars to already existing classes, the slots are moved (they lost they offset). But it looks like if recompilation is not done or even worst, it is donde but it doesn't help. In my case I was creating the instVars directly from the browser when saving a method that used those yet-unexistinting instVars..
anyway, pay attention if you have a similar problem so that we can track the cause.
cheers
On Wed, May 16, 2012 at 8:57 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote: would it not that the classBuilder use a different path and that it sort iv on some ways and not on the other ones.
Hi guys. Today we had something really strange with Pharo 2.0. We are serializing FLPackage:
Object subclass: #FLPackage instanceVariableNames: 'extensionMethods behaviors mustInitialize preLoadActions postLoadActions additionalObjects' classVariableNames: 'MustInitializeByDefault' poolDictionaries: '' category: 'FuelPackageLoader'
That definition, where 'extensionMethods' is before 'behaviors' it works perfect. However, when just switching the oder to:
Object subclass: #FLPackage instanceVariableNames: 'behaviors extensionMethods mustInitialize preLoadActions postLoadActions additionalObjects' classVariableNames: 'MustInitializeByDefault' poolDictionaries: '' category: 'FuelPackageLoader'
The serialization of PharoCore fails because a problem with a metaclass of HTTPSocket.
Any idea what can happen?
thanks
-- Mariano http://marianopeck.wordpress.com
-- Mariano http://marianopeck.wordpress.com
participants (4)
-
Camillo Bruni -
Damien Cassou -
Mariano Martinez Peck -
Stéphane Ducasse