MessageNotUnderstood: MaMalformedRequestError>>repositoryController:

Chris Muller asqueaker at gmail.com
Wed Dec 12 04:06:16 UTC 2007


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

On Dec 11, 2007 4:41 PM, Hilaire Fernandes <hilaire at ofset.org> wrote:
> I have to add this error came when I move from local use of Magma to
> remote use. The error does not appear when Magma is used in local mode.
> And it does not occurs with all persisted object. I suspect this problem
> is here since several months as I was only using Magma in local mode for
> developemnt purpose. I am really stuck, the error message in the server
> is not helpful, only class-definition not found
>
> Hilaire
>
>
> Hilaire Fernandes a écrit :
> > With r40, on the server side, I have this error, which I don't
> > understand (error log enclosed)
> >
> > Hilaire
> >
> >
> >
> > ------------------------------------------------------------------------
> >
> > MessageNotUnderstood: MaMalformedRequestError>>repositoryController:
> > 11 December 2007 6:11:32 pm
> >
> > VM: unix - a SmalltalkImage
> > Image: Squeak3.9 [latest update: #7067]
> >
> > SecurityManager state:
> > Restricted: false
> > FileAccess: true
> > SocketAccess: true
> > Working Dir /home/hilaire/iStoa
> > Trusted Dir /home/hilaire/iStoa/secure
> > Untrusted Dir /home/hilaire/iStoa/My Squeak
> >
> > MaMalformedRequestError(Object)>>doesNotUnderstand: #repositoryController:
> >       Receiver: MaMalformedRequestError: class-definition not found
> >       Arguments and temporary variables:
> >               t1:     repositoryController: a MagmaRepositoryController
> >       Receiver's instance variables:
> >               messageText:    'class-definition not found'
> >               tag:    nil
> >               signalContext:  nil
> >               handlerContext:         nil
> >               outerContext:   nil
> >
> > MagmaRepositoryController>>processRequest:
> >       Receiver: a MagmaRepositoryController
> >       Arguments and temporary variables:
> >               t1:     MaMalformedRequestError: class-definition not found
> >               t2:     nil
> >       Receiver's instance variables:
> >               repository:     a MaObjectRepository
> >               session:        a MagmaSession
> >               serverSerializer:       a MaObjectSerializer
> >               requestInterruptGuard:  a Monitor
> >               localLocation:  /home/hilaire/iStoa/Magma
> >               preferences:    a MagmaServerPreferences
> >
> > [] in MagmaServerConsole>>processOn: {[:t2 | controller processRequest: t2]}
> >       Arguments and temporary variables:
> >               t1:     4040
> >               t2:     MaMalformedRequestError: class-definition not found
> >
> > [] in MaTcpRequestServer(MaRequestServer)>>processRequest: {[processor value: t1]}
> >       Arguments and temporary variables:
> >               t1:     MaMalformedRequestError: class-definition not found
> >               t2:     nil
> >               t3:     nil
> >
> >
> > --- The full stack ---
> > MaMalformedRequestError(Object)>>doesNotUnderstand: #repositoryController:
> > MagmaRepositoryController>>processRequest:
> > [] in MagmaServerConsole>>processOn: {[:t2 | controller processRequest: t2]}
> > [] in MaTcpRequestServer(MaRequestServer)>>processRequest: {[processor value: t1]}
> >  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> > BlockContext>>on:do:
> > MaTcpRequestServer(MaRequestServer)>>processRequest:
> > MaTcpRequestServer>>processRequestByteArray:
> > [] in MaServerSocket>>initialize {[:t1 | server processRequestByteArray: t1]}
> > MaServerSocket>>processRequest:
> > [] in MaServerSocket>>startProcessingRequests {[[running   or: [requestQueue notEmpty]]   whileTrue: [self processRequest: ...]}
> > [] in BlockContext>>newProcess {[self value.  Processor terminateActive]}
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Magma mailing list
> > Magma at lists.squeakfoundation.org
> > http://lists.squeakfoundation.org/mailman/listinfo/magma
>
> _______________________________________________
> Magma mailing list
> Magma at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/magma
>


More information about the Magma mailing list