Le 22/02/2017 à 12:18, Esteban Lorenzano a écrit : > that’s not enough information… where it hangs? (when you get the debugger > after cmd+.)?
It looks like Voyage is trapped in a loop. When I execute the following code in singleton it hangs as well: | orga repo| repo := VOMongoRepository host: 'localhost' database: 'MaBase'. repo enableSingleton. orga := String fromString: 'Pharo'. orga save. Then I can press atl+., I got the attached Pharo debug log. At some point I used wrongly Voyage, from there I got problem. Thanks Hilaire -- Dr. Geo http://drgeo.eu
THERE_BE_DRAGONS_HERE User Interrupt 22 Février 2017 2:14:11.47879 pm VM: unix - i686 - linux-gnu - NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.20 uuid: cf2aeeee-897d-48fd-8251-6789dd21d958 Jun 14 2014 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.20 uuid: cf2aeeee-897d-48fd-8251-6789dd21d958 Jun 14 2014 https://github.com/pharo-project/pharo-vm.git Commit: 0e8bbfbaeb03237fa6bb63ba834773fab18ca307 Date: 2014-06-14 12:20:21 -0300 By: Esteban Lorenzano <[email protected]> Jenkins build #14833 Image: Pharo4.0 [Latest update: #40627] [ self schedule. "It is critical that the following has no suspension point so that the test and the wait primitive are atomic. In addition, if the delay is no longer being waited on while entering the way we know that it is expired because the delay has already fired." beingWaitedOn ifTrue: [ delaySemaphore wait ] ifFalse: [ expired := true ] ] in DelayWaitTimeout>>wait Receiver: a DelayWaitTimeout(45000 msecs; 44974 msecs remaining) Arguments and temporary variables: Receiver's instance variables: delaySemaphore: a Semaphore() beingWaitedOn: true millisecondDelayDuration: 45000 scheduler: a DelayMicrosecondScheduler schedulerResumptionTime: 3665222096453829 process: a Process in [ self schedule. "It is critical that the following has ...etc... expired: false BlockClosure>>ensure: Receiver: [ self schedule. "It is critical that the following has no suspension point so that the ...etc... Arguments and temporary variables: aBlock: [ self unschedule ] complete: nil returnValue: nil Receiver's instance variables: outerContext: DelayWaitTimeout>>wait startpc: 41 numArgs: 0 DelayWaitTimeout>>wait Receiver: a DelayWaitTimeout(45000 msecs; 44970 msecs remaining) Arguments and temporary variables: Receiver's instance variables: delaySemaphore: a Semaphore() beingWaitedOn: true millisecondDelayDuration: 45000 scheduler: a DelayMicrosecondScheduler schedulerResumptionTime: 3665222096453829 process: a Process in [ self schedule. "It is critical that the following has ...etc... expired: false Semaphore>>waitTimeoutMSecs: Receiver: a Semaphore() Arguments and temporary variables: anInteger: 45000 d: a DelayWaitTimeout(45000 msecs; 44967 msecs remaining) Receiver's instance variables: firstLink: nil lastLink: nil excessSignals: 0 Socket>>waitForConnectionFor:ifTimedOut: Receiver: a Socket[connected] Arguments and temporary variables: timeout: 45 timeoutBlock: [ ConnectionTimedOut signal: 'Cannot connect to ' , (NetNameResol...etc... startTime: 5930357 msecsDelta: 45000 msecsEllapsed: 0 status: 1 Receiver's instance variables: semaphore: a Semaphore() socketHandle: #[167 179 210 90 0 0 0 0 112 225 222 9] readSemaphore: a Semaphore() writeSemaphore: a Semaphore() Socket>>connectTo:port:waitForConnectionFor: Receiver: a Socket[connected] Arguments and temporary variables: hostAddress: #[127 0 0 1] port: 27017 timeout: 45 Receiver's instance variables: semaphore: a Semaphore() socketHandle: #[167 179 210 90 0 0 0 0 112 225 222 9] readSemaphore: a Semaphore() writeSemaphore: a Semaphore() SocketStream class>>openConnectionToHost:port:timeout: Receiver: SocketStream Arguments and temporary variables: hostIP: #[127 0 0 1] portNumber: 27017 timeout: 45 socket: a Socket[connected] Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#'<<'->SocketStream>>#'<<' #adjustInBuffer:->Soc...etc... format: 154 layout: a FixedLayout instanceVariables: #('recentlyRead' 'socket' 'inBuffer' 'outBuffer' 'inNextToWr...etc... organization: a ClassOrganization subclasses: nil name: #SocketStream classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Network-Kernel' traitComposition: {} localSelectors: nil SocketStream class>>openConnectionToHost:port: Receiver: SocketStream Arguments and temporary variables: hostIP: #[127 0 0 1] portNumber: 27017 Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#'<<'->SocketStream>>#'<<' #adjustInBuffer:->Soc...etc... format: 154 layout: a FixedLayout instanceVariables: #('recentlyRead' 'socket' 'inBuffer' 'outBuffer' 'inNextToWr...etc... organization: a ClassOrganization subclasses: nil name: #SocketStream classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Network-Kernel' traitComposition: {} localSelectors: nil SocketStream class>>openConnectionToHostNamed:port: Receiver: SocketStream Arguments and temporary variables: hostName: 'localhost' portNumber: 27017 hostIP: #[127 0 0 1] Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#'<<'->SocketStream>>#'<<' #adjustInBuffer:->Soc...etc... format: 154 layout: a FixedLayout instanceVariables: #('recentlyRead' 'socket' 'inBuffer' 'outBuffer' 'inNextToWr...etc... organization: a ClassOrganization subclasses: nil name: #SocketStream classPool: a Dictionary() sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Network-Kernel' traitComposition: {} localSelectors: nil GratuitousIncompatibilities class>>socketStreamHost:port: Receiver: GratuitousIncompatibilities Arguments and temporary variables: aString: 'localhost' anInteger: 27017 result: nil Receiver's instance variables: superclass: Object methodDict: a MethodDictionary() format: 2 layout: a FixedLayout instanceVariables: #() organization: a ClassOrganization subclasses: nil name: #GratuitousIncompatibilities classPool: a Dictionary(#UTF8Codec->a GRPharoUtf8Codec name: 'utf-8' #UTF8Conve...etc... sharedPools: an OrderedCollection() environment: a SystemDictionary(lots of globals) category: #'Mongo-Squeak' traitComposition: {} localSelectors: nil Mongo>>open Receiver: Mongo (localhost:27017) Arguments and temporary variables: Receiver's instance variables: host: 'localhost' port: 27017 stream: SocketStream[inbuf:4kb/outbuf:4kb] requestID: 1 authCache: nil [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: Receiver: a VOMongoSessionPool Arguments and temporary variables: aBlock: [ :db | (self collectionAt: anObject class inDatabase: db) add: (js...etc... session: Mongo (localhost:27017) db: MaBase e: VOMongoConnectionError Receiver's instance variables: sessions: SharedQueue with 10 items size: 10 mutex: a Semaphore() process: a Process in Process>>terminate host: 'localhost' port: 27017 database: 'MaBase' username: nil password: nil BlockClosure>>cull: Receiver: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] Arguments and temporary variables: anArg: VOMongoConnectionError Receiver's instance variables: outerContext: [ [ ^ aBlock value: db ] on: Error do: [ :e | session cl...etc... startpc: 124 numArgs: 1 Context>>evaluateSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: VOMongoConnectionError value: nil Receiver's instance variables: sender: [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; ...etc... pc: 15 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ ^ aBlock value: db ] Context>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: VOMongoConnectionError Receiver's instance variables: sender: [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; ...etc... pc: 15 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ ^ aBlock value: db ] VOMongoConnectionError(Exception)>>signalIn: Receiver: VOMongoConnectionError Arguments and temporary variables: context: Error(Exception)>>signal Receiver's instance variables: messageText: nil tag: nil signaler: Error: Command failed signalContext: Error(Exception)>>signal handlerContext: BlockClosure>>on:do: outerContext: nil VOMongoConnectionError(Exception)>>resignalAs: Receiver: VOMongoConnectionError Arguments and temporary variables: replacementException: VOMongoConnectionError Receiver's instance variables: messageText: nil tag: nil signaler: Error: Command failed signalContext: Error(Exception)>>signal handlerContext: BlockClosure>>on:do: outerContext: nil [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: Receiver: a VOMongoSessionPool Arguments and temporary variables: aBlock: [ :db | (self collectionAt: anObject class inDatabase: db) add: (js...etc... session: Mongo (localhost:27017) db: MaBase e: VOMongoConnectionError Receiver's instance variables: sessions: SharedQueue with 10 items size: 10 mutex: a Semaphore() process: a Process in Process>>terminate host: 'localhost' port: 27017 database: 'MaBase' username: nil password: nil BlockClosure>>cull: Receiver: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] Arguments and temporary variables: anArg: VOMongoConnectionError Receiver's instance variables: outerContext: [ [ ^ aBlock value: db ] on: Error do: [ :e | session cl...etc... startpc: 124 numArgs: 1 Context>>evaluateSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: VOMongoConnectionError value: nil Receiver's instance variables: sender: [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; ...etc... pc: 15 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ ^ aBlock value: db ] Context>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: VOMongoConnectionError Receiver's instance variables: sender: [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; ...etc... pc: 15 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ ^ aBlock value: db ] VOMongoConnectionError(Exception)>>signalIn: Receiver: VOMongoConnectionError Arguments and temporary variables: context: Error(Exception)>>signal Receiver's instance variables: messageText: nil tag: nil signaler: Error: Command failed signalContext: Error(Exception)>>signal handlerContext: BlockClosure>>on:do: outerContext: nil VOMongoConnectionError(Exception)>>resignalAs: Receiver: VOMongoConnectionError Arguments and temporary variables: replacementException: VOMongoConnectionError Receiver's instance variables: messageText: nil tag: nil signaler: Error: Command failed signalContext: Error(Exception)>>signal handlerContext: BlockClosure>>on:do: outerContext: nil [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: Receiver: a VOMongoSessionPool Arguments and temporary variables: aBlock: [ :db | (self collectionAt: anObject class inDatabase: db) add: (js...etc... session: Mongo (localhost:27017) db: MaBase e: VOMongoConnectionError Receiver's instance variables: sessions: SharedQueue with 10 items size: 10 mutex: a Semaphore() process: a Process in Process>>terminate host: 'localhost' port: 27017 database: 'MaBase' username: nil password: nil BlockClosure>>cull: Receiver: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] Arguments and temporary variables: anArg: VOMongoConnectionError Receiver's instance variables: outerContext: [ [ ^ aBlock value: db ] on: Error do: [ :e | session cl...etc... startpc: 124 numArgs: 1 Context>>evaluateSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: VOMongoConnectionError value: nil Receiver's instance variables: sender: [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; ...etc... pc: 15 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ ^ aBlock value: db ] Context>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: VOMongoConnectionError Receiver's instance variables: sender: [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; ...etc... pc: 15 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ ^ aBlock value: db ] VOMongoConnectionError(Exception)>>signalIn: Receiver: VOMongoConnectionError Arguments and temporary variables: context: Error(Exception)>>signal Receiver's instance variables: messageText: nil tag: nil signaler: Error: Command failed signalContext: Error(Exception)>>signal handlerContext: BlockClosure>>on:do: outerContext: nil VOMongoConnectionError(Exception)>>resignalAs: Receiver: VOMongoConnectionError Arguments and temporary variables: replacementException: VOMongoConnectionError Receiver's instance variables: messageText: nil tag: nil signaler: Error: Command failed signalContext: Error(Exception)>>signal handlerContext: BlockClosure>>on:do: outerContext: nil [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: Receiver: a VOMongoSessionPool Arguments and temporary variables: aBlock: [ :db | (self collectionAt: anObject class inDatabase: db) add: (js...etc... session: Mongo (localhost:27017) db: MaBase e: VOMongoConnectionError Receiver's instance variables: sessions: SharedQueue with 10 items size: 10 mutex: a Semaphore() process: a Process in Process>>terminate host: 'localhost' port: 27017 database: 'MaBase' username: nil password: nil BlockClosure>>cull: Receiver: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] Arguments and temporary variables: anArg: VOMongoConnectionError Receiver's instance variables: outerContext: [ [ ^ aBlock value: db ] on: Error do: [ :e | session cl...etc... startpc: 124 numArgs: 1 Context>>evaluateSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: VOMongoConnectionError value: nil Receiver's instance variables: sender: [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; ...etc... pc: 15 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ ^ aBlock value: db ] Context>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: VOMongoConnectionError Receiver's instance variables: sender: [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; ...etc... pc: 15 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ ^ aBlock value: db ] VOMongoConnectionError(Exception)>>signalIn: Receiver: VOMongoConnectionError Arguments and temporary variables: context: Error(Exception)>>signal Receiver's instance variables: messageText: nil tag: nil signaler: Error: Command failed signalContext: Error(Exception)>>signal handlerContext: BlockClosure>>on:do: outerContext: nil VOMongoConnectionError(Exception)>>resignalAs: Receiver: VOMongoConnectionError Arguments and temporary variables: replacementException: VOMongoConnectionError Receiver's instance variables: messageText: nil tag: nil signaler: Error: Command failed signalContext: Error(Exception)>>signal handlerContext: BlockClosure>>on:do: outerContext: nil [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: Receiver: a VOMongoSessionPool Arguments and temporary variables: aBlock: [ :db | (self collectionAt: anObject class inDatabase: db) add: (js...etc... session: Mongo (localhost:27017) db: MaBase e: VOMongoConnectionError Receiver's instance variables: sessions: SharedQueue with 10 items size: 10 mutex: a Semaphore() process: a Process in Process>>terminate host: 'localhost' port: 27017 database: 'MaBase' username: nil password: nil BlockClosure>>cull: Receiver: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] Arguments and temporary variables: anArg: VOMongoConnectionError Receiver's instance variables: outerContext: [ [ ^ aBlock value: db ] on: Error do: [ :e | session cl...etc... startpc: 124 numArgs: 1 Context>>evaluateSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: VOMongoConnectionError value: nil Receiver's instance variables: sender: [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; ...etc... pc: 15 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ ^ aBlock value: db ] Context>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: VOMongoConnectionError Receiver's instance variables: sender: [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; ...etc... pc: 15 stackp: 2 method: BlockClosure>>#on:do: closureOrNil: nil receiver: [ ^ aBlock value: db ] --- The full stack --- [ self schedule. "It is critical that the following has no suspension point so that the test and the wait primitive are atomic. In addition, if the delay is no longer being waited on while entering the way we know that it is expired because the delay has already fired." beingWaitedOn ifTrue: [ delaySemaphore wait ] ifFalse: [ expired := true ] ] in DelayWaitTimeout>>wait BlockClosure>>ensure: DelayWaitTimeout>>wait Semaphore>>waitTimeoutMSecs: Socket>>waitForConnectionFor:ifTimedOut: Socket>>connectTo:port:waitForConnectionFor: SocketStream class>>openConnectionToHost:port:timeout: SocketStream class>>openConnectionToHost:port: SocketStream class>>openConnectionToHostNamed:port: GratuitousIncompatibilities class>>socketStreamHost:port: Mongo>>open [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: VOMongoConnectionError(Exception)>>signalIn: VOMongoConnectionError(Exception)>>resignalAs: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] in [ [ ^ aBlock value: db ] on: Error do: [ :e | session close; open. e resignalAs: VOMongoConnectionError new ] ] in VOMongoSessionPool>>withDatabase: BlockClosure>>cull: Context>>evaluateSignal: Context>>handleSignal: -- and more not shown ---------------------------------------------------------------------------------
