Magma counseling

Ramiro Diaz Trepat ramiro at novamens.com
Fri Jul 2 03:46:18 UTC 2004


Hello... where is the usual crowd of this list?
I am attaching the "primitive failed" bug that I get, just in case it 
rings a bell to anyone.
bye bye

r.

Ramiro Diaz Trepat wrote:

> Thank you very much guys.
> Marco, I know GOODS is an excellent oodb, it's been used in my company 
> with great success (in a C++ comertial project). 
> Since I am coding squeak mostly for fun, I wanted to try the *pure* 
> squeak way, and hence I wanted to give Magma a fair chance.  Besides,  
> I have an "irrational" belief in it (by now at least), and respect for 
> the impressive undertaking that Chris Müller faced.  So before I give 
> up on it, I want to test it more thoroughly and hear more oppinons of 
> people using it, there must be more out there...
>
> So... another important question: 
> Does Magma support bidirectional relations?
> I have a very simple situation where it all hangs.  Is a very simple 
> line, that commits a class which holds a collection of elements that 
> also have a reference to the main class.  Its so simple that I can't 
> find any other explanation.
> Thanks again.
>
>
> r.

-------------- next part --------------
Error: a primitive has failed
2 July 2004 12:41:19 am

VM: Win32 - a SmalltalkImage
Image: Squeak3.7beta [latest update: #5967]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir D:\Squeak\3.6
Trusted Dir D:\Squeak\3.6\Ramiro Diaz Trepat
Untrusted Dir C:\My Squeak\Ramiro Diaz Trepat

Array(Object)>>error:
	Receiver: <<error during printing>>
	Arguments and temporary variables: 
		aString: 	'a primitive has failed'
	Receiver's instance variables: 
<<error during printing>>
Array(Object)>>primitiveFailed
	Receiver: <<error during printing>>
	Arguments and temporary variables: 

	Receiver's instance variables: 
<<error during printing>>
Array>>elementsForwardIdentityTo:copyHash:
	Receiver: <<error during printing>>
	Arguments and temporary variables: 
		otherArray: 	#(an OrderedCollection(2066649))
		copyHash: 	false
	Receiver's instance variables: 
<<error during printing>>
MaOdbmsProxy(MaMutatingProxy)>>becomeForward:copyHash:
	Receiver: <<error during printing>>
	Arguments and temporary variables: 
		otherObject: 	an OrderedCollection(2066649)
		copyHash: 	false
	Receiver's instance variables: 
<<error during printing>>

--- The full stack ---
Array(Object)>>error:
Array(Object)>>primitiveFailed
Array>>elementsForwardIdentityTo:copyHash:
MaOdbmsProxy(MaMutatingProxy)>>becomeForward:copyHash:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MaObjectSerializer>>newSkeletonFor:fromProxy:
[] in MaObjectSerializer>>materializeGraphDo: {[:foundObj |  foundObj maIsBufferedObjectProxy   ifTrue: [skeletons     add:...]}
[] in MagmaOidManager>>objectWithOid:ifFound:ifAbsent: {[:obj | obj   ifNil: [aBlock value]   ifNotNil: [oneArgBlock value: obj]]}
MaWeakValueDictionary(MaDictionary)>>maAt:ifPresent:ifAbsent:
[] in MagmaOidManager>>objectWithOid:ifFound:ifAbsent: {[(MaOidCalculator isOidForNewObject: anInteger)   ifTrue: [newObjects     ma...]}
MaOidCalculator class>>objectWithOid:ifNone:
MagmaOidManager>>objectWithOid:ifFound:ifAbsent:
MaObjectSerializer>>objectWithOid:ifFound:ifAbsent:
[] in MaObjectSerializer>>materializeGraphDo: {[:each |  object := self     objectWithOid: each oid     ifFound: [:foundObj...]}
[] in MaSerializedGraphBuffer>>buffersDo: {[:eachPosition |  buffer := preMadeBuffers     at: (self bufferTypeAt: eachP...]}
MaSerializedGraphBuffer>>bufferPositionsDo:
MaSerializedGraphBuffer>>buffersDo:
MaObjectSerializer>>materializeGraphDo:
MaObjectSerializer>>materializeGraph:do:
MagmaSession>>materializeObject:
MagmaSession>>realObjectFor:
MaOdbmsProxy>>mutant
MaOdbmsProxy(MaMutatingProxy)>>mutateAndSend:
MaOdbmsProxy(MaMutatingProxy)>>doesNotUnderstand: #size
[] in MagmaClassIdManager>>materializeAllClassDefinitions {[:each | each size]}
[] in Dictionary>>do: {[:assoc | aBlock value: assoc value]}
Dictionary(Set)>>do:
Dictionary>>do:
MagmaClassIdManager>>materializeAllClassDefinitions
MaObjectSerializer>>materializeAllClassDefinitions
MagmaSession>>refreshViewUsing:
MagmaSession>>refresh
MagmaSession>>abort
MagmaRepositoryController>>refreshView
MaObjectRepository>>submitAll:for:beginAnother:
MagmaRepositoryController>>submitAll:for:beginAnother:
MaWriteRequest>>process
[] in MagmaRepositoryController>>processRequest: {[aMaRepositoryRequest process]}
[] in Semaphore>>critical: {[blockValue := mutuallyExcludedBlock value]}
BlockContext>>ensure:
Semaphore>>critical:
MagmaRepositoryController>>requestCritical:
[] in MagmaRepositoryController>>processRequest: {[aMaRepositoryRequest sessionId = self sessionId   ifTrue: [aMaRepositoryReq...]}
BlockContext>>on:do:
MagmaRepositoryController>>processRequest:
[] in MagmaSession class>>repositoryController: {[:eachRequest | aMaRepositoryController processRequest: eachRequest]}
[] in MaLocalRequestServer(MaRequestServer)>>processRequest: {[processBlock value: aMaServerRequest]}
BlockContext>>on:do:
MaLocalRequestServer(MaRequestServer)>>processRequest:
MaLocalServerLink>>submit:
MaRepositoryControllerFacade>>submit:
MaRepositoryControllerFacade>>submitAll:andBegin:
[] in MagmaSession>>commitAndBegin: {[anchor := nil.  facade submitAll: commitPackage andBegin: aBoolean]}
BlockContext>>on:do:
MagmaSession>>commitAndBegin:
MagmaSession>>commit
[] in MagmaSession>>commit: {[result := aBlock value.  self commit]}
BlockContext>>ensure:
MagmaSession>>commit:
...etc...


More information about the Squeak-dev mailing list