MessageNotUnderstood: MaMalformedRequestError>>repositoryController:

Hilaire Fernandes hilaire at ofset.org
Wed Dec 12 11:26:28 UTC 2007


Thanks for your advices, it is helpful.

In this place of the application I am not using read strategy.
In other place of the application where I am suing read strategy I don't
have the problem, so may be it is a problem underneath.

In the Magma client I only have the modification to
StrikeFont>>maAsStorageObject so TextMorph are persisted correctly. I
apply this change both to client and server : 

StrikeFont>>maAsStorageObject
^ DiskProxy
   global: #StrikeFont selector: #familyName:pointSize:emphasized:
   args: { self familyName.  self pointSize.  self emphasis }


Chris, I went until the MaTcp...>>submit: method, but I don't really
understand where to look. 

From the MaCommitPackage, the MagmaCollectionChanges looks like:

collectionOid: 	4112481
changes: 	a Dictionary(#added->an IdentityDictionary(66543->an
OrderedCollection(#(250776336) #(0) #(10625597) an IFILevelCollection()
#(1)) ) #removed->an IdentityDictionary() )
isNewCollection: false
collection: 	a MagmaCollection 


The problem happens when I add an object to a MagmaCollection

IFIDbSession commit: [pedagogicalMoments add: moment]

In this commit, TextMorph persitency occurs.
I repeat this code is working when Magma is in local mode.


In the client, MagmaRepositoryController basicNew protocol
returns, where only IFICompetencyCollection is new (the server has the
same protocol size):

 {LargePositiveInteger . MaSerializedGraphBuffer . MaByteObjectBuffer .
MaVariableWordBuffer . MaVariableObjectBuffer . MaFixedObjectBuffer .
MaStorageObjectBuffer . MaVariableBuffer .
MaLargeCollectionSegmentRequest . MaLoadProgressRequest .
MaRefreshSegmentRequest . MaDownloadCodeRequest .
MaLoadFromReaderRequest . MaReaderTrunkRequest .
MaAbortTransactionRequest . MaRepositoryConnectionRequest .
MaWriteRequest . MagmaPathNameRequest . MaCloseRepositoryRequest .
MaLargeCollectionSizeRequest . MaAbstractReadRequest .
MaTransactionRequest . MagmaIdRequest . MaAnchorRequest .
MaReadRequest . MaKeyIntervalInfoRequest . MaSegmentByIndexRequest .
MaRepositoryDisconnectRequest . MaCommitPackage . MaBasicReadStrategy .
MaReadStrategy . MagmaCollectionSegment . MaRefreshViewResult .
MaReadResult . MagmaLargeCollectionSegment . MaCommitResult .
MagmaCollectionReaderSegment . MaFailedCommitResult . MagmaId . UUID .
MaFailedCommitResult . MagmaClientConnection . MagmaCommitConflict .
Fraction . MaClause . MaExpression . MaQueryTrunkClause . MaQueryTrunk .
MagmaSet . IFICompetencyCollection . MagmaCollection .
IdentityDictionary . MagmaIndexDescription . MagmaArrayChanges .
MagmaCollectionChanges . Association . MaChangedKeySpecification .
MaEnvironmentError . MaObjectSerializationUserError .
MaUnreadableRecoveryRecord . MagmaEquivalentObjectNotInCollection .
MagmaSoftwareError . MaNetworkError . MagmaSessionLost .
MagmaEnvironmentError . MaObjectSerializationSecurityViolation .
MaHashIndexUserError . MagmaUserError . MagmaInvalidIndexObject .
MagmaCommitError . MaClientServerUserError . MagmaCorruptionError .
MaSecurityViolation . MagmaGarbageCollectedObject .
MagmaDuplicateObjectInCollection . MaSoftwareError . MaCorruptionError .
MagmaInvalidOid . MaUserError . MaMalformedRequestError .
MaObjectSerializationSoftwareError . MaSpecialCollectionsSoftwareError}

Le mardi 11 décembre 2007 à 23:06 -0500, Chris Muller a écrit :
> Hi Hilaire, a the MalformedRequest error is telling you the server
> received a request from your client that it could not properly
> materialize.  Specifically, it looks like your Magma client has
> attempted to extend the Magma #protocol ("class id not found").  Are
> you running a modified Magma client?
> 
> It does look like the error-handling code incorrectly passes the
> MalformedRequestError Exception AS the request which is, of course, a
> bug.  I will fix that, so that it kick the error back to your client
> as it should.
> 
> But I know you are interested in the cause of the error itself.  When
> you get this error, you should break into your client and look in teh
> debugger at the request it passed to the server.  Look at ALL the
> arguments and find which object whose class is not included in this
> Array:
> 
>   MagmaRepositoryController basicNew protocol
> 
> THAT is the one that is causing the problem.
> 
>  - Chris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Ceci est une partie de message
	=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=
Url : http://lists.squeakfoundation.org/pipermail/magma/attachments/20071212/d58901fe/attachment-0001.pgp


More information about the Magma mailing list