[BUG]Can't accept socket connections on Windows?
julian at beta4.com
julian at beta4.com
Mon Aug 18 06:03:49 UTC 2003
I don't seem to be able to accept socket connections in Windows XP.
This using 3.6beta #5395 with the latest 3.5 VM from squeak.org.
I originally tried using KomServices (which required changing a
#waitForAcceptUntil: to #waitForSocketFor:) and then tried using Socket
directly, and then tried ConnectionQueue and all seem to exhibit the
same problem.
The following walkback comes up after executing the following do-it:
socket _ Socket newTCP .
socket listenOn: 5222.
(socket waitForAcceptFor: 30).
socket closeAndDestroy.
It works fine if you don't make a connection within the 30 seconds. But
if you make a connection then you get the following walkback. Anyone
have any ideas? I may well be doing something entirely wrong <shrug>...
Julian
17 August 2003 10:58:28 pm
VM: Win32 - Squeak3.5 of '11 April 2003' [latest update: #5180]
Image: Squeak3.6beta [latest update: #5395]
Socket(Object)>>error:
Receiver: a Socket[destroyed]
Arguments and temporary variables:
aString: 'a primitive has failed'
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: nil
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
primitiveOnlySupportsOneSemaphore: true
Socket(Object)>>primitiveFailed
Receiver: a Socket[destroyed]
Arguments and temporary variables:
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: nil
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
primitiveOnlySupportsOneSemaphore: true
Socket>>primAcceptFrom:receiveBufferSize:sendBufSize:semaIndex:
Receiver: a Socket[destroyed]
Arguments and temporary variables:
aHandle: a ByteArray(1 184 151 28 0 0 0 0 52 234 85 0)
rcvBufSize: 8000
sndBufSize: 8000
semaIndex: 15
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: nil
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
primitiveOnlySupportsOneSemaphore: true
Socket>>primAcceptFrom:receiveBufferSize:sendBufSize:semaIndex:readSemaI
ndex:writeSemaIndex:
Receiver: a Socket[destroyed]
Arguments and temporary variables:
aHandle: a ByteArray(1 184 151 28 0 0 0 0 52 234 85 0)
rcvBufSize: 8000
sndBufSize: 8000
semaIndex: 15
aReadSema: 16
aWriteSema: 17
Receiver's instance variables:
semaphore: a Semaphore()
socketHandle: nil
readSemaphore: a Semaphore()
writeSemaphore: a Semaphore()
primitiveOnlySupportsOneSemaphore: true
--- The full stack ---
Socket(Object)>>error:
Socket(Object)>>primitiveFailed
Socket>>primAcceptFrom:receiveBufferSize:sendBufSize:semaIndex:
Socket>>primAcceptFrom:receiveBufferSize:sendBufSize:semaIndex:readSemaI
ndex:writeSemaIndex:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Socket>>acceptFrom:
[] in Socket class>>acceptFrom:
BlockContext>>repeatWithGCIf:
Socket class>>acceptFrom:
Socket>>accept
Socket>>waitForAcceptFor:
UndefinedObject>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:
[] in TextMorphEditor(ParagraphEditor)>>evaluateSelection
BlockContext>>on:do:
TextMorphEditor(ParagraphEditor)>>evaluateSelection
TextMorphEditor(ParagraphEditor)>>doIt
[] in TextMorphEditor(ParagraphEditor)>>doIt:
TextMorphEditor(Controller)>>terminateAndInitializeAround:
TextMorphEditor(ParagraphEditor)>>doIt:
TextMorphEditor(ParagraphEditor)>>dispatchOnCharacter:with:
TextMorphEditor>>dispatchOnCharacter:with:
TextMorphEditor(ParagraphEditor)>>readKeyboard
TextMorphEditor>>readKeyboard
[] in TextMorphForEditView(TextMorph)>>keyStroke:
TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
TextMorphForEditView>>handleInteraction:fromEvent:
TextMorphForEditView(TextMorph)>>keyStroke:
TextMorphForEditView>>keyStroke:
TextMorphForEditView(TextMorph)>>handleKeystroke:
KeyboardEvent>>sentTo:
TextMorphForEditView(Morph)>>handleEvent:
TextMorphForEditView(Morph)>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendKeyboardEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess
[] in BlockContext>>newProcess
More information about the Squeak-dev
mailing list
|