VM crash in primitive 230. PLEASE HELP

Trygve Reenskaug trygver at ifi.uio.no
Wed Jan 2 10:43:35 UTC 2008


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

In the hope of enlightenment,
--Trygve

=================================================

Details:

WinXP SP version 5.1 (SP2)
Squeak 3.10.6 (release) from Aug 30 2007.
Compiler: gcc 2.95.2.1999 1024 (release)
Image: Squeak3.10.gamma.7159 out of the box (Same problem with earlier 
versions of Squeak)

I have trouble with Universes and MC when accessing over the net. Some 
operations work OK, other operation cause a crash with byte code 224, 
primitive index 230.

I have traced the problem from the Squeak end, and added a halt in 
Socket>>sendSomeData:startIndex:count:

I have done two experiments, both of them consistently reproducible:

EXPERIMENT 1 is the command: <UniverseEditor::update package list>. This 
command always works  OK.
State at the halt:
Socket::socketHandle = a ByteArray(40 246 36 0 0 0 0 0 8 212 10 0) 
"Different in different executions"
aStringOrByteArray = '...selectserver...development...protocolversion....
(0 0 0 2 0 0 0 12 115 101 108 101 99 116 115 101 114 118 101 114 0 0 0 
11 100 101 118 101 108 111 112 109 101 110 116 0 0 0 2 0 0 0 15 112 114 
111 116 111 99 111 108 118 101 114 115 105 111 110 0 0 0 1 49 0 0 0 1 0 
0 0 15 114 101 113 117 101 115 116 112 97 99 107 97 103 101 115)

EXPERIMENT 2 is to doIt this code:
(SocketStream openConnectionToHostNamed: 'www.squeak.org' port: 80) 
nextPutAll: 'GET / HTTP/1.0'; crlf; crlf; flush.
This always results in a crash in primitive index 230
State at the halt, just before the crash:
Socket::socketHandle = a ByteArray(18 23 95 5 0 0 0 0 8 211 10 0)  
"Different at different executions"
aStringOrByteArray = 'GET / HTTP/1.0....
(71 69 84 32 47 32 72 84 84 80 47 49 46 48 13 10 13 10)

(The same happens with <UniverseBrowser::update list from network>, but 
I gave up on tracing its code)

Many thanks for reading this far, and a great many more if you help me
--Trygve

-- 

Trygve Reenskaug      mailto: trygver at ifi.uio.no
Morgedalsvn. 5A       http://folk.uio.no/trygver
N-0378 Oslo           Tel: (+47) 22 49 57 27
Norway 
 




More information about the Squeak-dev mailing list