Magma1.0-cmm.4 (was: Double the size)

Brian Murphy-Dye brian at abq.csl.sri.com
Tue Feb 28 05:13:10 UTC 2006


Chris,

Thanks for the speedy response!

I have a new problem, surely due to some less-than-bight act on my  
part. I am using Cees' Kilauea magma-server image download, and have  
Magma 1.0 loaded in my working image.

I wasn't able to load Magma-seaside-mmb.2.mcz, so I'm creating the  
session on my own in the #initialize method of the top component,  
beginning a transaction right off the bat, and doing a 'session  
commit; begin' when the user clicks 'Save'. So I'm always in an open  
transaction -- the last of which never gets closed. I'm sure this  
isn't the right way to do this, but couldn't think of a better way.  
I've added data to the repository using this method all day, but  
still guess this may have something to do with my problem. Just  
before things went south, I had been breaking, er, modifying my  
Seaside components, and had started quite a few new sessions.

Now upon startup, the server produces an 'Error: a primitive has  
failed' error while (I think) reading a MaHashIndexRecord. Looking at  
http://localhost:21000/, all the repositories are shutting down. I've  
tried abandoning, and doing 'MagmaSession cleanUp', and then saving  
as a new version, but get an error (in  
MagmaCollectionManager>>collectionOid, respository session is nil).

Any ideas on getting going again? I really only have one repository I  
care about, and don't need the MagmaCollection, as I can recreate it  
from the other data in the repository.

Brian.

P.S. I had joined the mailing list, but sent from the wrong account  
(not the first time I've made that mistake :)


On Feb 23, 2006, at 11:45 PM, Chris Muller wrote:

> Hm, you definitely found a bug.  Enumerating a
> non-persistent MagmaCollection (as opposed to a
> Reader) is very rare, so I'm not surprised no one
> noticed this.
>
> I have now posted Magma1.0-cmm.4 on SqueakSource which
> fixes this bug.  A quick fix, but the test cases
> passed.
>
> Thank you, Brian, for pointing it out and also for
> providing such an easy way to reproduce it.  Easily
> reproduced = easily fixed!
>
>  - Chris
>
> PS - Your e-mail was rejected by the list, I had to
> manually approve it.  I hope you will join us on the
> Magma list.
>
>
> --- Brian Murphy-Dye <brian.murphy-dye at sri.com> wrote:
>
>> The following code snippet shows a size of 10, but
>> #do: processes
>> those 10 items twice. Any ideas what I'm doing
>> wrong?
>>
>> m := MagmaCollection new.
>> 1 to: 10 do: [:each | m add: each].
>> Transcript show: String cr, 'size: ', m size
>> asString, String cr.
>> m do: [:each | Transcript show: each asString,
>> String cr].
>>
>> Brian.
>>
>>
>
>




More information about the Magma mailing list