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
|