here insert explanation of what you were doing, suspect changes you've
made and so forth.
7 September 2011 8:24:30 pm
VM: unix - i686 - linux-gnu - Croquet Closure Cog VM [CoInterpreter
VMMaker.oscog-eem.112]
Image: Pharo1.3 [Latest update: #13298]
Socket(Object)>>primitiveFailed:
Receiver: a Socket[invalidSocketHandle]
Arguments and temporary variables:
selector: #primSocketSendDone:
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: #[210 150 108 78 0 0 0 0 24 235 24 8]
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
Socket(Object)>>primitiveFailed
Receiver: a Socket[invalidSocketHandle]
Arguments and temporary variables:
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: #[210 150 108 78 0 0 0 0 24 235 24 8]
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
Socket>>primSocketSendDone:
Receiver: a Socket[invalidSocketHandle]
Arguments and temporary variables:
socketID: #[210 150 108 78 0 0 0 0 24 235 24 8]
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: #[210 150 108 78 0 0 0 0 24 235 24 8]
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
Socket>>waitForSendDoneFor:
Receiver: a Socket[invalidSocketHandle]
Arguments and temporary variables:
timeout: 45
startTime: 16100
msecsDelta: 45000
msecsEllapsed: nil
sendDone: nil
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: #[210 150 108 78 0 0 0 0 24 235 24 8]
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
Socket>>sendSomeData:startIndex:count:for:
Receiver: a Socket[invalidSocketHandle]
Arguments and temporary variables:
aStringOrByteArray: #[72 84 84 80 47 49 46 49 32 51 48 50
32 70 111
117 110 100...etc...
startIndex: 1
count: 211
aTimeoutInSeconds: 45
bytesSent: nil
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: #[210 150 108 78 0 0 0 0 24 235 24 8]
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
Socket>>sendSomeData:startIndex:count:
Receiver: a Socket[invalidSocketHandle]
Arguments and temporary variables:
aStringOrByteArray: #[72 84 84 80 47 49 46 49 32 51 48 50
32 70 111
117 110 100...etc...
startIndex: 1
count: 211
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: #[210 150 108 78 0 0 0 0 24 235 24 8]
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
Socket>>sendData:count:
Receiver: a Socket[invalidSocketHandle]
Arguments and temporary variables:
buffer: #[72 84 84 80 47 49 46 49 32 51 48 50 32 70 111
117 110 100
13 10 68 97...etc...
n: 211
sent: 0
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: #[210 150 108 78 0 0 0 0 24 235 24 8]
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
[socket sendData: outBuffer count: outNextToWrite - 1] in
SocketStream>>flush
Receiver: SocketStream[inbuf:4kb/outbuf:4kb]
Arguments and temporary variables:
Receiver's instance variables:
recentlyRead: 798
socket: a Socket[invalidSocketHandle]
inBuffer: #[71 69 84 32 47 115 116 97 116 117 115 47 87
65 73 109 97
103 101 83...etc...
outBuffer: #[72 84 84 80 47 49 46 49 32 51 48 50 32 70 111
117 110
100 13 10 68...etc...
inNextToWrite: 799
outNextToWrite: 212
lastRead: 798
timeout: 30
autoFlush: false
bufferSize: 4096
binary: true
shouldSignal: true
BlockClosure>>on:do:
Receiver: [socket sendData: outBuffer count: outNextToWrite - 1]
Arguments and temporary variables:
exception: ConnectionTimedOut
handlerAction: [:ex | shouldSignal
ifTrue: []]
handlerActive: true
Receiver's instance variables:
outerContext: SocketStream>>flush
startpc: 60
numArgs: 0
SocketStream>>flush
Receiver: SocketStream[inbuf:4kb/outbuf:4kb]
Arguments and temporary variables:
Receiver's instance variables:
recentlyRead: 798
socket: a Socket[invalidSocketHandle]
inBuffer: #[71 69 84 32 47 115 116 97 116 117 115 47 87
65 73 109 97
103 101 83...etc...
outBuffer: #[72 84 84 80 47 49 46 49 32 51 48 50 32 70 111
117 110
100 13 10 68...etc...
inNextToWrite: 799
outNextToWrite: 212
lastRead: 798
timeout: 30
autoFlush: false
bufferSize: 4096
binary: true
shouldSignal: true
SocketStream>>close
Receiver: SocketStream[inbuf:4kb/outbuf:4kb]
Arguments and temporary variables:
Receiver's instance variables:
recentlyRead: 798
socket: a Socket[invalidSocketHandle]
inBuffer: #[71 69 84 32 47 115 116 97 116 117 115 47 87
65 73 109 97
103 101 83...etc...
outBuffer: #[72 84 84 80 47 49 46 49 32 51 48 50 32 70 111
117 110
100 13 10 68...etc...
inNextToWrite: 799
outNextToWrite: 212
lastRead: 798
timeout: 30
autoFlush: false
bufferSize: 4096
binary: true
shouldSignal: true
[self log debug: 'Closing stream'.
stream close] in [[self executeRequestResponseLoopOn: stream]
ensure: [self log debug: 'Closing stream'.
stream close]] in [[[self executeRequestResponseLoopOn:
stream]
ensure: [self log debug: 'Closing stream'.
stream close]]
ifCurtailed: [self log debug: 'Destroying socket'.
socket destroy]] in
ZnMultiThreadedServer>>serveConnectionsOn:
Receiver: a ZnMultiThreadedServer(running 16624)
Arguments and temporary variables:
stream: SocketStream[inbuf:4kb/outbuf:4kb]
Receiver's instance variables:
port: 16624
process: a Process in [self schedule.
beingWaitedOn
ifTrue: [delaySemaphore ...etc...
serverSocket: a Socket[waitingForConnection]
delegate: a ZnSeasideServerAdaptorDelegate
authenticator: nil
log: a ZnLogSupport
lastRequest: nil
lastResponse: nil
MethodContext(ContextPart)>>resume:
Receiver: BlockClosure>>on:do:
Arguments and temporary variables:
value: a ZnMultiThreadedServer(running 16624)
ctxt: BlockClosure>>ensure:
unwindBlock: [self log debug: 'Closing stream'.
stream close]
Receiver's instance variables:
sender: nil
pc: nil
stackp: 3
method: (BlockClosure>>#on:do: "a
CompiledMethod(137625600)")
closureOrNil: nil
receiver: [chain := thisContext sender cut: ctxt.
ctxt jump]
BlockClosure>>ensure:
Receiver: [self executeRequestResponseLoopOn: stream]
Arguments and temporary variables:
aBlock: [self log debug: 'Closing stream'.
stream close]
complete: true
returnValue: nil
Receiver's instance variables:
outerContext: [[self executeRequestResponseLoopOn: stream]
ensure: [self log ...etc...
startpc: 122
numArgs: 0
[[self executeRequestResponseLoopOn: stream]
ensure: [self log debug: 'Closing stream'.
stream close]] in [[[self executeRequestResponseLoopOn:
stream]
ensure: [self log debug: 'Closing stream'.
stream close]]
ifCurtailed: [self log debug: 'Destroying socket'.
socket destroy]] in
ZnMultiThreadedServer>>serveConnectionsOn:
Receiver: a ZnMultiThreadedServer(running 16624)
Arguments and temporary variables:
stream: SocketStream[inbuf:4kb/outbuf:4kb]
Receiver's instance variables:
port: 16624
process: a Process in [self schedule.
beingWaitedOn
ifTrue: [delaySemaphore ...etc...
serverSocket: a Socket[waitingForConnection]
delegate: a ZnSeasideServerAdaptorDelegate
authenticator: nil
log: a ZnLogSupport
lastRequest: nil
lastResponse: nil
BlockClosure>>ifCurtailed:
Receiver: [[self executeRequestResponseLoopOn: stream]
ensure: [self log debug: 'Closing stream'.
...etc...
Arguments and temporary variables:
aBlock: [self log debug: 'Destroying socket'.
socket destroy]
complete: nil
result: nil
Receiver's instance variables:
outerContext: [[[self executeRequestResponseLoopOn: stream]
ensure: [self log...etc...
startpc: 117
numArgs: 0
[[[self executeRequestResponseLoopOn: stream]
ensure: [self log debug: 'Closing stream'.
stream close]]
ifCurtailed: [self log debug: 'Destroying socket'.
socket destroy]] in
ZnMultiThreadedServer>>serveConnectionsOn:
Receiver: a ZnMultiThreadedServer(running 16624)
Arguments and temporary variables:
stream: SocketStream[inbuf:4kb/outbuf:4kb]
socket: a Socket[invalidSocketHandle]
Receiver's instance variables:
port: 16624
process: a Process in [self schedule.
beingWaitedOn
ifTrue: [delaySemaphore ...etc...
serverSocket: a Socket[waitingForConnection]
delegate: a ZnSeasideServerAdaptorDelegate
authenticator: nil
log: a ZnLogSupport
lastRequest: nil
lastResponse: nil
[self value.
Processor terminateActive] in BlockClosure>>newProcess
Receiver: [[[self executeRequestResponseLoopOn: stream]
ensure: [self log debug: 'Closing stream'....etc...
Arguments and temporary variables:
Receiver's instance variables:
outerContext: ZnMultiThreadedServer>>serveConnectionsOn:
startpc: 112
numArgs: 0
--- The full stack ---
Socket(Object)>>primitiveFailed:
Socket(Object)>>primitiveFailed
Socket>>primSocketSendDone:
Socket>>waitForSendDoneFor:
Socket>>sendSomeData:startIndex:count:for:
Socket>>sendSomeData:startIndex:count:
Socket>>sendData:count:
[socket sendData: outBuffer count: outNextToWrite - 1] in
SocketStream>>flush
BlockClosure>>on:do:
SocketStream>>flush
SocketStream>>close
[self log debug: 'Closing stream'.
stream close] in [[self executeRequestResponseLoopOn: stream]
ensure: [self log debug: 'Closing stream'.
stream close]] in [[[self executeRequestResponseLoopOn:
stream]
ensure: [self log debug: 'Closing stream'.
stream close]]
ifCurtailed: [self log debug: 'Destroying socket'.
socket destroy]] in
ZnMultiThreadedServer>>serveConnectionsOn:
MethodContext(ContextPart)>>resume:
BlockClosure>>ensure:
[[self executeRequestResponseLoopOn: stream]
ensure: [self log debug: 'Closing stream'.
stream close]] in [[[self executeRequestResponseLoopOn:
stream]
ensure: [self log debug: 'Closing stream'.
stream close]]
ifCurtailed: [self log debug: 'Destroying socket'.
socket destroy]] in
ZnMultiThreadedServer>>serveConnectionsOn:
BlockClosure>>ifCurtailed:
[[[self executeRequestResponseLoopOn: stream]
ensure: [self log debug: 'Closing stream'.
stream close]]
ifCurtailed: [self log debug: 'Destroying socket'.
socket destroy]] in
ZnMultiThreadedServer>>serveConnectionsOn:
[self value.
Processor terminateActive] in BlockClosure>>newProcess