VM crash in primitive 230. PLEASE HELP

David T. Lewis lewis at mail.msen.com
Wed Jan 2 12:02:00 UTC 2008


On Wed, Jan 02, 2008 at 11:43:35AM +0100, Trygve Reenskaug wrote:
> How does primitive 230 work? It crashes on my PC for certain operations, 
> never on my laptop). There must be something wrong in my WinXP, but where?
> 
> The primitive method is
> Socket>>primSocket: socketID sendData: aStringOrByteArray startIndex: 
> startIndex count: count
>    <primitive: 'primitiveSocketSendDataBufCount' module: 'SocketPlugin'>
>    self primitiveFailed

This is not primitive 230; it is a named primitive that is invoked
through a different mechanism. I'm assuming that "crash" means that
your squeak.exe is crashing, as opposed to something hanging up in
the image. If so, it's crashing somewhere in the SocketPlugin. If
you don't have this in your image already, you may want to install
VMMaker and look at the SocketPlugin class just to get an idea of
what's going on.

This is a complete wild guess, but a crash like you describe may
be associated with passing some invalid parameters to the primitive,
which may or may not have adequate validity checks. I would suggest
stepping through your EXPERIMENT 2 doIt in a debugger, and have a look
at the parameters being passed to primSocket:sendData:startIndex:count:
method immediately before the crash. This may give a clue as to
the source of the problem.

FWIW I tried your EXPERIMENT 2 on an image running on Linux with
no problems, so I can't directly reproduce the problem you are
seeing.

Dave




More information about the Squeak-dev mailing list