Magma....
Avi Bryant
avi at beta4.com
Sat Jul 3 06:51:31 UTC 2004
On Jul 2, 2004, at 9:55 PM, Ramiro Diaz Trepat wrote:
> Please guys, this must have happened to someone using Magma.
> I am using the 3.7 image and the latest available Magma.
I suspect that the reason you're not getting answers isn't that nobody
else has experienced the problem, but rather that nobody (except Chris)
knows what the solution might be, because they're all in the same boat
as you. Certainly, my experience with Magma was similar to yours: I
was excited by the idea of a pure-Squeak OODB, but ran into errors I
didn't understand right off the bat, and ended up going for the easy
solution of finishing my GOODS client work rather than diving into the
large and frankly daunting Magma codebase. I fear that this is a
chicken and egg problem: Magma desperately needs a few users to pound
on it and submit detailed bug reports and patches and get it ready for
production use, but won't get those users until it's ready for
production use. It's a problem with the particular domain, I think:
nobody wants to risk their data to what's very clearly a work in
progress, whereas they have no problem using 80% solutions for
development tools, web servers and the like. The end result is, I
believe, that many people have tried Magma but essentially nobody uses
it. I could be wrong, and if so, I'd be very interested to hear about
people's experiences with serious Magma use.
Because of this 80% solution effect, I believe that using the GOODS
client may actually be a more effective way to end up with a solid
pure-Squeak OODB solution, because it lets us tackle each half of the
problem separately: once we have a really good client done, we can
start to reimplement the GOODS server in Squeak, meanwhile falling back
on the C++ server for the cases where we need the reliability.
Anyway, in case it helps, what I can tell from your stack trace is
this: for some reason, Magma is trying to #become: one of its proxy
objects into a SmallInteger, which you can't do (since SmallIntegers
are tagged and not full objects). The problem likely lies in whatever
code created the proxy in the first place (ie, the unserialization
code) - you shouldn't be wrapping small ints in proxies. But that's
just a guess. When you say your Address object has "street and
number", is number a string or an integer?
Avi
More information about the Squeak-dev
mailing list
|