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.