Multiple inheritance?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Multiple inheritance?

Stephan Eggermont-3
I managed to load two classes with the same name, as visible in the class browser.
As they are superclasses of other classes, this creates some problems.
Is this intended behaviour?  I'm not sure I can reproduce it easily, as it involved
a number of failing tries to get monticello packages loaded.

It's on an old appliance version, originally 1.0B11, updated but not recently.

Stephan Eggermont
Reply | Threaded
Open this post in threaded view
|

Re: Multiple inheritance?

Dale Henrichs
Stephan Eggermont wrote:
> I managed to load two classes with the same name, as visible in the class browser.
> As they are superclasses of other classes, this creates some problems.
> Is this intended behaviour?  I'm not sure I can reproduce it easily, as it involved
> a number of failing tries to get monticello packages loaded.
>
> It's on an old appliance version, originally 1.0B11, updated but not recently.
>
> Stephan Eggermont

Stephan,

What you are seeing is the interaction of class versions and OmniBrowser.

With older versions of Monticello/GLASS it was definitely possible to
end up with a class hierarchy in which there were two versions of the
class at the root of a hierarchy with some of the child classes claiming
each version of the root class as it's superclass.

This would typically happen if an error occur while rebuilding the class
structure after the shape of the root class was changed...

OmniBrowser would ask each class for it's superclass (GemStone classes
don't explictly record their subclasses) so that it could build the
hierarchy view and when this bug was triggered you'd see two distinct
copies of the root class...

You can work around the bug by forcing each of the root class children
to be rebuilt and eventually the references to the old class version go
away ... you want to check changes for the Monticello packages involved
in case some methods were dropped on the floor ...

There were a series of bugfixes addressing the problem over time and
last summer I think that I finally nailed the bug for good:)

Dale
Reply | Threaded
Open this post in threaded view
|

Re: Multiple inheritance?

Stephan Eggermont-3
Ok, so nothing to worry about, we'll just give upgrading a bit more priority then.

Thanks,
  Stephan

On 27 aug 2010, at 19:10, Dale Henrichs wrote:

> Stephan Eggermont wrote:
>> I managed to load two classes with the same name, as visible in the class browser.
>> As they are superclasses of other classes, this creates some problems.
>> Is this intended behaviour?  I'm not sure I can reproduce it easily, as it involved
>> a number of failing tries to get monticello packages loaded. It's on an old appliance version, originally 1.0B11, updated but not recently.
>> Stephan Eggermont
>
> Stephan,
>
> What you are seeing is the interaction of class versions and OmniBrowser.
>
> With older versions of Monticello/GLASS it was definitely possible to end up with a class hierarchy in which there were two versions of the class at the root of a hierarchy with some of the child classes claiming each version of the root class as it's superclass.
>
> This would typically happen if an error occur while rebuilding the class structure after the shape of the root class was changed...
>
> OmniBrowser would ask each class for it's superclass (GemStone classes don't explictly record their subclasses) so that it could build the hierarchy view and when this bug was triggered you'd see two distinct copies of the root class...
>
> You can work around the bug by forcing each of the root class children to be rebuilt and eventually the references to the old class version go away ... you want to check changes for the Monticello packages involved in case some methods were dropped on the floor ...
>
> There were a series of bugfixes addressing the problem over time and last summer I think that I finally nailed the bug for good:)
>
> Dale
>