This is my code :-
startAnnouncing
        process notNil ifTrue: [ ^ self ].
        process := [
                [ [ [ self announceNextCommand ]
                        on: ConnectionTimedOut
                        do: [ :e | ] ] repeat ]
                                on: Error
                                do: [ :e | self logger error: 'Error in 
startAnnouncing e --> ', e
greaseString.
                                                self error: e.
                                                e return
                                ].
                ] forkAt: Processor highIOPriority named: 'Juliet Stomp 
Announcer'

How can I make this safer, or make it in such a way that the image
doesn't crash?

Also is the image destroyed now? Is there a way to start it and bypass
this code? Thanks for looking into this.

On Fri, Sep 9, 2011 at 14:55, Igor Stasenko <[email protected]> wrote:
> On 9 September 2011 20:43, John Toohey <[email protected]> wrote:
>> This happened after a VM crash, when I try to restart I get this in
>> the log. Isn't the error caused by the isEmptyOrNil primitive? Is
>> there anyway for me to access the image now?
>>
>
> an error caused by a primitive failure with invalid socket:
>
> SocketStream>>receiveData
>>>        Receiver: SocketStream[inbuf:4kb/outbuf:4kb]
>>>        Arguments and temporary variables:
>>>
>>>        Receiver's instance variables:
>>>                recentlyRead:   716
>>>                socket:         a Socket[invalidSocketHandle]
>>>                inBuffer:       'CONNECTED
>>> session:ID:John-Tooheys-MacBook-Pro.local-56368-1315585750...etc...
>>>                outBuffer:      'SUBSCRIBE
>>> destination: /topic/parspro-core.juliet-core-events
>
>
> looks like your image was saved with socket being open and upon
> restart it tries to read data from it.
> This , of course , causing failure and leads to error signaled.
>
> If you want to track down the error, there is an option in system settings:
> 'Make a snapshot of new version before quit
> On unhandled exception, save a new version of image before quit'
> in 'Headless mode' group.
>
>> On Fri, Sep 9, 2011 at 14:38, Igor Stasenko <[email protected]> wrote:
>>> On 9 September 2011 20:31, John Toohey <[email protected]> wrote:
>>>> I am experiencing a lot of random crashes with this VM on OSX 10.6. It
>>>> just crashed again, and this time I cannot get it to restart. It seems
>>>> to be crashing in a socket receive class. The stack trace is here :-
>>>>
>>>
>>> This is not a crash, it just quits to OS due to error at startup.
>>> To avoid imminent leave to OS, put an error handler around your startup code
>>> (i guess it is in CoreMQStompConnection somewhere?).
>>>
>>>
>>>
>>>> THERE_BE_DRAGONS_HERE
>>>> MessageNotUnderstood: PrimitiveFailed>>isEmptyOrNil
>>>> 9 September 2011 2:28:41 pm
>>>>
>>>> VM: Mac OS - intel - 1067 - Croquet Closure Cog VM [CoInterpreter
>>>> VMMaker-oscog-IgorStasenko.123] 21.0
>>>> Image: Pharo1.3 [Latest update: #13298]
>>>>
>>>> PrimitiveFailed(Object)>>doesNotUnderstand: #isEmptyOrNil
>>>>        Receiver: PrimitiveFailed: primitive 
>>>> #primSocketReceiveDataAvailable:
>>>> in a Socket[invalidSocketHandl...etc...
>>>>        Arguments and temporary variables:
>>>>                t1:     isEmptyOrNil
>>>>                t2:     MessageNotUnderstood: PrimitiveFailed>>isEmptyOrNil
>>>>                t3:     nil
>>>>        Receiver's instance variables:
>>>>                messageText:    'primitive #primSocketReceiveDataAvailable: 
>>>> in a
>>>> Socket[invalidSoc...etc...
>>>>                tag:    nil
>>>>                signaler:       a Socket[invalidSocketHandle]
>>>>                signalContext:  PrimitiveFailed(Exception)>>signal
>>>>                handlerContext:         BlockClosure>>on:do:
>>>>                outerContext:   nil
>>>>                selector:       #primSocketReceiveDataAvailable:
>>>>
>>>>
>>>> [:t1 |
>>>> | t2 |
>>>> t1 << self class name.
>>>>        (t2 := self messageText) isEmptyOrNil
>>>>                ifFalse: [t1 << ': ' << t2]] in 
>>>> Error(Exception)>>description
>>>>        Receiver: <<error during printing>>
>>>>        Arguments and temporary variables:
>>>>                t1:     a WriteStream 'Error'
>>>>                t2:     PrimitiveFailed: primitive 
>>>> #primSocketReceiveDataAvailable: in
>>>> a Socket[inv...etc...
>>>>        Receiver's instance variables:
>>>>                messageText:    PrimitiveFailed: primitive
>>>> #primSocketReceiveDataAvailable: in a S...etc...
>>>>                tag:    nil
>>>>                signaler:       a CoreMQStompConnection connectResponse: 
>>>> CONNECTED
>>>> session: ID:John-T...etc...
>>>>                signalContext:  Error(Exception)>>signal
>>>>                handlerContext:         nil
>>>>                outerContext:   nil
>>>>
>>>>
>>>> String class(SequenceableCollection class)>>new:streamContents:
>>>>        Receiver: String
>>>>        Arguments and temporary variables:
>>>>                t1:     100
>>>>                t2:     [:t1 |
>>>> | t2 |
>>>> t1 << self class name.
>>>>        (t2 := self messageText) isEmptyOrNi...etc...
>>>>                t3:     a WriteStream 'Error'
>>>>        Receiver's instance variables:
>>>>                superclass:     ArrayedCollection
>>>>                methodDict:     a MethodDictionary(size 303)
>>>>                format:         2
>>>>                instanceVariables:      nil
>>>>                organization:   ('*Compiler-Kernel' 
>>>> inviolateInstanceVariableNames
>>>> isLegalInstVar...etc...
>>>>                subclasses:     {ByteString. WideString. Symbol}
>>>>                name:   #String
>>>>                classPool:      a Dictionary(#AsciiOrder->#[0 1 2 3 4 5 6 7 
>>>> 8 9 10 11 12
>>>> 13 14 15 16...etc...
>>>>                sharedPools:    nil
>>>>                environment:    a SystemDictionary(lots of globals)
>>>>                category:       #'Collections-Strings'
>>>>                traitComposition:       {}
>>>>                localSelectors:         nil
>>>>
>>>>
>>>> String class(SequenceableCollection class)>>streamContents:
>>>>        Receiver: String
>>>>        Arguments and temporary variables:
>>>>                t1:     [:t1 |
>>>> | t2 |
>>>> t1 << self class name.
>>>>        (t2 := self messageText) isEmptyOrNi...etc...
>>>>        Receiver's instance variables:
>>>>                superclass:     ArrayedCollection
>>>>                methodDict:     a MethodDictionary(size 303)
>>>>                format:         2
>>>>                instanceVariables:      nil
>>>>                organization:   ('*Compiler-Kernel' 
>>>> inviolateInstanceVariableNames
>>>> isLegalInstVar...etc...
>>>>                subclasses:     {ByteString. WideString. Symbol}
>>>>                name:   #String
>>>>                classPool:      a Dictionary(#AsciiOrder->#[0 1 2 3 4 5 6 7 
>>>> 8 9 10 11 12
>>>> 13 14 15 16...etc...
>>>>                sharedPools:    nil
>>>>                environment:    a SystemDictionary(lots of globals)
>>>>                category:       #'Collections-Strings'
>>>>                traitComposition:       {}
>>>>                localSelectors:         nil
>>>>
>>>>
>>>> Error(Exception)>>description
>>>>        Receiver: <<error during printing>>
>>>>        Arguments and temporary variables:
>>>>
>>>>        Receiver's instance variables:
>>>>                messageText:    PrimitiveFailed: primitive
>>>> #primSocketReceiveDataAvailable: in a S...etc...
>>>>                tag:    nil
>>>>                signaler:       a CoreMQStompConnection connectResponse: 
>>>> CONNECTED
>>>> session: ID:John-T...etc...
>>>>                signalContext:  Error(Exception)>>signal
>>>>                handlerContext:         nil
>>>>                outerContext:   nil
>>>>
>>>>
>>>> StartupUIManager(NonInteractiveUIManager)>>unhandledErrorDefaultAction:
>>>>        Receiver: a StartupUIManager
>>>>        Arguments and temporary variables:
>>>> <<error during printing>
>>>>        Receiver's instance variables:
>>>>                uiManager:      a MorphicUIManager
>>>>                doNotQuitOnRestart:     false
>>>>
>>>>
>>>> UnhandledError>>defaultAction
>>>>        Receiver: UnhandledError
>>>>        Arguments and temporary variables:
>>>>
>>>>        Receiver's instance variables:
>>>>                messageText:    nil
>>>>                tag:    nil
>>>>                signaler:       <<error during printing>>
>>>>
>>>> UndefinedObject>>handleSignal:
>>>>        Receiver: nil
>>>>        Arguments and temporary variables:
>>>>                t1:     UnhandledError
>>>>        Receiver's instance variables:
>>>> nil
>>>>
>>>> MethodContext(ContextPart)>>handleSignal:
>>>>        Receiver: BlockClosure>>on:do:
>>>>        Arguments and temporary variables:
>>>>                t1:     UnhandledError
>>>>                t2:     nil
>>>>        Receiver's instance variables:
>>>>                sender:         [[[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1 | nil...etc...
>>>>                pc:     17
>>>>                stackp:         3
>>>>                method:         (BlockClosure>>#on:do: "a 
>>>> CompiledMethod(137625600)")
>>>>                closureOrNil:   nil
>>>>                receiver:       [[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1 | ni...etc...
>>>>
>>>>
>>>> MethodContext(ContextPart)>>handleSignal:
>>>>        Receiver: BlockClosure>>on:do:
>>>>        Arguments and temporary variables:
>>>>                t1:     UnhandledError
>>>>                t2:     nil
>>>>        Receiver's instance variables:
>>>>                sender:         [[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1 | nil]...etc...
>>>>                pc:     17
>>>>                stackp:         3
>>>>                method:         (BlockClosure>>#on:do: "a 
>>>> CompiledMethod(137625600)")
>>>>                closureOrNil:   nil
>>>>                receiver:       [self announceNextCommand]
>>>>
>>>>
>>>> UnhandledError(Exception)>>signal
>>>>        Receiver: UnhandledError
>>>>        Arguments and temporary variables:
>>>>
>>>>        Receiver's instance variables:
>>>>                messageText:    nil
>>>>                tag:    nil
>>>>                signaler:       <<error during printing>>
>>>>
>>>> UnhandledError class>>signalForException:
>>>>        Receiver: UnhandledError
>>>>        Arguments and temporary variables:
>>>> <<error during printing>
>>>>        Receiver's instance variables:
>>>>                superclass:     Exception
>>>>                methodDict:     a
>>>> MethodDictionary(#defaultAction->(UnhandledError>>#defaultAction
>>>> ...etc...
>>>>                format:         144
>>>>                instanceVariables:      #('exception')
>>>>                organization:   ('*UIManager' defaultAction)
>>>> ('as yet unclassified' exception exc...etc...
>>>>                subclasses:     nil
>>>>                name:   #UnhandledError
>>>>                classPool:      nil
>>>>                sharedPools:    nil
>>>>                environment:    a SystemDictionary(lots of globals)
>>>>                category:       #'Kernel-Exceptions'
>>>>                traitComposition:       nil
>>>>                localSelectors:         nil
>>>>
>>>>
>>>> Error>>defaultAction
>>>>        Receiver: <<error during printing>>
>>>>        Arguments and temporary variables:
>>>>
>>>>        Receiver's instance variables:
>>>>                messageText:    PrimitiveFailed: primitive
>>>> #primSocketReceiveDataAvailable: in a S...etc...
>>>>                tag:    nil
>>>>                signaler:       a CoreMQStompConnection connectResponse: 
>>>> CONNECTED
>>>> session: ID:John-T...etc...
>>>>                signalContext:  Error(Exception)>>signal
>>>>                handlerContext:         nil
>>>>                outerContext:   nil
>>>>
>>>>
>>>> UndefinedObject>>handleSignal:
>>>>        Receiver: nil
>>>>        Arguments and temporary variables:
>>>> <<error during printing>
>>>>        Receiver's instance variables:
>>>> nil
>>>>
>>>> MethodContext(ContextPart)>>handleSignal:
>>>>        Receiver: BlockClosure>>on:do:
>>>>        Arguments and temporary variables:
>>>> <<error during printing>
>>>>        Receiver's instance variables:
>>>>                sender:         [[[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1 | nil...etc...
>>>>                pc:     17
>>>>                stackp:         3
>>>>                method:         (BlockClosure>>#on:do: "a 
>>>> CompiledMethod(137625600)")
>>>>                closureOrNil:   nil
>>>>                receiver:       [[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1 | ni...etc...
>>>>
>>>>
>>>> MethodContext(ContextPart)>>handleSignal:
>>>>        Receiver: BlockClosure>>on:do:
>>>>        Arguments and temporary variables:
>>>> <<error during printing>
>>>>        Receiver's instance variables:
>>>>                sender:         [[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1 | nil]...etc...
>>>>                pc:     17
>>>>                stackp:         3
>>>>                method:         (BlockClosure>>#on:do: "a 
>>>> CompiledMethod(137625600)")
>>>>                closureOrNil:   nil
>>>>                receiver:       [self announceNextCommand]
>>>>
>>>>
>>>> Error(Exception)>>signal
>>>>        Receiver: <<error during printing>>
>>>>        Arguments and temporary variables:
>>>>
>>>>        Receiver's instance variables:
>>>>                messageText:    PrimitiveFailed: primitive
>>>> #primSocketReceiveDataAvailable: in a S...etc...
>>>>                tag:    nil
>>>>                signaler:       a CoreMQStompConnection connectResponse: 
>>>> CONNECTED
>>>> session: ID:John-T...etc...
>>>>                signalContext:  Error(Exception)>>signal
>>>>                handlerContext:         nil
>>>>                outerContext:   nil
>>>>
>>>>
>>>> Error(Exception)>>signal:
>>>>        Receiver: <<error during printing>>
>>>>        Arguments and temporary variables:
>>>>                t1:     PrimitiveFailed: primitive 
>>>> #primSocketReceiveDataAvailable: in
>>>> a Socket[inv...etc...
>>>>        Receiver's instance variables:
>>>>                messageText:    PrimitiveFailed: primitive
>>>> #primSocketReceiveDataAvailable: in a S...etc...
>>>>                tag:    nil
>>>>                signaler:       a CoreMQStompConnection connectResponse: 
>>>> CONNECTED
>>>> session: ID:John-T...etc...
>>>>                signalContext:  Error(Exception)>>signal
>>>>                handlerContext:         nil
>>>>                outerContext:   nil
>>>>
>>>>
>>>> CoreMQStompConnection(Object)>>error:
>>>>        Receiver: a CoreMQStompConnection connectResponse: CONNECTED
>>>> session: ID:John-Tooheys-MacBook-Pro.lo...etc...
>>>>        Arguments and temporary variables:
>>>>                t1:     PrimitiveFailed: primitive 
>>>> #primSocketReceiveDataAvailable: in
>>>> a Socket[inv...etc...
>>>>        Receiver's instance variables:
>>>>                stream:         SocketStream[inbuf:4kb/outbuf:4kb]
>>>>                connectResponse:        CONNECTED
>>>> session: ID:John-Tooheys-MacBook-Pro.local-56368-131...etc...
>>>>                subscriptions:  an 
>>>> OrderedCollection('/topic/parspro-core.juliet-core-events')
>>>>                commandDestination:     
>>>> '/topic/parspro-core.juliet-core-events'
>>>>                process:        a Process in nil
>>>>                logger:         a JulietLogger
>>>>
>>>>
>>>> [:t1 |
>>>> self logger error: 'Error in startAnnouncing e --> ' , t1 greaseString.
>>>>        self error: t1.
>>>>        t1 return] in [[[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1 | nil]] repeat.
>>>>        nil]
>>>>                on: Error
>>>>                do: [:t1 |
>>>>                        self logger error: 'Error in startAnnouncing e --> 
>>>> ' , t1 greaseString.
>>>>                        self error: t1.
>>>>                        t1 return]] in 
>>>> CoreMQStompConnection>>startAnnouncing
>>>>        Receiver: a CoreMQStompConnection connectResponse: CONNECTED
>>>> session: ID:John-Tooheys-MacBook-Pro.lo...etc...
>>>>        Arguments and temporary variables:
>>>>                t1:     PrimitiveFailed: primitive 
>>>> #primSocketReceiveDataAvailable: in
>>>> a Socket[inv...etc...
>>>>        Receiver's instance variables:
>>>>                stream:         SocketStream[inbuf:4kb/outbuf:4kb]
>>>>                connectResponse:        CONNECTED
>>>> session: ID:John-Tooheys-MacBook-Pro.local-56368-131...etc...
>>>>                subscriptions:  an 
>>>> OrderedCollection('/topic/parspro-core.juliet-core-events')
>>>>                commandDestination:     
>>>> '/topic/parspro-core.juliet-core-events'
>>>>                process:        a Process in nil
>>>>                logger:         a JulietLogger
>>>>
>>>>
>>>> BlockClosure>>cull:
>>>>        Receiver: [:t1 |
>>>> self logger error: 'Error in startAnnouncing e --> ' , t1 greaseString.
>>>>        self erro...etc...
>>>>        Arguments and temporary variables:
>>>>                t1:     PrimitiveFailed: primitive 
>>>> #primSocketReceiveDataAvailable: in
>>>> a Socket[inv...etc...
>>>>        Receiver's instance variables:
>>>>                outerContext:   [[[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1...etc...
>>>>                startpc:        118
>>>>                numArgs:        1
>>>>
>>>>
>>>> [(self tempAt: 2)
>>>>                cull: t1] in MethodContext(ContextPart)>>handleSignal:
>>>>        Receiver: BlockClosure>>on:do:
>>>>        Arguments and temporary variables:
>>>>                t1:     PrimitiveFailed: primitive 
>>>> #primSocketReceiveDataAvailable: in
>>>> a Socket[inv...etc...
>>>>        Receiver's instance variables:
>>>>                sender:         [[[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1 | nil...etc...
>>>>                pc:     17
>>>>                stackp:         3
>>>>                method:         (BlockClosure>>#on:do: "a 
>>>> CompiledMethod(137625600)")
>>>>                closureOrNil:   nil
>>>>                receiver:       [[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1 | ni...etc...
>>>>
>>>>
>>>> BlockClosure>>ensure:
>>>>        Receiver: [(self tempAt: 2)
>>>>                cull: t1]
>>>>        Arguments and temporary variables:
>>>>                aBlock:         [self tempAt: 3 put: true]
>>>>                complete:       nil
>>>>                returnValue:    nil
>>>>        Receiver's instance variables:
>>>>                outerContext:   MethodContext(ContextPart)>>handleSignal:
>>>>                startpc:        98
>>>>                numArgs:        0
>>>>
>>>>
>>>> MethodContext(ContextPart)>>handleSignal:
>>>>        Receiver: BlockClosure>>on:do:
>>>>        Arguments and temporary variables:
>>>>                t1:     PrimitiveFailed: primitive 
>>>> #primSocketReceiveDataAvailable: in
>>>> a Socket[inv...etc...
>>>>                t2:     nil
>>>>        Receiver's instance variables:
>>>>                sender:         [[[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1 | nil...etc...
>>>>                pc:     17
>>>>                stackp:         3
>>>>                method:         (BlockClosure>>#on:do: "a 
>>>> CompiledMethod(137625600)")
>>>>                closureOrNil:   nil
>>>>                receiver:       [[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1 | ni...etc...
>>>>
>>>>
>>>> MethodContext(ContextPart)>>handleSignal:
>>>>        Receiver: BlockClosure>>on:do:
>>>>        Arguments and temporary variables:
>>>>                t1:     PrimitiveFailed: primitive 
>>>> #primSocketReceiveDataAvailable: in
>>>> a Socket[inv...etc...
>>>>                t2:     nil
>>>>        Receiver's instance variables:
>>>>                sender:         [[[self announceNextCommand]
>>>>                on: ConnectionTimedOut
>>>>                do: [:t1 | nil]...etc...
>>>>                pc:     17
>>>>                stackp:         3
>>>>                method:         (BlockClosure>>#on:do: "a 
>>>> CompiledMethod(137625600)")
>>>>                closureOrNil:   nil
>>>>                receiver:       [self announceNextCommand]
>>>>
>>>>
>>>> PrimitiveFailed(Exception)>>signal
>>>>        Receiver: PrimitiveFailed: primitive 
>>>> #primSocketReceiveDataAvailable:
>>>> in a Socket[invalidSocketHandl...etc...
>>>>        Arguments and temporary variables:
>>>>
>>>>        Receiver's instance variables:
>>>>                messageText:    'primitive #primSocketReceiveDataAvailable: 
>>>> in a
>>>> Socket[invalidSoc...etc...
>>>>                tag:    nil
>>>>                signaler:       a Socket[invalidSocketHandle]
>>>>                signalContext:  PrimitiveFailed(Exception)>>signal
>>>>                handlerContext:         BlockClosure>>on:do:
>>>>                outerContext:   nil
>>>>                selector:       #primSocketReceiveDataAvailable:
>>>>
>>>>
>>>> PrimitiveFailed class(SelectorException class)>>signalFor:
>>>>        Receiver: PrimitiveFailed
>>>>        Arguments and temporary variables:
>>>>                t1:     #primSocketReceiveDataAvailable:
>>>>        Receiver's instance variables:
>>>>                superclass:     SelectorException
>>>>                methodDict:     a
>>>> MethodDictionary(#standardMessageText->(PrimitiveFailed>>#standar...etc...
>>>>                format:         144
>>>>                instanceVariables:      nil
>>>>                organization:   ('printing' standardMessageText)
>>>>
>>>>                subclasses:     nil
>>>>                name:   #PrimitiveFailed
>>>>                classPool:      nil
>>>>                sharedPools:    nil
>>>>                environment:    a SystemDictionary(lots of globals)
>>>>                category:       #'Kernel-Exceptions'
>>>>                traitComposition:       {}
>>>>                localSelectors:         nil
>>>>
>>>>
>>>> Socket(Object)>>primitiveFailed:
>>>>        Receiver: a Socket[invalidSocketHandle]
>>>>        Arguments and temporary variables:
>>>>                t1:     #primSocketReceiveDataAvailable:
>>>>        Receiver's instance variables:
>>>>                semaphore:      a Semaphore()
>>>>                socketHandle:   #[162 57 106 78 0 0 0 0 128 42 86 0]
>>>>                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:   #[162 57 106 78 0 0 0 0 128 42 86 0]
>>>>                readSemaphore:  a Semaphore()
>>>>                writeSemaphore:         a Semaphore()
>>>>
>>>>
>>>> Socket>>primSocketReceiveDataAvailable:
>>>>        Receiver: a Socket[invalidSocketHandle]
>>>>        Arguments and temporary variables:
>>>>                t1:     #[162 57 106 78 0 0 0 0 128 42 86 0]
>>>>        Receiver's instance variables:
>>>>                semaphore:      a Semaphore()
>>>>                socketHandle:   #[162 57 106 78 0 0 0 0 128 42 86 0]
>>>>                readSemaphore:  a Semaphore()
>>>>                writeSemaphore:         a Semaphore()
>>>>
>>>>
>>>> Socket>>waitForDataFor:ifClosed:ifTimedOut:
>>>>        Receiver: a Socket[invalidSocketHandle]
>>>>        Arguments and temporary variables:
>>>>                t1:     45
>>>>                t2:     [ConnectionClosed signal: 'Connection closed while 
>>>> waiting for data.']
>>>>                t3:     [ConnectionTimedOut signal: 'Data receive timed 
>>>> out.']
>>>>                t4:     2210099
>>>>                t5:     45000
>>>>        Receiver's instance variables:
>>>>                semaphore:      a Semaphore()
>>>>                socketHandle:   #[162 57 106 78 0 0 0 0 128 42 86 0]
>>>>                readSemaphore:  a Semaphore()
>>>>                writeSemaphore:         a Semaphore()
>>>>
>>>>
>>>> Socket>>waitForDataFor:
>>>>        Receiver: a Socket[invalidSocketHandle]
>>>>        Arguments and temporary variables:
>>>>                t1:     45
>>>>        Receiver's instance variables:
>>>>                semaphore:      a Semaphore()
>>>>                socketHandle:   #[162 57 106 78 0 0 0 0 128 42 86 0]
>>>>                readSemaphore:  a Semaphore()
>>>>                writeSemaphore:         a Semaphore()
>>>>
>>>>
>>>> Socket>>receiveDataSignallingTimeout:into:startingAt:
>>>>        Receiver: a Socket[invalidSocketHandle]
>>>>        Arguments and temporary variables:
>>>>                t1:     45
>>>>                t2:     'CONNECTED
>>>> session:ID:John-Tooheys-MacBook-Pro.local-56368-1315585750288-4:...etc...
>>>>                t3:     796
>>>>        Receiver's instance variables:
>>>>                semaphore:      a Semaphore()
>>>>                socketHandle:   #[162 57 106 78 0 0 0 0 128 42 86 0]
>>>>                readSemaphore:  a Semaphore()
>>>>                writeSemaphore:         a Semaphore()
>>>>
>>>>
>>>> SocketStream>>receiveData
>>>>        Receiver: SocketStream[inbuf:4kb/outbuf:4kb]
>>>>        Arguments and temporary variables:
>>>>
>>>>        Receiver's instance variables:
>>>>                recentlyRead:   716
>>>>                socket:         a Socket[invalidSocketHandle]
>>>>                inBuffer:       'CONNECTED
>>>> session:ID:John-Tooheys-MacBook-Pro.local-56368-1315585750...etc...
>>>>                outBuffer:      'SUBSCRIBE
>>>> destination: /topic/parspro-core.juliet-core-events
>>>>
>>>>
>>>>
>>>> On Thu, Sep 8, 2011 at 10:05, Marcus Denker <[email protected]> wrote:
>>>>>
>>>>> On Sep 8, 2011, at 3:59 PM, John Toohey wrote:
>>>>>
>>>>>> Hi,
>>>>>> Is there a 1.3 OneClick build available with the Cog VM, or should I
>>>>>> just down load the linux and OSX Cog builds from the Jenkins server?
>>>>>
>>>>> The script on the hudson is old... we need to update it. And move 
>>>>> everything
>>>>> from hudson to jenkins. And, and...
>>>>>
>>>>> So for now:
>>>>>
>>>>>        
>>>>> https://gforge.inria.fr/frs/download.php/28922/Pharo-1.3-OneClick.zip
>>>>>
>>>>> hand-build one-click with Cog as build from 
>>>>> https://ci.lille.inria.fr/pharo/view/Cog/
>>>>>
>>>>>> often run into problems with having different VMs/Plugin on different
>>>>>> servers, and like the idea of having both Liux and OSX supported in
>>>>>> one package, where I can just update the image.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Marcus Denker -- http://marcusdenker.de
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> ~JT
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Best regards,
>>> Igor Stasenko AKA sig.
>>>
>>
>>
>>
>> --
>> ~JT
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>



-- 
~JT

Reply via email to