We received the vw7.7.1 CD today, so I started to publish it into our
Store repository. Publishing Base Visualworks generates an error (ORA-01000: maximum open cursors exceeded). I retried the operation but that gave the same result, stack dump attached. Steps I took: --copied our 7.6 repository (and changed the repository identifier). --load StoreForOracle --ran update77 and update 771 --'switch databases' to reconcile --publish Base VisualWorks bundle Reinout ------- -- ********************************************************************* Dit e-mailbericht is alleen bestemd voor de geadresseerde(n). Gebruik door anderen is niet toegestaan. Indien u niet degeadresseerde(n) bent wordt u verzocht de verzender hiervan op de hoogte te stellen en het bericht te verwijderen. Door de elektronische verzending kunnen aan de inhoud van dit bericht geen rechten worden ontleend. Soops B.V. is gevestigd te Amsterdam, Nederland, en is geregistreerd bij de Kamer van Koophandel onder nummer 33240368. Soops B.V. levert volgens de Fenit voorwaarden, gedeponeerd te Den Haag op 8 december 1994 onder nummer 1994/189. ********************************************************************** This e-mail message is intended to be exclusively for the addressee. If you are not the intended recipient you are kindly requested not to make any use whatsoever of the contents and to notify the sender immediately by returning this e-mail message. No rights can be derived from this message. Soops B.V. is a private limited liability company and has its seat at Amsterdam, The Netherlands and is registered with the Trade Registry of the Chamber of Commerce and Industry under number 33240368. Soops B.V. delivers according to the General Terms and Conditions of Business of Fenit, registered at The Hague, The Netherlands on December 8th, 1994, under number 1994/189 ********************************************************************** Unhandled exception: ORA-01000: maximum open cursors exceeded Glorp.GlorpDatabaseReadError(Glorp.GlorpError)>>signal Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>handleError:for: optimized [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: BlockClosure>>cull: UnableToExecuteSQL(GenericException)>>performHandler: UnableToExecuteSQL(GenericException)>>propagatePrivateFrom: UnableToExecuteSQL(GenericException)>>propagateFrom: UnableToExecuteSQL(GenericException)>>propagate UnableToExecuteSQL(GenericException)>>raiseSignal UnableToExecuteSQL class(GenericException class)>>raiseWith:errorString: OracleSession>>resultsExternal OracleSession>>executeExternal optimized [] in ExternalDatabaseSession>>execute BlockClosure>>ifCurtailed: OracleSession(ExternalDatabaseSession)>>execute Glorp.VWDatabaseAccessor>>executeCommand:inDBSession: optimized [] in Glorp.VWDatabaseAccessor>>executeCommandBound: Time class>>microsecondsToRun: Time class>>millisecondsToRun: Glorp.VWDatabaseAccessor>>executeCommandBound: Glorp.QuerySelectCommand(Glorp.DatabaseCommand)>>executeBoundIn: optimized [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: BlockClosure>>on:do: optimized [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: BlockClosure>>ensure: Semaphore>>critical: Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeCommand:returnCursor: optimized [] in Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: BlockClosure>>on:do: Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: Glorp.SimpleQuery(Glorp.AbstractReadQuery)>>readFromDatabaseWithParameters: Glorp.SimpleQuery(Glorp.AbstractReadQuery)>>executeWithParameters:in: Glorp.GlorpSession>>execute: Glorp.GlorpSession>>readOneOf:where: Store.Glorp.StorePundleWriter>>readPreviousVersion Store.Glorp.StorePundleWriter>>previousVersionInTargetDatabase Store.Glorp.StorePundleWriter>>isPreviousVersionPresent Store.Glorp.StorePundleWriter>>writePundlePhase1:withChangesBasedOn:using: Store.Glorp.StorePundleWriter>>writePundle:withChangesBasedOn:using: optimized [] in [] in Store.PublishSpecificationList>>publishSilently BlockClosure>>on:do: [] in Store.PublishSpecificationList>>publishSilently Store.PublishSpecificationList>>publishSilently Store.PublishSpecificationList>>publishPundle optimized [] in Store.PublishPundleDialog>>accept optimized [] in Store.StoreProgressOverlay class>>subsumeAll:while: BlockClosure>>ensure: Store.StoreProgressOverlay class>>subsumeAll:while: Store.StoreProgressOverlay class>>subsume:while: Store.PublishPundleDialog>>accept optimized [] in ApplicationModel>>actionFor: optimized [] in ActionButtonSpec>>typeConvert: PluggableAdaptor>>setValue: PluggableAdaptor(ValueModel)>>value: WinXPTriggerButtonController(TriggerButtonController)>>pressAction TriggerButtonTracker(BasicButtonTracker)>>finishSelectionFor: TriggerButtonTracker>>finishSelectionFor: TriggerButtonTracker(SelectionTracker)>>redButtonReleasedEvent: RedButtonReleasedEvent>>dispatchTo: TriggerButtonTracker(SelectionTracker)>>handleEvent: EventDispatcher>>dispatch:to: [] in EventDispatcher>>dispatchEvent: BlockClosure>>on:do: EventDispatcher>>dispatchEvent: RedButtonReleasedEvent(Event)>>dispatch RedButtonReleasedEvent(Event)>>dispatchForWindowManager: optimized [] in WindowManager>>safelyDispatchForWindowManager: BlockClosure>>on:do: WindowManager>>safelyDispatchForWindowManager: WindowManager>>processNextEvent optimized [] in [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in WindowManager>>newProcess BlockClosure>>on:do: optimized [] in Process class>>forBlock:priority: ---------------------------------------------------------------------- Glorp.GlorpDatabaseReadError(Glorp.GlorpError)>>signal Receiver: a Glorp.GlorpDatabaseReadError Instance Variables: messageText = ' ORA-01000: maximum open cursors exceeded ' originator = a Glorp.GlorpDatabaseReadError initialContext = Glorp.GlorpDatabaseReadError(Glorp.GlorpError)>>signal firstUnwindContext = BlockClosure>>ifCurtailed: handlerContext = nil parameter = nil proceedBlock = nil isResumable = true signal = nil searchContext = Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) databaseError = an UnableToExecuteSQL accessor = a Glorp.VWDatabaseAccessor Context PC = 7 ---------------------------------------------------------------------- Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>handleError:for: Receiver: a Glorp.VWDatabaseAccessor Instance Variables: connection = an OracleConnection( hsvcctx = 47D8DA8 ) currentLogin = a Login(a Glorp.OraclePlatform, 'store', 'store771', 'store') logging = false reusePreparedStatements = true deniedCommands = nil mutex = a Semaphore[0] dependents = nil driverSession = an OracleSession( hstmt = 4C60A80 ) preparedStatements = a Glorp.CacheManager Arguments: exception = an UnableToExecuteSQL command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) Temporaries: errorClass = Glorp.GlorpDatabaseReadError error = a Glorp.GlorpDatabaseReadError Context PC = 28 ---------------------------------------------------------------------- optimized [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: Receiver: an UndefinedObject Arguments: ex = an UnableToExecuteSQL Temporaries: .self = a Glorp.VWDatabaseAccessor .command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) Context PC = 8 ---------------------------------------------------------------------- BlockClosure>>cull: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: outerContext = nil copiedValues = an Array[2] Arguments: anObject = an UnableToExecuteSQL Context PC = 15 ---------------------------------------------------------------------- UnableToExecuteSQL(GenericException)>>performHandler: Receiver: an UnableToExecuteSQL Instance Variables: messageText = ' ORA-01000: maximum open cursors exceeded ' originator = an OracleSession( hstmt = 4C5F62C ) initialContext = OracleSession>>resultsExternal firstUnwindContext = BlockClosure>>ifCurtailed: handlerContext = BlockClosure>>on:do: parameter = an Array[1] proceedBlock = nil isResumable = false signal = nil searchContext = OracleSession>>resultsExternal Arguments: aContext = BlockClosure>>on:do: Temporaries: result = nil oldHandler = BlockClosure>>on:do: Context PC = 39 ---------------------------------------------------------------------- UnableToExecuteSQL(GenericException)>>propagatePrivateFrom: Receiver: an UnableToExecuteSQL Instance Variables: messageText = ' ORA-01000: maximum open cursors exceeded ' originator = an OracleSession( hstmt = 4C5F62C ) initialContext = OracleSession>>resultsExternal firstUnwindContext = BlockClosure>>ifCurtailed: handlerContext = BlockClosure>>on:do: parameter = an Array[1] proceedBlock = nil isResumable = false signal = nil searchContext = OracleSession>>resultsExternal Arguments: aContext = OracleSession>>resultsExternal Temporaries: handler = BlockClosure>>on:do: Context PC = 13 ---------------------------------------------------------------------- UnableToExecuteSQL(GenericException)>>propagateFrom: Receiver: an UnableToExecuteSQL Instance Variables: messageText = ' ORA-01000: maximum open cursors exceeded ' originator = an OracleSession( hstmt = 4C5F62C ) initialContext = OracleSession>>resultsExternal firstUnwindContext = BlockClosure>>ifCurtailed: handlerContext = BlockClosure>>on:do: parameter = an Array[1] proceedBlock = nil isResumable = false signal = nil searchContext = OracleSession>>resultsExternal Arguments: startContext = OracleSession>>resultsExternal Context PC = 9 ---------------------------------------------------------------------- UnableToExecuteSQL(GenericException)>>propagate Receiver: an UnableToExecuteSQL Instance Variables: messageText = ' ORA-01000: maximum open cursors exceeded ' originator = an OracleSession( hstmt = 4C5F62C ) initialContext = OracleSession>>resultsExternal firstUnwindContext = BlockClosure>>ifCurtailed: handlerContext = BlockClosure>>on:do: parameter = an Array[1] proceedBlock = nil isResumable = false signal = nil searchContext = OracleSession>>resultsExternal Context PC = 5 ---------------------------------------------------------------------- UnableToExecuteSQL(GenericException)>>raiseSignal Receiver: an UnableToExecuteSQL Instance Variables: messageText = ' ORA-01000: maximum open cursors exceeded ' originator = an OracleSession( hstmt = 4C5F62C ) initialContext = OracleSession>>resultsExternal firstUnwindContext = BlockClosure>>ifCurtailed: handlerContext = BlockClosure>>on:do: parameter = an Array[1] proceedBlock = nil isResumable = false signal = nil searchContext = OracleSession>>resultsExternal Context PC = 16 ---------------------------------------------------------------------- UnableToExecuteSQL class(GenericException class)>>raiseWith:errorString: Receiver: an UnableToExecuteSQL class Instance Variables: superclass = ExternalDatabaseException methodDict = a MethodDictionary[1] format = 16394 subclasses = an Array[5] instanceVariables = an Array[0] organization = ('printing' #defaultMessageText) name = #UnableToExecuteSQL classPool = a NameSpaceOfClass[0] environment = a NameSpace[130] notifierString = nil Arguments: parameter = an Array[1] aStringOrValuable = ' ORA-01000: maximum open cursors exceeded ' Context PC = 26 ---------------------------------------------------------------------- OracleSession>>resultsExternal Receiver: an OracleSession Instance Variables: stateHolder = a ValueHolder on: #executing traceStream = nil traceLevel = 0 participants = a WeakArray[0] participantsSemaphore = a RecursionLock connection = an OracleConnection( hsvcctx = 47D8DA8 ) query = 'SELECT t1.primaryKey, t1.name...tamp = ?) AND (t1.name = ?))' queryFragments = an OrderedCollection[5] bindInput = an OrderedCollection[2] bindTemplate = an OrderedCollection[2] bindOutput = nil useNamedOutputBinding = false bindValues = an IdentityDictionary[2] resultTemplate = nil allocateForEachRow = true blockFactor = 1 numColumns = nil columnDescriptions = nil rowAdaptors = nil rowBuffersHolder = a ValueHolder on: nil bufferIndex = nil answerStream = nil currentRow = nil scrollable = false needBinding = true resultsCache = nil hstmtHolder = a ValueHolder on: a CCompositePointer {04C5F62C} (struct __OCIStmt * ) herrHolder = a ValueHolder on: a CCompositePointer {047D82A4} (struct __OCIError * ) bindValuePointersHolder = a ValueHolder on: IdentityDictionary (1 -> an OracleBuffer 2 -> an OracleBuffer ) maxLongBytes = 32768 queryIsPLSQL = false currentRowIndex = nil totalRows = nil rowsInBlock = nil dependentLobs = a WeakDictionary[0] sqlPointerHolder = a ValueHolder on: a CPointer {00EEDF60} (unsigned char * ) maxBindSize = 1 answerLobProxy = false defaultDisplayLobSize = 32768 isReleasedFromCacheHolder = a ValueHolder on: true lobBufferSize = 32768 reuseColumnBuffers = false definePointerHolder = a ValueHolder on: nil bindPointerHolder = a ValueHolder on: a CPointer {06658870} (struct __OCIBind * * ) Temporaries: errs = an OrderedCollection[1] errorParameter = an Array[1] error = an OracleError signal = UnableToExecuteSQL connClass = OracleConnection Context PC = 63 ---------------------------------------------------------------------- OracleSession>>executeExternal Receiver: an OracleSession Instance Variables: stateHolder = a ValueHolder on: #executing traceStream = nil traceLevel = 0 participants = a WeakArray[0] participantsSemaphore = a RecursionLock connection = an OracleConnection( hsvcctx = 47D8DA8 ) query = 'SELECT t1.primaryKey, t1.name...tamp = ?) AND (t1.name = ?))' queryFragments = an OrderedCollection[5] bindInput = an OrderedCollection[2] bindTemplate = an OrderedCollection[2] bindOutput = nil useNamedOutputBinding = false bindValues = an IdentityDictionary[2] resultTemplate = nil allocateForEachRow = true blockFactor = 1 numColumns = nil columnDescriptions = nil rowAdaptors = nil rowBuffersHolder = a ValueHolder on: nil bufferIndex = nil answerStream = nil currentRow = nil scrollable = false needBinding = true resultsCache = nil hstmtHolder = a ValueHolder on: a CCompositePointer {04C5F62C} (struct __OCIStmt * ) herrHolder = a ValueHolder on: a CCompositePointer {047D82A4} (struct __OCIError * ) bindValuePointersHolder = a ValueHolder on: IdentityDictionary (1 -> an OracleBuffer 2 -> an OracleBuffer ) maxLongBytes = 32768 queryIsPLSQL = false currentRowIndex = nil totalRows = nil rowsInBlock = nil dependentLobs = a WeakDictionary[0] sqlPointerHolder = a ValueHolder on: a CPointer {00EEDF60} (unsigned char * ) maxBindSize = 1 answerLobProxy = false defaultDisplayLobSize = 32768 isReleasedFromCacheHolder = a ValueHolder on: true lobBufferSize = 32768 reuseColumnBuffers = false definePointerHolder = a ValueHolder on: nil bindPointerHolder = a ValueHolder on: a CPointer {06658870} (struct __OCIBind * * ) Temporaries: rtval = -1 xif = an OracleNTInterface hsvcctx = a CCompositePointer {047D8DA8} (struct __OCISvcCtx * ) hstmt = a CCompositePointer {04C5F62C} (struct __OCIStmt * ) herr = a CCompositePointer {047D82A4} (struct __OCIError * ) iterations = 0 rowOffset = 0 mode = 32 Context PC = 180 ---------------------------------------------------------------------- optimized [] in ExternalDatabaseSession>>execute Receiver: an UndefinedObject Temporaries: .self = an OracleSession( hstmt = 4C5F62C ) Context PC = 13 ---------------------------------------------------------------------- BlockClosure>>ifCurtailed: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in ExternalDatabaseSession>>execute outerContext = nil copiedValues = an OracleSession( hstmt = 4C5F62C ) Arguments: terminationBlock = BlockClosure [] in ExternalDatabaseSession>>execute Context PC = 4 ---------------------------------------------------------------------- OracleSession(ExternalDatabaseSession)>>execute Receiver: an OracleSession Instance Variables: stateHolder = a ValueHolder on: #executing traceStream = nil traceLevel = 0 participants = a WeakArray[0] participantsSemaphore = a RecursionLock connection = an OracleConnection( hsvcctx = 47D8DA8 ) query = 'SELECT t1.primaryKey, t1.name...tamp = ?) AND (t1.name = ?))' queryFragments = an OrderedCollection[5] bindInput = an OrderedCollection[2] bindTemplate = an OrderedCollection[2] bindOutput = nil useNamedOutputBinding = false bindValues = an IdentityDictionary[2] resultTemplate = nil allocateForEachRow = true blockFactor = 1 numColumns = nil columnDescriptions = nil rowAdaptors = nil rowBuffersHolder = a ValueHolder on: nil bufferIndex = nil answerStream = nil currentRow = nil scrollable = false needBinding = true resultsCache = nil hstmtHolder = a ValueHolder on: a CCompositePointer {04C5F62C} (struct __OCIStmt * ) herrHolder = a ValueHolder on: a CCompositePointer {047D82A4} (struct __OCIError * ) bindValuePointersHolder = a ValueHolder on: IdentityDictionary (1 -> an OracleBuffer 2 -> an OracleBuffer ) maxLongBytes = 32768 queryIsPLSQL = false currentRowIndex = nil totalRows = nil rowsInBlock = nil dependentLobs = a WeakDictionary[0] sqlPointerHolder = a ValueHolder on: a CPointer {00EEDF60} (unsigned char * ) maxBindSize = 1 answerLobProxy = false defaultDisplayLobSize = 32768 isReleasedFromCacheHolder = a ValueHolder on: true lobBufferSize = 32768 reuseColumnBuffers = false definePointerHolder = a ValueHolder on: nil bindPointerHolder = a ValueHolder on: a CPointer {06658870} (struct __OCIBind * * ) Context PC = 34 ---------------------------------------------------------------------- Glorp.VWDatabaseAccessor>>executeCommand:inDBSession: Receiver: a Glorp.VWDatabaseAccessor Instance Variables: connection = an OracleConnection( hsvcctx = 47D8DA8 ) currentLogin = a Login(a Glorp.OraclePlatform, 'store', 'store771', 'store') logging = false reusePreparedStatements = true deniedCommands = nil mutex = a Semaphore[0] dependents = nil driverSession = an OracleSession( hstmt = 4C60A80 ) preparedStatements = a Glorp.CacheManager Arguments: aCommand = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) aSession = an OracleSession( hstmt = 4C5F62C ) Temporaries: answerStream = nil cursor = nil Context PC = 3 ---------------------------------------------------------------------- optimized [] in Glorp.VWDatabaseAccessor>>executeCommandBound: Receiver: an UndefinedObject Temporaries: .self = a Glorp.VWDatabaseAccessor .aCommand = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) statement = a Glorp.GlorpPreparedStatement cursor = nil Context PC = 22 ---------------------------------------------------------------------- Time class>>microsecondsToRun: Receiver: a Time class Instance Variables: superclass = Magnitude methodDict = a MethodDictionary[31] format = 16387 subclasses = nil instanceVariables = an Array[3] organization = ('comparing' #< #= #hash) ('accessing' #hours #milliseconds #minutes #seconds) ('arithmetic' #addSeconds: #addTime: #subtractSeconds: #subtractTime:) ('printing' #glorpPadToTwoDigits: #glorpPrintSQLOn: #longPrintString #printOn: #shortPrintString #storeOn:) ('converting' #asDuration #asSeconds #asTimestamp) ('private' #hours: #hours:minutes:seconds: #isCompatibleWithDuration #literalArrayEncoding #printOn:policy:format:) ('private-spin-button' #spinBy:boundedBy:) ('double dispatch' #equalFromDuration: #equalFromTime: #lessFromDuration: #lessFromTime:) ('private-oracle' #oracleConversion) name = #Time classPool = a NameSpaceOfClass[0] environment = a NameSpace[243] Arguments: timedBlock = BlockClosure [] in Glorp.VWDatabaseAccessor>>executeCommandBound: Temporaries: initialMicroseconds = 3459576683441564 Context PC = 7 ---------------------------------------------------------------------- Time class>>millisecondsToRun: Receiver: a Time class Instance Variables: superclass = Magnitude methodDict = a MethodDictionary[31] format = 16387 subclasses = nil instanceVariables = an Array[3] organization = ('comparing' #< #= #hash) ('accessing' #hours #milliseconds #minutes #seconds) ('arithmetic' #addSeconds: #addTime: #subtractSeconds: #subtractTime:) ('printing' #glorpPadToTwoDigits: #glorpPrintSQLOn: #longPrintString #printOn: #shortPrintString #storeOn:) ('converting' #asDuration #asSeconds #asTimestamp) ('private' #hours: #hours:minutes:seconds: #isCompatibleWithDuration #literalArrayEncoding #printOn:policy:format:) ('private-spin-button' #spinBy:boundedBy:) ('double dispatch' #equalFromDuration: #equalFromTime: #lessFromDuration: #lessFromTime:) ('private-oracle' #oracleConversion) name = #Time classPool = a NameSpaceOfClass[0] environment = a NameSpace[243] Arguments: timedBlock = BlockClosure [] in Glorp.VWDatabaseAccessor>>executeCommandBound: Context PC = 5 ---------------------------------------------------------------------- Glorp.VWDatabaseAccessor>>executeCommandBound: Receiver: a Glorp.VWDatabaseAccessor Instance Variables: connection = an OracleConnection( hsvcctx = 47D8DA8 ) currentLogin = a Login(a Glorp.OraclePlatform, 'store', 'store771', 'store') logging = false reusePreparedStatements = true deniedCommands = nil mutex = a Semaphore[0] dependents = nil driverSession = an OracleSession( hstmt = 4C60A80 ) preparedStatements = a Glorp.CacheManager Arguments: aCommand = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) Temporaries: statement = a Glorp.GlorpPreparedStatement cursor = nil time = nil block = BlockClosure [] in Glorp.VWDatabaseAccessor>>executeCommandBound: Context PC = 19 ---------------------------------------------------------------------- Glorp.QuerySelectCommand(Glorp.DatabaseCommand)>>executeBoundIn: Receiver: a Glorp.QuerySelectCommand Instance Variables: useBinding = true stream = nil sqlString = 'SELECT t1.primaryKey, t1.name...tamp = ?) AND (t1.name = ?))' session = a Glorp.GlorpSession parameters = an Array[0] blockFactor = 1 query = a SimpleQuery for StoreBundle boundExpressions = an OrderedCollection[2] Arguments: anAccessor = a Glorp.VWDatabaseAccessor Context PC = 4 ---------------------------------------------------------------------- optimized [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: Receiver: an UndefinedObject Temporaries: .self = a Glorp.VWDatabaseAccessor .command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) Context PC = 15 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = Error handlerBlock = BlockClosure [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: Context PC = 18 ---------------------------------------------------------------------- optimized [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: Receiver: an UndefinedObject Temporaries: result = nil .self = a Glorp.VWDatabaseAccessor .command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) .aBoolean = true Context PC = 21 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: outerContext = nil copiedValues = an Array[3] Arguments: aBlock = BlockClosure [] in Semaphore>>critical: Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- Semaphore>>critical: Receiver: a Semaphore Instance Variables: firstLink = nil lastLink = nil excessSignals = 0 Arguments: mutuallyExcludedBlock = BlockClosure [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: Context PC = 10 ---------------------------------------------------------------------- Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeCommand:returnCursor: Receiver: a Glorp.VWDatabaseAccessor Instance Variables: connection = an OracleConnection( hsvcctx = 47D8DA8 ) currentLogin = a Login(a Glorp.OraclePlatform, 'store', 'store771', 'store') logging = false reusePreparedStatements = true deniedCommands = nil mutex = a Semaphore[0] dependents = nil driverSession = an OracleSession( hstmt = 4C60A80 ) preparedStatements = a Glorp.CacheManager Arguments: command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) aBoolean = true Context PC = 10 ---------------------------------------------------------------------- optimized [] in Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: Receiver: an UndefinedObject Temporaries: .self = a SimpleQuery for StoreBundle .command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) Context PC = 9 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = Glorp.GlorpDatabaseReadError handlerBlock = BlockClosure [] in Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: Context PC = 18 ---------------------------------------------------------------------- Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: Receiver: a Glorp.SimpleQuery Instance Variables: session = a Glorp.GlorpSession prepared = true expectedRows = 1 collectionType = nil ordering = nil maximumLobSizeToRetrieveDirectly = 32768 readsOneObject = true groupBy = nil resultClass = Store.Glorp.StoreBundle whereClause = Base(Store.Glorp.StoreBundle).timestamp = February 7, 2008 9:50:20 AM AND Base(Store.Glorp.StoreBundle).name = 'Base VisualWorks' base = Base(Store.Glorp.StoreBundle) limit = 1 offset = nil proxyType = nil shouldRefresh = false tracing = a Glorp.Tracing builders = an Array[1] fields = an OrderedCollection[9] joins = an OrderedCollection[0] tablePrefix = nil customCommand = nil tablesToPrint = a SortedCollection[1] Arguments: anArray = an Array[0] Temporaries: alreadyTriedAction = true command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) Context PC = 43 ---------------------------------------------------------------------- Glorp.SimpleQuery(Glorp.AbstractReadQuery)>>readFromDatabaseWithParameters: Receiver: a Glorp.SimpleQuery Instance Variables: session = a Glorp.GlorpSession prepared = true expectedRows = 1 collectionType = nil ordering = nil maximumLobSizeToRetrieveDirectly = 32768 readsOneObject = true groupBy = nil resultClass = Store.Glorp.StoreBundle whereClause = Base(Store.Glorp.StoreBundle).timestamp = February 7, 2008 9:50:20 AM AND Base(Store.Glorp.StoreBundle).name = 'Base VisualWorks' base = Base(Store.Glorp.StoreBundle) limit = 1 offset = nil proxyType = nil shouldRefresh = false tracing = a Glorp.Tracing builders = an Array[1] fields = an OrderedCollection[9] joins = an OrderedCollection[0] tablePrefix = nil customCommand = nil tablesToPrint = a SortedCollection[1] Arguments: anArray = an Array[0] Temporaries: answerStream = nil result = nil Context PC = 5 ---------------------------------------------------------------------- Glorp.SimpleQuery(Glorp.AbstractReadQuery)>>executeWithParameters:in: Receiver: a Glorp.SimpleQuery Instance Variables: session = a Glorp.GlorpSession prepared = true expectedRows = 1 collectionType = nil ordering = nil maximumLobSizeToRetrieveDirectly = 32768 readsOneObject = true groupBy = nil resultClass = Store.Glorp.StoreBundle whereClause = Base(Store.Glorp.StoreBundle).timestamp = February 7, 2008 9:50:20 AM AND Base(Store.Glorp.StoreBundle).name = 'Base VisualWorks' base = Base(Store.Glorp.StoreBundle) limit = 1 offset = nil proxyType = nil shouldRefresh = false tracing = a Glorp.Tracing builders = an Array[1] fields = an OrderedCollection[9] joins = an OrderedCollection[0] tablePrefix = nil customCommand = nil tablesToPrint = a SortedCollection[1] Arguments: parameterArray = an Array[0] aSession = a Glorp.GlorpSession Context PC = 35 ---------------------------------------------------------------------- Glorp.GlorpSession>>execute: Receiver: a Glorp.GlorpSession Instance Variables: system = a Store.Glorp.Store74DescriptorSystem currentUnitOfWork = nil cache = a Glorp.CacheManager accessor = a Glorp.VWDatabaseAccessor applicationData = nil reaper = nil errorAction = nil modificationTracker = nil Arguments: aQuery = a SimpleQuery for StoreBundle Context PC = 5 ---------------------------------------------------------------------- Glorp.GlorpSession>>readOneOf:where: Receiver: a Glorp.GlorpSession Instance Variables: system = a Store.Glorp.Store74DescriptorSystem currentUnitOfWork = nil cache = a Glorp.CacheManager accessor = a Glorp.VWDatabaseAccessor applicationData = nil reaper = nil errorAction = nil modificationTracker = nil Arguments: aClass = Store.Glorp.StoreBundle aBlock = BlockClosure [] in Store.Glorp.StorePundleWriter>>readPreviousVersion Context PC = 8 ---------------------------------------------------------------------- Store.Glorp.StorePundleWriter>>readPreviousVersion Receiver: a Store.Glorp.StorePundleWriter Instance Variables: pundle = StoreBundle(Base VisualWorks,vw771-sps0) newPundle = nil previousVersionInTargetDatabase = an Object targetSession = a Glorp.GlorpSession preWriteAction = nil splitPundles = true notificationQueue = nil Context PC = 12 ---------------------------------------------------------------------- Store.Glorp.StorePundleWriter>>previousVersionInTargetDatabase Receiver: a Store.Glorp.StorePundleWriter Instance Variables: pundle = StoreBundle(Base VisualWorks,vw771-sps0) newPundle = nil previousVersionInTargetDatabase = an Object targetSession = a Glorp.GlorpSession preWriteAction = nil splitPundles = true notificationQueue = nil Context PC = 18 ---------------------------------------------------------------------- Store.Glorp.StorePundleWriter>>isPreviousVersionPresent Receiver: a Store.Glorp.StorePundleWriter Instance Variables: pundle = StoreBundle(Base VisualWorks,vw771-sps0) newPundle = nil previousVersionInTargetDatabase = an Object targetSession = a Glorp.GlorpSession preWriteAction = nil splitPundles = true notificationQueue = nil Context PC = 4 ---------------------------------------------------------------------- Store.Glorp.StorePundleWriter>>writePundlePhase1:withChangesBasedOn:using: Receiver: a Store.Glorp.StorePundleWriter Instance Variables: pundle = StoreBundle(Base VisualWorks,vw771-sps0) newPundle = nil previousVersionInTargetDatabase = an Object targetSession = a Glorp.GlorpSession preWriteAction = nil splitPundles = true notificationQueue = nil Arguments: aPundle = StoreBundle(Base VisualWorks,vw771-sps0) anImagePundle = {Base VisualWorks} aCollection = an OrderedCollection[117] Context PC = 11 ---------------------------------------------------------------------- Store.Glorp.StorePundleWriter>>writePundle:withChangesBasedOn:using: Receiver: a Store.Glorp.StorePundleWriter Instance Variables: pundle = StoreBundle(Base VisualWorks,vw771-sps0) newPundle = nil previousVersionInTargetDatabase = an Object targetSession = a Glorp.GlorpSession preWriteAction = nil splitPundles = true notificationQueue = nil Arguments: aPundle = StoreBundle(Base VisualWorks,vw771-sps0) anImagePundle = {Base VisualWorks} aCollection = an OrderedCollection[117] Context PC = 7 ---------------------------------------------------------------------- optimized [] in [] in Store.PublishSpecificationList>>publishSilently Receiver: an UndefinedObject Temporaries: .self = a Store.PublishSpecificationList[117] newPundle = nil targetPundles = an OrderedCollection[117] Context PC = 16 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in Store.PublishSpecificationList>>publishSilently outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = Glorp.GlorpDatabaseWriteError handlerBlock = BlockClosure [] in [] in Store.PublishSpecificationList>>publishSilently Context PC = 18 ---------------------------------------------------------------------- [] in Store.PublishSpecificationList>>publishSilently Receiver: a Store.PublishSpecificationList Instance Variables: dependents = a SequenceView collection = an Array[192] limit = 117 collectionSize = 192 publisher = a Store.Glorp.StorePundleWriter notificationQueue = nil Temporaries: .self = a Store.PublishSpecificationList[117] newPundle = nil targetPundles = an OrderedCollection[117] Context PC = 17 ---------------------------------------------------------------------- Store.PublishSpecificationList>>publishSilently Receiver: a Store.PublishSpecificationList Instance Variables: dependents = a SequenceView collection = an Array[192] limit = 117 collectionSize = 192 publisher = a Store.Glorp.StorePundleWriter notificationQueue = nil Temporaries: newPundle = nil targetPundles = an OrderedCollection[117] Context PC = 29 ---------------------------------------------------------------------- Store.PublishSpecificationList>>publishPundle Receiver: a Store.PublishSpecificationList Instance Variables: dependents = a SequenceView collection = an Array[192] limit = 117 collectionSize = 192 publisher = a Store.Glorp.StorePundleWriter notificationQueue = nil Temporaries: pundle = nil Context PC = 8 ---------------------------------------------------------------------- optimized [] in Store.PublishPundleDialog>>accept Receiver: an UndefinedObject Temporaries: .self = a Store.PublishPundleDialog Context PC = 7 ---------------------------------------------------------------------- optimized [] in Store.StoreProgressOverlay class>>subsumeAll:while: Receiver: an UndefinedObject Temporaries: .windowsToSubsume = an Array[1] .self = Store.StoreProgressOverlay overlays = an Array[1] .aBlock = BlockClosure [] in Store.PublishPundleDialog>>accept Context PC = 14 ---------------------------------------------------------------------- BlockClosure>>ensure: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in Store.StoreProgressOverlay class>>subsumeAll:while: outerContext = nil copiedValues = an Array[4] Arguments: aBlock = BlockClosure [] in Store.StoreProgressOverlay class>>subsumeAll:while: Temporaries: result = nil Context PC = 4 ---------------------------------------------------------------------- Store.StoreProgressOverlay class>>subsumeAll:while: Receiver: a Store.StoreProgressOverlay class Instance Variables: superclass = Panel methodDict = a MethodDictionary[12] format = 16394 subclasses = nil instanceVariables = an Array[3] organization = ('initialize-release' #addProgressView #initializeLayoutAlgorithm #restoreOriginal #subsume:) ('private' #backdrop #dropdownGradient #dropdownRectangle #progressView #regularView #washOutBackdropImage) ('displaying' #displayDropdownOn: #displayPart:on:) name = #StoreProgressOverlay classPool = a NameSpaceOfClass[0] environment = a NameSpace[313] Arguments: aWindowCollection = an Array[1] aBlock = BlockClosure [] in Store.PublishPundleDialog>>accept Temporaries: overlays = an Array[1] windowsToSubsume = an Array[1] Context PC = 22 ---------------------------------------------------------------------- Store.StoreProgressOverlay class>>subsume:while: Receiver: a Store.StoreProgressOverlay class Instance Variables: superclass = Panel methodDict = a MethodDictionary[12] format = 16394 subclasses = nil instanceVariables = an Array[3] organization = ('initialize-release' #addProgressView #initializeLayoutAlgorithm #restoreOriginal #subsume:) ('private' #backdrop #dropdownGradient #dropdownRectangle #progressView #regularView #washOutBackdropImage) ('displaying' #displayDropdownOn: #displayPart:on:) name = #StoreProgressOverlay classPool = a NameSpaceOfClass[0] environment = a NameSpace[313] Arguments: aWindowOrNil = a ScheduledWindow 7626 aBlock = BlockClosure [] in Store.PublishPundleDialog>>accept Context PC = 9 ---------------------------------------------------------------------- Store.PublishPundleDialog>>accept Receiver: a Store.PublishPundleDialog Instance Variables: dependents = a ScheduledWindow 7626 builder = an UIBuilder uiSession = a ControlManager eventHandlers = nil list = a SelectionInList disturbed = a ValueHolder on: false subBuilder = an UIBuilder items = a SelectionInList blessingLevel = a ValueHolder on: 99 blessingComment = a ValueHolder on: Text for 'From the Cincom release cd' publish = a ValueHolder on: true versionString = a ValueHolder on: 'vw771-sps0' binarySave = a ValueHolder on: false parcelSave = a ValueHolder on: false bundleStructure = a ValueHolder on: false databaseLinks = a ValueHolder on: false parcelDirectory = a ValueHolder on: 'Base VisualWorks' parcelSaveSource = a ValueHolder on: true parcelHideSource = a ValueHolder on: false parcelPadded = a ValueHolder on: false parcelRepublish = a ValueHolder on: false parcelBackup = a ValueHolder on: false parcelOverwrite = a ValueHolder on: false parcelWarningMessage = '' labelDict = a Dictionary[117] offsets = an Array[4] callBackBlock = nil retry = false files = a SelectionInList publishFile = nil parcelVersionString = a ValueHolder on: 'vw77' Temporaries: navigatorClass = nil Context PC = 32 ---------------------------------------------------------------------- optimized [] in ApplicationModel>>actionFor: Receiver: an UndefinedObject Temporaries: .self = a Store.PublishPundleDialog .aKey = #accept Context PC = 7 ---------------------------------------------------------------------- optimized [] in ActionButtonSpec>>typeConvert: Receiver: an UndefinedObject Arguments: b = a ValueHolder on: nil v = true Temporaries: .aValue = BlockClosure [] in ApplicationModel>>actionFor: Context PC = 5 ---------------------------------------------------------------------- PluggableAdaptor>>setValue: Receiver: a PluggableAdaptor Instance Variables: dependents = a WinXPActionButtonView model = a ValueHolder on: nil getBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: putBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: updateBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: Arguments: newValue = true Context PC = 6 ---------------------------------------------------------------------- PluggableAdaptor(ValueModel)>>value: Receiver: a PluggableAdaptor Instance Variables: dependents = a WinXPActionButtonView model = a ValueHolder on: nil getBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: putBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: updateBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: Arguments: newValue = true Context PC = 5 ---------------------------------------------------------------------- WinXPTriggerButtonController(TriggerButtonController)>>pressAction Receiver: a WinXPTriggerButtonController Instance Variables: model = a PluggableAdaptor view = a WinXPActionButtonView sensor = a TranslatingSensor keyboardHook = nil dispatcher = nil Context PC = 17 ---------------------------------------------------------------------- TriggerButtonTracker(BasicButtonTracker)>>finishSelectionFor: Receiver: a TriggerButtonTracker Instance Variables: controller = a WinXPTriggerButtonController inside = true Arguments: aPoint = 51 @ 9 Context PC = 8 ---------------------------------------------------------------------- TriggerButtonTracker>>finishSelectionFor: Receiver: a TriggerButtonTracker Instance Variables: controller = a WinXPTriggerButtonController inside = true Arguments: aPoint = 51 @ 9 Context PC = 11 ---------------------------------------------------------------------- TriggerButtonTracker(SelectionTracker)>>redButtonReleasedEvent: Receiver: a TriggerButtonTracker Instance Variables: controller = a WinXPTriggerButtonController inside = true Arguments: aMouseButtonEvent = a RedButtonReleasedEvent Context PC = 13 ---------------------------------------------------------------------- RedButtonReleasedEvent>>dispatchTo: Receiver: a RedButtonReleasedEvent Instance Variables: time = 8718359 initiator = an EventDispatcher window = a ScheduledWindow 7626 state = 0 x = 336 y = 524 gx = 701 gy = 746 buttonNumber = 1 Arguments: anObject = a TriggerButtonTracker Context PC = 4 ---------------------------------------------------------------------- TriggerButtonTracker(SelectionTracker)>>handleEvent: Receiver: a TriggerButtonTracker Instance Variables: controller = a WinXPTriggerButtonController inside = true Arguments: anEvent = a RedButtonReleasedEvent Context PC = 4 ---------------------------------------------------------------------- EventDispatcher>>dispatch:to: Receiver: an EventDispatcher Instance Variables: windowController = an ApplicationStandardSystemController currentMouseConsumer = nil grabbingMouse = false lastControlObject = nil trapList = nil state = nil repairDamageWhenDebugging = true flushQueueAfterError = true distributeEventsWhenDebugging = true dragDropInProgress = false dragDropTracker = nil dispatchUnknownEvents = false Arguments: event = a RedButtonReleasedEvent object = a TriggerButtonTracker Temporaries: tmp = nil Context PC = 10 ---------------------------------------------------------------------- [] in EventDispatcher>>dispatchEvent: Receiver: an EventDispatcher Instance Variables: windowController = an ApplicationStandardSystemController currentMouseConsumer = nil grabbingMouse = false lastControlObject = nil trapList = nil state = nil repairDamageWhenDebugging = true flushQueueAfterError = true distributeEventsWhenDebugging = true dragDropInProgress = false dragDropTracker = nil dispatchUnknownEvents = false Temporaries: .self = an EventDispatcher .event = a RedButtonReleasedEvent Context PC = 9 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in EventDispatcher>>dispatchEvent: outerContext = EventDispatcher>>dispatchEvent: copiedValues = an Array[2] Arguments: anExceptionSelector = ClosedWindowNotification handlerBlock = BlockClosure [] in EventDispatcher>>dispatchEvent: Context PC = 18 ---------------------------------------------------------------------- EventDispatcher>>dispatchEvent: Receiver: an EventDispatcher Instance Variables: windowController = an ApplicationStandardSystemController currentMouseConsumer = nil grabbingMouse = false lastControlObject = nil trapList = nil state = nil repairDamageWhenDebugging = true flushQueueAfterError = true distributeEventsWhenDebugging = true dragDropInProgress = false dragDropTracker = nil dispatchUnknownEvents = false Arguments: event = a RedButtonReleasedEvent Temporaries: objectWantingControl = nil targetKeyboardProcessor = nil Context PC = 68 ---------------------------------------------------------------------- RedButtonReleasedEvent(Event)>>dispatch Receiver: a RedButtonReleasedEvent Instance Variables: time = 8718359 initiator = an EventDispatcher window = a ScheduledWindow 7626 state = 0 x = 336 y = 524 gx = 701 gy = 746 buttonNumber = 1 Context PC = 16 ---------------------------------------------------------------------- RedButtonReleasedEvent(Event)>>dispatchForWindowManager: Receiver: a RedButtonReleasedEvent Instance Variables: time = 8718359 initiator = an EventDispatcher window = a ScheduledWindow 7626 state = 0 x = 336 y = 524 gx = 701 gy = 746 buttonNumber = 1 Arguments: aWinMgr = a WindowManager Context PC = 4 ---------------------------------------------------------------------- optimized [] in WindowManager>>safelyDispatchForWindowManager: Receiver: an UndefinedObject Temporaries: .event = a RedButtonReleasedEvent .self = a WindowManager Context PC = 6 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager: outerContext = nil copiedValues = an Array[2] Arguments: anExceptionSelector = BadControllerError handlerBlock = BlockClosure [] in WindowManager>>safelyDispatchForWindowManager: Context PC = 18 ---------------------------------------------------------------------- WindowManager>>safelyDispatchForWindowManager: Receiver: a WindowManager Instance Variables: windows = an OrderedCollection[2] activeController = nil interruptLock = false outstandingMetaOrDamage = false openInProgress = false eventQueue = an EventQueue baseProcess = a Process in Semaphore>>waitIfCurtailedSignal dontFilterEvents = false Arguments: event = a RedButtonReleasedEvent Context PC = 13 ---------------------------------------------------------------------- WindowManager>>processNextEvent Receiver: a WindowManager Instance Variables: windows = an OrderedCollection[2] activeController = nil interruptLock = false outstandingMetaOrDamage = false openInProgress = false eventQueue = an EventQueue baseProcess = a Process in Semaphore>>waitIfCurtailedSignal dontFilterEvents = false Temporaries: event = a RedButtonReleasedEvent Context PC = 9 ---------------------------------------------------------------------- optimized [] in [] in WindowManager>>newProcess Receiver: an UndefinedObject Temporaries: .self = a WindowManager Context PC = 13 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in [] in WindowManager>>newProcess outerContext = nil copiedValues = a WindowManager Arguments: anExceptionSelector = TerminateException handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess Context PC = 18 ---------------------------------------------------------------------- optimized [] in WindowManager>>newProcess Receiver: an UndefinedObject Temporaries: .self = a WindowManager Context PC = 15 ---------------------------------------------------------------------- BlockClosure>>on:do: Receiver: a BlockClosure Instance Variables: method = CompiledBlock [] in WindowManager>>newProcess outerContext = nil copiedValues = a WindowManager Arguments: anExceptionSelector = TerminateException handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority: Context PC = 18 ---------------------------------------------------------------------- optimized [] in Process class>>forBlock:priority: Receiver: an UndefinedObject Temporaries: .aBlock = BlockClosure [] in WindowManager>>newProcess Context PC = 9 _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Looks like either VW is not releasing it's Oracle cursors, or maybe Oracle's 'open_cursors' parameter is not high enough (and should be increased).
Depending on Oracle's version this should be done in the DB's initDBNAME.ora file, or in an oracle session (alter system set open_cursors=1000 SCOPE=BOTH). HTH, Philippe -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Reinout Heeck Sent: woensdag 18 augustus 2010 11:50 To: 'VWNC' Subject: [vwnc] [7.7.1] Publishing base fails We received the vw7.7.1 CD today, so I started to publish it into our Store repository. Publishing Base Visualworks generates an error (ORA-01000: maximum open cursors exceeded). I retried the operation but that gave the same result, stack dump attached. Steps I took: --copied our 7.6 repository (and changed the repository identifier). --load StoreForOracle --ran update77 and update 771 --'switch databases' to reconcile --publish Base VisualWorks bundle Reinout ------- -- ********************************************************************* Dit e-mailbericht is alleen bestemd voor de geadresseerde(n). Gebruik door anderen is niet toegestaan. Indien u niet degeadresseerde(n) bent wordt u verzocht de verzender hiervan op de hoogte te stellen en het bericht te verwijderen. Door de elektronische verzending kunnen aan de inhoud van dit bericht geen rechten worden ontleend. Soops B.V. is gevestigd te Amsterdam, Nederland, en is geregistreerd bij de Kamer van Koophandel onder nummer 33240368. Soops B.V. levert volgens de Fenit voorwaarden, gedeponeerd te Den Haag op 8 december 1994 onder nummer 1994/189. ********************************************************************** This e-mail message is intended to be exclusively for the addressee. If you are not the intended recipient you are kindly requested not to make any use whatsoever of the contents and to notify the sender immediately by returning this e-mail message. No rights can be derived from this message. Soops B.V. is a private limited liability company and has its seat at Amsterdam, The Netherlands and is registered with the Trade Registry of the Chamber of Commerce and Industry under number 33240368. Soops B.V. delivers according to the General Terms and Conditions of Business of Fenit, registered at The Hague, The Netherlands on December 8th, 1994, under number 1994/189 ********************************************************************** _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Reinout Heeck-2
Am 18.08.2010 11:50, schrieb Reinout Heeck:
> We received the vw7.7.1 CD today, so I started to publish it into our > Store repository. > > Publishing Base Visualworks generates an error (ORA-01000: maximum open > cursors exceeded). > trent aug10.2 bugfix list mentions 60970 Store regression on Oracle - too many open cursors _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Reinout Heeck-2
Some more info:
I went by our dba, it turns out that many (hundreds of) cursors are created that are all running the same sql statement: select sys_extract_utc(current_timestamp) from dual most of these cursors are marked with 'paused' state. We surmise that many of those same queries can only be generated by resetting connections (because otherwise the cached timestamp info will be used by the Store code - no db query). Resetting the timestamp happens in DBObject class>>session. Note however that it will also reset this timestamp information while a session is connected. This is because #isSessionValid: also rejects sessions that are in connected mode. The code in DBObject class>>session does not clean up the 'invalid' session, however it does remove the cached timestamp info. We guess this interaction creates many cursors (for obtaining the DB system time) that do not get cleaned up... Upping the amount of available cursors at the DB side seems futile given the above, so any other suggestions to proceed are welcome... Reinout ------- Reinout Heeck wrote: > We received the vw7.7.1 CD today, so I started to publish it into our > Store repository. > > Publishing Base Visualworks generates an error (ORA-01000: maximum > open cursors exceeded). > > I retried the operation but that gave the same result, stack dump > attached. > > Steps I took: > --copied our 7.6 repository (and changed the repository identifier). > --load StoreForOracle > --ran update77 and update 771 > --'switch databases' to reconcile > --publish Base VisualWorks bundle > > Reinout > ------- > > > > ------------------------------------------------------------------------ > > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc -- ********************************************************************* Dit e-mailbericht is alleen bestemd voor de geadresseerde(n). Gebruik door anderen is niet toegestaan. Indien u niet degeadresseerde(n) bent wordt u verzocht de verzender hiervan op de hoogte te stellen en het bericht te verwijderen. Door de elektronische verzending kunnen aan de inhoud van dit bericht geen rechten worden ontleend. Soops B.V. is gevestigd te Amsterdam, Nederland, en is geregistreerd bij de Kamer van Koophandel onder nummer 33240368. Soops B.V. levert volgens de Fenit voorwaarden, gedeponeerd te Den Haag op 8 december 1994 onder nummer 1994/189. ********************************************************************** This e-mail message is intended to be exclusively for the addressee. If you are not the intended recipient you are kindly requested not to make any use whatsoever of the contents and to notify the sender immediately by returning this e-mail message. No rights can be derived from this message. Soops B.V. is a private limited liability company and has its seat at Amsterdam, The Netherlands and is registered with the Trade Registry of the Chamber of Commerce and Industry under number 33240368. Soops B.V. delivers according to the General Terms and Conditions of Business of Fenit, registered at The Hague, The Netherlands on December 8th, 1994, under number 1994/189 ********************************************************************** _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Holger Kleinsorgen-4
Holger Kleinsorgen wrote:
> Am 18.08.2010 11:50, schrieb Reinout Heeck: > >> We received the vw7.7.1 CD today, so I started to publish it into our >> Store repository. >> >> Publishing Base Visualworks generates an error (ORA-01000: maximum open >> cursors exceeded). >> >> > > trent aug10.2 bugfix list mentions > > 60970 Store regression on Oracle - too many open cursors > Thanks Holger, we'll have to submit a support request then.... In the mean time we found a (somewhat silly) workaround: if we use a database with the schema of vw76 we do not run into this problem - probably due to timing differences. In the db tools we do see plenty of those cursors appearing - just not enough to pass the limit any more... R - > _______________________________________________ > vwnc mailing list > [hidden email] > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > -- ********************************************************************* Dit e-mailbericht is alleen bestemd voor de geadresseerde(n). Gebruik door anderen is niet toegestaan. Indien u niet degeadresseerde(n) bent wordt u verzocht de verzender hiervan op de hoogte te stellen en het bericht te verwijderen. Door de elektronische verzending kunnen aan de inhoud van dit bericht geen rechten worden ontleend. Soops B.V. is gevestigd te Amsterdam, Nederland, en is geregistreerd bij de Kamer van Koophandel onder nummer 33240368. Soops B.V. levert volgens de Fenit voorwaarden, gedeponeerd te Den Haag op 8 december 1994 onder nummer 1994/189. ********************************************************************** This e-mail message is intended to be exclusively for the addressee. If you are not the intended recipient you are kindly requested not to make any use whatsoever of the contents and to notify the sender immediately by returning this e-mail message. No rights can be derived from this message. Soops B.V. is a private limited liability company and has its seat at Amsterdam, The Netherlands and is registered with the Trade Registry of the Chamber of Commerce and Industry under number 33240368. Soops B.V. delivers according to the General Terms and Conditions of Business of Fenit, registered at The Hague, The Netherlands on December 8th, 1994, under number 1994/189 ********************************************************************** _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Holger Kleinsorgen-4
I suppose one could ask support to package it as a resolution for 7.7.1
in the portal? -Boris -- DeepCove Labs Ltd. +1 (604) 689-0322 4th floor, 595 Howe Street Vancouver, British Columbia Canada V6C 2T5 http://tinyurl.com/r7uw4 PacNet Services (Europe) Ltd. +353 (0)61 714-360 Shannon Airport House, SFZ County Clare, Ireland http://tinyurl.com/y952amr CONFIDENTIALITY NOTICE This email is intended only for the persons named in the message header. Unless otherwise indicated, it contains information that is private and confidential. If you have received it in error, please notify the sender and delete the entire message including any attachments. Thank you. -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Holger Kleinsorgen Sent: 18 August 2010 12:20 To: [hidden email] Subject: Re: [vwnc] [7.7.1] Publishing base fails Am 18.08.2010 11:50, schrieb Reinout Heeck: > We received the vw7.7.1 CD today, so I started to publish it into our > Store repository. > > Publishing Base Visualworks generates an error (ORA-01000: maximum > open cursors exceeded). > trent aug10.2 bugfix list mentions 60970 Store regression on Oracle - too many open cursors _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Reinout Heeck-2
Dear Reinout,
on all occasions when I get this error, I find that walking up the stack slightly and restarting lets the operation complete fine. Hardly the ideal workaround but it does mean you can get the operation completed. On one occasion (when I was doing a massive database GC taking several hours), I got it twice but each time was able to walk up the stack a little, restart and carry on. (If anyone finds this workaround does _not_ let them continue OK, that would be of interest.) Yours faithfully Niall Ross > We received the vw7.7.1 CD today, so I started to publish it into our > Store repository. > > Publishing Base Visualworks generates an error (ORA-01000: maximum > open cursors exceeded). > > I retried the operation but that gave the same result, stack dump > attached. > > Steps I took: > --copied our 7.6 repository (and changed the repository identifier). > --load StoreForOracle > --ran update77 and update 771 > --'switch databases' to reconcile > --publish Base VisualWorks bundle > > Reinout > ------- > > > >------------------------------------------------------------------------ > >Unhandled exception: >ORA-01000: maximum open cursors exceeded > >Glorp.GlorpDatabaseReadError(Glorp.GlorpError)>>signal >Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>handleError:for: >optimized [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: >BlockClosure>>cull: >UnableToExecuteSQL(GenericException)>>performHandler: >UnableToExecuteSQL(GenericException)>>propagatePrivateFrom: >UnableToExecuteSQL(GenericException)>>propagateFrom: >UnableToExecuteSQL(GenericException)>>propagate >UnableToExecuteSQL(GenericException)>>raiseSignal >UnableToExecuteSQL class(GenericException class)>>raiseWith:errorString: >OracleSession>>resultsExternal >OracleSession>>executeExternal >optimized [] in ExternalDatabaseSession>>execute >BlockClosure>>ifCurtailed: >OracleSession(ExternalDatabaseSession)>>execute >Glorp.VWDatabaseAccessor>>executeCommand:inDBSession: >optimized [] in Glorp.VWDatabaseAccessor>>executeCommandBound: >Time class>>microsecondsToRun: >Time class>>millisecondsToRun: >Glorp.VWDatabaseAccessor>>executeCommandBound: >Glorp.QuerySelectCommand(Glorp.DatabaseCommand)>>executeBoundIn: >optimized [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: >BlockClosure>>on:do: >optimized [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: >BlockClosure>>ensure: >Semaphore>>critical: >Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeCommand:returnCursor: >optimized [] in Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: >BlockClosure>>on:do: >Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: >Glorp.SimpleQuery(Glorp.AbstractReadQuery)>>readFromDatabaseWithParameters: >Glorp.SimpleQuery(Glorp.AbstractReadQuery)>>executeWithParameters:in: >Glorp.GlorpSession>>execute: >Glorp.GlorpSession>>readOneOf:where: >Store.Glorp.StorePundleWriter>>readPreviousVersion >Store.Glorp.StorePundleWriter>>previousVersionInTargetDatabase >Store.Glorp.StorePundleWriter>>isPreviousVersionPresent >Store.Glorp.StorePundleWriter>>writePundlePhase1:withChangesBasedOn:using: >Store.Glorp.StorePundleWriter>>writePundle:withChangesBasedOn:using: >optimized [] in [] in Store.PublishSpecificationList>>publishSilently >BlockClosure>>on:do: >[] in Store.PublishSpecificationList>>publishSilently >Store.PublishSpecificationList>>publishSilently >Store.PublishSpecificationList>>publishPundle >optimized [] in Store.PublishPundleDialog>>accept >optimized [] in Store.StoreProgressOverlay class>>subsumeAll:while: >BlockClosure>>ensure: >Store.StoreProgressOverlay class>>subsumeAll:while: >Store.StoreProgressOverlay class>>subsume:while: >Store.PublishPundleDialog>>accept >optimized [] in ApplicationModel>>actionFor: >optimized [] in ActionButtonSpec>>typeConvert: >PluggableAdaptor>>setValue: >PluggableAdaptor(ValueModel)>>value: >WinXPTriggerButtonController(TriggerButtonController)>>pressAction >TriggerButtonTracker(BasicButtonTracker)>>finishSelectionFor: >TriggerButtonTracker>>finishSelectionFor: >TriggerButtonTracker(SelectionTracker)>>redButtonReleasedEvent: >RedButtonReleasedEvent>>dispatchTo: >TriggerButtonTracker(SelectionTracker)>>handleEvent: >EventDispatcher>>dispatch:to: >[] in EventDispatcher>>dispatchEvent: >BlockClosure>>on:do: >EventDispatcher>>dispatchEvent: >RedButtonReleasedEvent(Event)>>dispatch >RedButtonReleasedEvent(Event)>>dispatchForWindowManager: >optimized [] in WindowManager>>safelyDispatchForWindowManager: >BlockClosure>>on:do: >WindowManager>>safelyDispatchForWindowManager: >WindowManager>>processNextEvent >optimized [] in [] in WindowManager>>newProcess >BlockClosure>>on:do: >optimized [] in WindowManager>>newProcess >BlockClosure>>on:do: >optimized [] in Process class>>forBlock:priority: > >---------------------------------------------------------------------- >Glorp.GlorpDatabaseReadError(Glorp.GlorpError)>>signal >Receiver: > a Glorp.GlorpDatabaseReadError >Instance Variables: > messageText = ' >ORA-01000: maximum open cursors exceeded >' > originator = a Glorp.GlorpDatabaseReadError > initialContext = Glorp.GlorpDatabaseReadError(Glorp.GlorpError)>>signal > firstUnwindContext = BlockClosure>>ifCurtailed: > handlerContext = nil > parameter = nil > proceedBlock = nil > isResumable = true > signal = nil > searchContext = Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: > command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) > databaseError = an UnableToExecuteSQL > accessor = a Glorp.VWDatabaseAccessor >Context PC = 7 > >---------------------------------------------------------------------- >Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>handleError:for: >Receiver: > a Glorp.VWDatabaseAccessor >Instance Variables: > connection = an OracleConnection( hsvcctx = 47D8DA8 ) > currentLogin = a Login(a Glorp.OraclePlatform, 'store', 'store771', 'store') > logging = false > reusePreparedStatements = true > deniedCommands = nil > mutex = a Semaphore[0] > dependents = nil > driverSession = an OracleSession( hstmt = 4C60A80 ) > preparedStatements = a Glorp.CacheManager >Arguments: > exception = an UnableToExecuteSQL > command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >Temporaries: > errorClass = Glorp.GlorpDatabaseReadError > error = a Glorp.GlorpDatabaseReadError >Context PC = 28 > >---------------------------------------------------------------------- >optimized [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: >Receiver: > an UndefinedObject >Arguments: > ex = an UnableToExecuteSQL >Temporaries: > .self = a Glorp.VWDatabaseAccessor > .command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >Context PC = 8 > >---------------------------------------------------------------------- >BlockClosure>>cull: >Receiver: > a BlockClosure >Instance Variables: > method = CompiledBlock [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: > outerContext = nil > copiedValues = an Array[2] >Arguments: > anObject = an UnableToExecuteSQL >Context PC = 15 > >---------------------------------------------------------------------- >UnableToExecuteSQL(GenericException)>>performHandler: >Receiver: > an UnableToExecuteSQL >Instance Variables: > messageText = ' >ORA-01000: maximum open cursors exceeded >' > originator = an OracleSession( hstmt = 4C5F62C ) > initialContext = OracleSession>>resultsExternal > firstUnwindContext = BlockClosure>>ifCurtailed: > handlerContext = BlockClosure>>on:do: > parameter = an Array[1] > proceedBlock = nil > isResumable = false > signal = nil > searchContext = OracleSession>>resultsExternal >Arguments: > aContext = BlockClosure>>on:do: >Temporaries: > result = nil > oldHandler = BlockClosure>>on:do: >Context PC = 39 > >---------------------------------------------------------------------- >UnableToExecuteSQL(GenericException)>>propagatePrivateFrom: >Receiver: > an UnableToExecuteSQL >Instance Variables: > messageText = ' >ORA-01000: maximum open cursors exceeded >' > originator = an OracleSession( hstmt = 4C5F62C ) > initialContext = OracleSession>>resultsExternal > firstUnwindContext = BlockClosure>>ifCurtailed: > handlerContext = BlockClosure>>on:do: > parameter = an Array[1] > proceedBlock = nil > isResumable = false > signal = nil > searchContext = OracleSession>>resultsExternal >Arguments: > aContext = OracleSession>>resultsExternal >Temporaries: > handler = BlockClosure>>on:do: >Context PC = 13 > >---------------------------------------------------------------------- >UnableToExecuteSQL(GenericException)>>propagateFrom: >Receiver: > an UnableToExecuteSQL >Instance Variables: > messageText = ' >ORA-01000: maximum open cursors exceeded >' > originator = an OracleSession( hstmt = 4C5F62C ) > initialContext = OracleSession>>resultsExternal > firstUnwindContext = BlockClosure>>ifCurtailed: > handlerContext = BlockClosure>>on:do: > parameter = an Array[1] > proceedBlock = nil > isResumable = false > signal = nil > searchContext = OracleSession>>resultsExternal >Arguments: > startContext = OracleSession>>resultsExternal >Context PC = 9 > >---------------------------------------------------------------------- >UnableToExecuteSQL(GenericException)>>propagate >Receiver: > an UnableToExecuteSQL >Instance Variables: > messageText = ' >ORA-01000: maximum open cursors exceeded >' > originator = an OracleSession( hstmt = 4C5F62C ) > initialContext = OracleSession>>resultsExternal > firstUnwindContext = BlockClosure>>ifCurtailed: > handlerContext = BlockClosure>>on:do: > parameter = an Array[1] > proceedBlock = nil > isResumable = false > signal = nil > searchContext = OracleSession>>resultsExternal >Context PC = 5 > >---------------------------------------------------------------------- >UnableToExecuteSQL(GenericException)>>raiseSignal >Receiver: > an UnableToExecuteSQL >Instance Variables: > messageText = ' >ORA-01000: maximum open cursors exceeded >' > originator = an OracleSession( hstmt = 4C5F62C ) > initialContext = OracleSession>>resultsExternal > firstUnwindContext = BlockClosure>>ifCurtailed: > handlerContext = BlockClosure>>on:do: > parameter = an Array[1] > proceedBlock = nil > isResumable = false > signal = nil > searchContext = OracleSession>>resultsExternal >Context PC = 16 > >---------------------------------------------------------------------- >UnableToExecuteSQL class(GenericException class)>>raiseWith:errorString: >Receiver: > an UnableToExecuteSQL class >Instance Variables: > superclass = ExternalDatabaseException > methodDict = a MethodDictionary[1] > format = 16394 > subclasses = an Array[5] > instanceVariables = an Array[0] > organization = ('printing' #defaultMessageText) > > name = #UnableToExecuteSQL > classPool = a NameSpaceOfClass[0] > environment = a NameSpace[130] > notifierString = nil >Arguments: > parameter = an Array[1] > aStringOrValuable = ' >ORA-01000: maximum open cursors exceeded >' >Context PC = 26 > >---------------------------------------------------------------------- >OracleSession>>resultsExternal >Receiver: > an OracleSession >Instance Variables: > stateHolder = a ValueHolder on: #executing > traceStream = nil > traceLevel = 0 > participants = a WeakArray[0] > participantsSemaphore = a RecursionLock > connection = an OracleConnection( hsvcctx = 47D8DA8 ) > query = 'SELECT t1.primaryKey, t1.name...tamp = ?) AND (t1.name = ?))' > queryFragments = an OrderedCollection[5] > bindInput = an OrderedCollection[2] > bindTemplate = an OrderedCollection[2] > bindOutput = nil > useNamedOutputBinding = false > bindValues = an IdentityDictionary[2] > resultTemplate = nil > allocateForEachRow = true > blockFactor = 1 > numColumns = nil > columnDescriptions = nil > rowAdaptors = nil > rowBuffersHolder = a ValueHolder on: nil > bufferIndex = nil > answerStream = nil > currentRow = nil > scrollable = false > needBinding = true > resultsCache = nil > hstmtHolder = a ValueHolder on: a CCompositePointer {04C5F62C} (struct __OCIStmt * ) > herrHolder = a ValueHolder on: a CCompositePointer {047D82A4} (struct __OCIError * ) > bindValuePointersHolder = a ValueHolder on: IdentityDictionary (1 -> an OracleBuffer 2 -> an OracleBuffer ) > maxLongBytes = 32768 > queryIsPLSQL = false > currentRowIndex = nil > totalRows = nil > rowsInBlock = nil > dependentLobs = a WeakDictionary[0] > sqlPointerHolder = a ValueHolder on: a CPointer {00EEDF60} (unsigned char * ) > maxBindSize = 1 > answerLobProxy = false > defaultDisplayLobSize = 32768 > isReleasedFromCacheHolder = a ValueHolder on: true > lobBufferSize = 32768 > reuseColumnBuffers = false > definePointerHolder = a ValueHolder on: nil > bindPointerHolder = a ValueHolder on: a CPointer {06658870} (struct __OCIBind * * ) >Temporaries: > errs = an OrderedCollection[1] > errorParameter = an Array[1] > error = an OracleError > signal = UnableToExecuteSQL > connClass = OracleConnection >Context PC = 63 > >---------------------------------------------------------------------- >OracleSession>>executeExternal >Receiver: > an OracleSession >Instance Variables: > stateHolder = a ValueHolder on: #executing > traceStream = nil > traceLevel = 0 > participants = a WeakArray[0] > participantsSemaphore = a RecursionLock > connection = an OracleConnection( hsvcctx = 47D8DA8 ) > query = 'SELECT t1.primaryKey, t1.name...tamp = ?) AND (t1.name = ?))' > queryFragments = an OrderedCollection[5] > bindInput = an OrderedCollection[2] > bindTemplate = an OrderedCollection[2] > bindOutput = nil > useNamedOutputBinding = false > bindValues = an IdentityDictionary[2] > resultTemplate = nil > allocateForEachRow = true > blockFactor = 1 > numColumns = nil > columnDescriptions = nil > rowAdaptors = nil > rowBuffersHolder = a ValueHolder on: nil > bufferIndex = nil > answerStream = nil > currentRow = nil > scrollable = false > needBinding = true > resultsCache = nil > hstmtHolder = a ValueHolder on: a CCompositePointer {04C5F62C} (struct __OCIStmt * ) > herrHolder = a ValueHolder on: a CCompositePointer {047D82A4} (struct __OCIError * ) > bindValuePointersHolder = a ValueHolder on: IdentityDictionary (1 -> an OracleBuffer 2 -> an OracleBuffer ) > maxLongBytes = 32768 > queryIsPLSQL = false > currentRowIndex = nil > totalRows = nil > rowsInBlock = nil > dependentLobs = a WeakDictionary[0] > sqlPointerHolder = a ValueHolder on: a CPointer {00EEDF60} (unsigned char * ) > maxBindSize = 1 > answerLobProxy = false > defaultDisplayLobSize = 32768 > isReleasedFromCacheHolder = a ValueHolder on: true > lobBufferSize = 32768 > reuseColumnBuffers = false > definePointerHolder = a ValueHolder on: nil > bindPointerHolder = a ValueHolder on: a CPointer {06658870} (struct __OCIBind * * ) >Temporaries: > rtval = -1 > xif = an OracleNTInterface > hsvcctx = a CCompositePointer {047D8DA8} (struct __OCISvcCtx * ) > hstmt = a CCompositePointer {04C5F62C} (struct __OCIStmt * ) > herr = a CCompositePointer {047D82A4} (struct __OCIError * ) > iterations = 0 > rowOffset = 0 > mode = 32 >Context PC = 180 > >---------------------------------------------------------------------- >optimized [] in ExternalDatabaseSession>>execute >Receiver: > an UndefinedObject >Temporaries: > .self = an OracleSession( hstmt = 4C5F62C ) >Context PC = 13 > >---------------------------------------------------------------------- >BlockClosure>>ifCurtailed: >Receiver: > a BlockClosure >Instance Variables: > method = CompiledBlock [] in ExternalDatabaseSession>>execute > outerContext = nil > copiedValues = an OracleSession( hstmt = 4C5F62C ) >Arguments: > terminationBlock = BlockClosure [] in ExternalDatabaseSession>>execute >Context PC = 4 > >---------------------------------------------------------------------- >OracleSession(ExternalDatabaseSession)>>execute >Receiver: > an OracleSession >Instance Variables: > stateHolder = a ValueHolder on: #executing > traceStream = nil > traceLevel = 0 > participants = a WeakArray[0] > participantsSemaphore = a RecursionLock > connection = an OracleConnection( hsvcctx = 47D8DA8 ) > query = 'SELECT t1.primaryKey, t1.name...tamp = ?) AND (t1.name = ?))' > queryFragments = an OrderedCollection[5] > bindInput = an OrderedCollection[2] > bindTemplate = an OrderedCollection[2] > bindOutput = nil > useNamedOutputBinding = false > bindValues = an IdentityDictionary[2] > resultTemplate = nil > allocateForEachRow = true > blockFactor = 1 > numColumns = nil > columnDescriptions = nil > rowAdaptors = nil > rowBuffersHolder = a ValueHolder on: nil > bufferIndex = nil > answerStream = nil > currentRow = nil > scrollable = false > needBinding = true > resultsCache = nil > hstmtHolder = a ValueHolder on: a CCompositePointer {04C5F62C} (struct __OCIStmt * ) > herrHolder = a ValueHolder on: a CCompositePointer {047D82A4} (struct __OCIError * ) > bindValuePointersHolder = a ValueHolder on: IdentityDictionary (1 -> an OracleBuffer 2 -> an OracleBuffer ) > maxLongBytes = 32768 > queryIsPLSQL = false > currentRowIndex = nil > totalRows = nil > rowsInBlock = nil > dependentLobs = a WeakDictionary[0] > sqlPointerHolder = a ValueHolder on: a CPointer {00EEDF60} (unsigned char * ) > maxBindSize = 1 > answerLobProxy = false > defaultDisplayLobSize = 32768 > isReleasedFromCacheHolder = a ValueHolder on: true > lobBufferSize = 32768 > reuseColumnBuffers = false > definePointerHolder = a ValueHolder on: nil > bindPointerHolder = a ValueHolder on: a CPointer {06658870} (struct __OCIBind * * ) >Context PC = 34 > >---------------------------------------------------------------------- >Glorp.VWDatabaseAccessor>>executeCommand:inDBSession: >Receiver: > a Glorp.VWDatabaseAccessor >Instance Variables: > connection = an OracleConnection( hsvcctx = 47D8DA8 ) > currentLogin = a Login(a Glorp.OraclePlatform, 'store', 'store771', 'store') > logging = false > reusePreparedStatements = true > deniedCommands = nil > mutex = a Semaphore[0] > dependents = nil > driverSession = an OracleSession( hstmt = 4C60A80 ) > preparedStatements = a Glorp.CacheManager >Arguments: > aCommand = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) > aSession = an OracleSession( hstmt = 4C5F62C ) >Temporaries: > answerStream = nil > cursor = nil >Context PC = 3 > >---------------------------------------------------------------------- >optimized [] in Glorp.VWDatabaseAccessor>>executeCommandBound: >Receiver: > an UndefinedObject >Temporaries: > .self = a Glorp.VWDatabaseAccessor > .aCommand = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) > statement = a Glorp.GlorpPreparedStatement > cursor = nil >Context PC = 22 > >---------------------------------------------------------------------- >Time class>>microsecondsToRun: >Receiver: > a Time class >Instance Variables: > superclass = Magnitude > methodDict = a MethodDictionary[31] > format = 16387 > subclasses = nil > instanceVariables = an Array[3] > organization = ('comparing' #< #= #hash) >('accessing' #hours #milliseconds #minutes #seconds) >('arithmetic' #addSeconds: #addTime: #subtractSeconds: #subtractTime:) >('printing' #glorpPadToTwoDigits: #glorpPrintSQLOn: #longPrintString #printOn: #shortPrintString #storeOn:) >('converting' #asDuration #asSeconds #asTimestamp) >('private' #hours: #hours:minutes:seconds: #isCompatibleWithDuration #literalArrayEncoding #printOn:policy:format:) >('private-spin-button' #spinBy:boundedBy:) >('double dispatch' #equalFromDuration: #equalFromTime: #lessFromDuration: #lessFromTime:) >('private-oracle' #oracleConversion) > > name = #Time > classPool = a NameSpaceOfClass[0] > environment = a NameSpace[243] >Arguments: > timedBlock = BlockClosure [] in Glorp.VWDatabaseAccessor>>executeCommandBound: >Temporaries: > initialMicroseconds = 3459576683441564 >Context PC = 7 > >---------------------------------------------------------------------- >Time class>>millisecondsToRun: >Receiver: > a Time class >Instance Variables: > superclass = Magnitude > methodDict = a MethodDictionary[31] > format = 16387 > subclasses = nil > instanceVariables = an Array[3] > organization = ('comparing' #< #= #hash) >('accessing' #hours #milliseconds #minutes #seconds) >('arithmetic' #addSeconds: #addTime: #subtractSeconds: #subtractTime:) >('printing' #glorpPadToTwoDigits: #glorpPrintSQLOn: #longPrintString #printOn: #shortPrintString #storeOn:) >('converting' #asDuration #asSeconds #asTimestamp) >('private' #hours: #hours:minutes:seconds: #isCompatibleWithDuration #literalArrayEncoding #printOn:policy:format:) >('private-spin-button' #spinBy:boundedBy:) >('double dispatch' #equalFromDuration: #equalFromTime: #lessFromDuration: #lessFromTime:) >('private-oracle' #oracleConversion) > > name = #Time > classPool = a NameSpaceOfClass[0] > environment = a NameSpace[243] >Arguments: > timedBlock = BlockClosure [] in Glorp.VWDatabaseAccessor>>executeCommandBound: >Context PC = 5 > >---------------------------------------------------------------------- >Glorp.VWDatabaseAccessor>>executeCommandBound: >Receiver: > a Glorp.VWDatabaseAccessor >Instance Variables: > connection = an OracleConnection( hsvcctx = 47D8DA8 ) > currentLogin = a Login(a Glorp.OraclePlatform, 'store', 'store771', 'store') > logging = false > reusePreparedStatements = true > deniedCommands = nil > mutex = a Semaphore[0] > dependents = nil > driverSession = an OracleSession( hstmt = 4C60A80 ) > preparedStatements = a Glorp.CacheManager >Arguments: > aCommand = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >Temporaries: > statement = a Glorp.GlorpPreparedStatement > cursor = nil > time = nil > block = BlockClosure [] in Glorp.VWDatabaseAccessor>>executeCommandBound: >Context PC = 19 > >---------------------------------------------------------------------- >Glorp.QuerySelectCommand(Glorp.DatabaseCommand)>>executeBoundIn: >Receiver: > a Glorp.QuerySelectCommand >Instance Variables: > useBinding = true > stream = nil > sqlString = 'SELECT t1.primaryKey, t1.name...tamp = ?) AND (t1.name = ?))' > session = a Glorp.GlorpSession > parameters = an Array[0] > blockFactor = 1 > query = a SimpleQuery for StoreBundle > boundExpressions = an OrderedCollection[2] >Arguments: > anAccessor = a Glorp.VWDatabaseAccessor >Context PC = 4 > >---------------------------------------------------------------------- >optimized [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: >Receiver: > an UndefinedObject >Temporaries: > .self = a Glorp.VWDatabaseAccessor > .command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >Context PC = 15 > >---------------------------------------------------------------------- >BlockClosure>>on:do: >Receiver: > a BlockClosure >Instance Variables: > method = CompiledBlock [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: > outerContext = nil > copiedValues = an Array[2] >Arguments: > anExceptionSelector = Error > handlerBlock = BlockClosure [] in [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: >Context PC = 18 > >---------------------------------------------------------------------- >optimized [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: >Receiver: > an UndefinedObject >Temporaries: > result = nil > .self = a Glorp.VWDatabaseAccessor > .command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) > .aBoolean = true >Context PC = 21 > >---------------------------------------------------------------------- >BlockClosure>>ensure: >Receiver: > a BlockClosure >Instance Variables: > method = CompiledBlock [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: > outerContext = nil > copiedValues = an Array[3] >Arguments: > aBlock = BlockClosure [] in Semaphore>>critical: >Temporaries: > result = nil >Context PC = 4 > >---------------------------------------------------------------------- >Semaphore>>critical: >Receiver: > a Semaphore >Instance Variables: > firstLink = nil > lastLink = nil > excessSignals = 0 >Arguments: > mutuallyExcludedBlock = BlockClosure [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: >Context PC = 10 > >---------------------------------------------------------------------- >Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeCommand:returnCursor: >Receiver: > a Glorp.VWDatabaseAccessor >Instance Variables: > connection = an OracleConnection( hsvcctx = 47D8DA8 ) > currentLogin = a Login(a Glorp.OraclePlatform, 'store', 'store771', 'store') > logging = false > reusePreparedStatements = true > deniedCommands = nil > mutex = a Semaphore[0] > dependents = nil > driverSession = an OracleSession( hstmt = 4C60A80 ) > preparedStatements = a Glorp.CacheManager >Arguments: > command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) > aBoolean = true >Context PC = 10 > >---------------------------------------------------------------------- >optimized [] in Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: >Receiver: > an UndefinedObject >Temporaries: > .self = a SimpleQuery for StoreBundle > .command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >Context PC = 9 > >---------------------------------------------------------------------- >BlockClosure>>on:do: >Receiver: > a BlockClosure >Instance Variables: > method = CompiledBlock [] in Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: > outerContext = nil > copiedValues = an Array[2] >Arguments: > anExceptionSelector = Glorp.GlorpDatabaseReadError > handlerBlock = BlockClosure [] in Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: >Context PC = 18 > >---------------------------------------------------------------------- >Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: >Receiver: > a Glorp.SimpleQuery >Instance Variables: > session = a Glorp.GlorpSession > prepared = true > expectedRows = 1 > collectionType = nil > ordering = nil > maximumLobSizeToRetrieveDirectly = 32768 > readsOneObject = true > groupBy = nil > resultClass = Store.Glorp.StoreBundle > whereClause = Base(Store.Glorp.StoreBundle).timestamp = February 7, 2008 9:50:20 AM AND Base(Store.Glorp.StoreBundle).name = 'Base VisualWorks' > base = Base(Store.Glorp.StoreBundle) > limit = 1 > offset = nil > proxyType = nil > shouldRefresh = false > tracing = a Glorp.Tracing > builders = an Array[1] > fields = an OrderedCollection[9] > joins = an OrderedCollection[0] > tablePrefix = nil > customCommand = nil > tablesToPrint = a SortedCollection[1] >Arguments: > anArray = an Array[0] >Temporaries: > alreadyTriedAction = true > command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >Context PC = 43 > >---------------------------------------------------------------------- >Glorp.SimpleQuery(Glorp.AbstractReadQuery)>>readFromDatabaseWithParameters: >Receiver: > a Glorp.SimpleQuery >Instance Variables: > session = a Glorp.GlorpSession > prepared = true > expectedRows = 1 > collectionType = nil > ordering = nil > maximumLobSizeToRetrieveDirectly = 32768 > readsOneObject = true > groupBy = nil > resultClass = Store.Glorp.StoreBundle > whereClause = Base(Store.Glorp.StoreBundle).timestamp = February 7, 2008 9:50:20 AM AND Base(Store.Glorp.StoreBundle).name = 'Base VisualWorks' > base = Base(Store.Glorp.StoreBundle) > limit = 1 > offset = nil > proxyType = nil > shouldRefresh = false > tracing = a Glorp.Tracing > builders = an Array[1] > fields = an OrderedCollection[9] > joins = an OrderedCollection[0] > tablePrefix = nil > customCommand = nil > tablesToPrint = a SortedCollection[1] >Arguments: > anArray = an Array[0] >Temporaries: > answerStream = nil > result = nil >Context PC = 5 > >---------------------------------------------------------------------- >Glorp.SimpleQuery(Glorp.AbstractReadQuery)>>executeWithParameters:in: >Receiver: > a Glorp.SimpleQuery >Instance Variables: > session = a Glorp.GlorpSession > prepared = true > expectedRows = 1 > collectionType = nil > ordering = nil > maximumLobSizeToRetrieveDirectly = 32768 > readsOneObject = true > groupBy = nil > resultClass = Store.Glorp.StoreBundle > whereClause = Base(Store.Glorp.StoreBundle).timestamp = February 7, 2008 9:50:20 AM AND Base(Store.Glorp.StoreBundle).name = 'Base VisualWorks' > base = Base(Store.Glorp.StoreBundle) > limit = 1 > offset = nil > proxyType = nil > shouldRefresh = false > tracing = a Glorp.Tracing > builders = an Array[1] > fields = an OrderedCollection[9] > joins = an OrderedCollection[0] > tablePrefix = nil > customCommand = nil > tablesToPrint = a SortedCollection[1] >Arguments: > parameterArray = an Array[0] > aSession = a Glorp.GlorpSession >Context PC = 35 > >---------------------------------------------------------------------- >Glorp.GlorpSession>>execute: >Receiver: > a Glorp.GlorpSession >Instance Variables: > system = a Store.Glorp.Store74DescriptorSystem > currentUnitOfWork = nil > cache = a Glorp.CacheManager > accessor = a Glorp.VWDatabaseAccessor > applicationData = nil > reaper = nil > errorAction = nil > modificationTracker = nil >Arguments: > aQuery = a SimpleQuery for StoreBundle >Context PC = 5 > >---------------------------------------------------------------------- >Glorp.GlorpSession>>readOneOf:where: >Receiver: > a Glorp.GlorpSession >Instance Variables: > system = a Store.Glorp.Store74DescriptorSystem > currentUnitOfWork = nil > cache = a Glorp.CacheManager > accessor = a Glorp.VWDatabaseAccessor > applicationData = nil > reaper = nil > errorAction = nil > modificationTracker = nil >Arguments: > aClass = Store.Glorp.StoreBundle > aBlock = BlockClosure [] in Store.Glorp.StorePundleWriter>>readPreviousVersion >Context PC = 8 > >---------------------------------------------------------------------- >Store.Glorp.StorePundleWriter>>readPreviousVersion >Receiver: > a Store.Glorp.StorePundleWriter >Instance Variables: > pundle = StoreBundle(Base VisualWorks,vw771-sps0) > newPundle = nil > previousVersionInTargetDatabase = an Object > targetSession = a Glorp.GlorpSession > preWriteAction = nil > splitPundles = true > notificationQueue = nil >Context PC = 12 > >---------------------------------------------------------------------- >Store.Glorp.StorePundleWriter>>previousVersionInTargetDatabase >Receiver: > a Store.Glorp.StorePundleWriter >Instance Variables: > pundle = StoreBundle(Base VisualWorks,vw771-sps0) > newPundle = nil > previousVersionInTargetDatabase = an Object > targetSession = a Glorp.GlorpSession > preWriteAction = nil > splitPundles = true > notificationQueue = nil >Context PC = 18 > >---------------------------------------------------------------------- >Store.Glorp.StorePundleWriter>>isPreviousVersionPresent >Receiver: > a Store.Glorp.StorePundleWriter >Instance Variables: > pundle = StoreBundle(Base VisualWorks,vw771-sps0) > newPundle = nil > previousVersionInTargetDatabase = an Object > targetSession = a Glorp.GlorpSession > preWriteAction = nil > splitPundles = true > notificationQueue = nil >Context PC = 4 > >---------------------------------------------------------------------- >Store.Glorp.StorePundleWriter>>writePundlePhase1:withChangesBasedOn:using: >Receiver: > a Store.Glorp.StorePundleWriter >Instance Variables: > pundle = StoreBundle(Base VisualWorks,vw771-sps0) > newPundle = nil > previousVersionInTargetDatabase = an Object > targetSession = a Glorp.GlorpSession > preWriteAction = nil > splitPundles = true > notificationQueue = nil >Arguments: > aPundle = StoreBundle(Base VisualWorks,vw771-sps0) > anImagePundle = {Base VisualWorks} > aCollection = an OrderedCollection[117] >Context PC = 11 > >---------------------------------------------------------------------- >Store.Glorp.StorePundleWriter>>writePundle:withChangesBasedOn:using: >Receiver: > a Store.Glorp.StorePundleWriter >Instance Variables: > pundle = StoreBundle(Base VisualWorks,vw771-sps0) > newPundle = nil > previousVersionInTargetDatabase = an Object > targetSession = a Glorp.GlorpSession > preWriteAction = nil > splitPundles = true > notificationQueue = nil >Arguments: > aPundle = StoreBundle(Base VisualWorks,vw771-sps0) > anImagePundle = {Base VisualWorks} > aCollection = an OrderedCollection[117] >Context PC = 7 > >---------------------------------------------------------------------- >optimized [] in [] in Store.PublishSpecificationList>>publishSilently >Receiver: > an UndefinedObject >Temporaries: > .self = a Store.PublishSpecificationList[117] > newPundle = nil > targetPundles = an OrderedCollection[117] >Context PC = 16 > >---------------------------------------------------------------------- >BlockClosure>>on:do: >Receiver: > a BlockClosure >Instance Variables: > method = CompiledBlock [] in [] in Store.PublishSpecificationList>>publishSilently > outerContext = nil > copiedValues = an Array[2] >Arguments: > anExceptionSelector = Glorp.GlorpDatabaseWriteError > handlerBlock = BlockClosure [] in [] in Store.PublishSpecificationList>>publishSilently >Context PC = 18 > >---------------------------------------------------------------------- >[] in Store.PublishSpecificationList>>publishSilently >Receiver: > a Store.PublishSpecificationList >Instance Variables: > dependents = a SequenceView > collection = an Array[192] > limit = 117 > collectionSize = 192 > publisher = a Store.Glorp.StorePundleWriter > notificationQueue = nil >Temporaries: > .self = a Store.PublishSpecificationList[117] > newPundle = nil > targetPundles = an OrderedCollection[117] >Context PC = 17 > >---------------------------------------------------------------------- >Store.PublishSpecificationList>>publishSilently >Receiver: > a Store.PublishSpecificationList >Instance Variables: > dependents = a SequenceView > collection = an Array[192] > limit = 117 > collectionSize = 192 > publisher = a Store.Glorp.StorePundleWriter > notificationQueue = nil >Temporaries: > newPundle = nil > targetPundles = an OrderedCollection[117] >Context PC = 29 > >---------------------------------------------------------------------- >Store.PublishSpecificationList>>publishPundle >Receiver: > a Store.PublishSpecificationList >Instance Variables: > dependents = a SequenceView > collection = an Array[192] > limit = 117 > collectionSize = 192 > publisher = a Store.Glorp.StorePundleWriter > notificationQueue = nil >Temporaries: > pundle = nil >Context PC = 8 > >---------------------------------------------------------------------- >optimized [] in Store.PublishPundleDialog>>accept >Receiver: > an UndefinedObject >Temporaries: > .self = a Store.PublishPundleDialog >Context PC = 7 > >---------------------------------------------------------------------- >optimized [] in Store.StoreProgressOverlay class>>subsumeAll:while: >Receiver: > an UndefinedObject >Temporaries: > .windowsToSubsume = an Array[1] > .self = Store.StoreProgressOverlay > overlays = an Array[1] > .aBlock = BlockClosure [] in Store.PublishPundleDialog>>accept >Context PC = 14 > >---------------------------------------------------------------------- >BlockClosure>>ensure: >Receiver: > a BlockClosure >Instance Variables: > method = CompiledBlock [] in Store.StoreProgressOverlay class>>subsumeAll:while: > outerContext = nil > copiedValues = an Array[4] >Arguments: > aBlock = BlockClosure [] in Store.StoreProgressOverlay class>>subsumeAll:while: >Temporaries: > result = nil >Context PC = 4 > >---------------------------------------------------------------------- >Store.StoreProgressOverlay class>>subsumeAll:while: >Receiver: > a Store.StoreProgressOverlay class >Instance Variables: > superclass = Panel > methodDict = a MethodDictionary[12] > format = 16394 > subclasses = nil > instanceVariables = an Array[3] > organization = ('initialize-release' #addProgressView #initializeLayoutAlgorithm #restoreOriginal #subsume:) >('private' #backdrop #dropdownGradient #dropdownRectangle #progressView #regularView #washOutBackdropImage) >('displaying' #displayDropdownOn: #displayPart:on:) > > name = #StoreProgressOverlay > classPool = a NameSpaceOfClass[0] > environment = a NameSpace[313] >Arguments: > aWindowCollection = an Array[1] > aBlock = BlockClosure [] in Store.PublishPundleDialog>>accept >Temporaries: > overlays = an Array[1] > windowsToSubsume = an Array[1] >Context PC = 22 > >---------------------------------------------------------------------- >Store.StoreProgressOverlay class>>subsume:while: >Receiver: > a Store.StoreProgressOverlay class >Instance Variables: > superclass = Panel > methodDict = a MethodDictionary[12] > format = 16394 > subclasses = nil > instanceVariables = an Array[3] > organization = ('initialize-release' #addProgressView #initializeLayoutAlgorithm #restoreOriginal #subsume:) >('private' #backdrop #dropdownGradient #dropdownRectangle #progressView #regularView #washOutBackdropImage) >('displaying' #displayDropdownOn: #displayPart:on:) > > name = #StoreProgressOverlay > classPool = a NameSpaceOfClass[0] > environment = a NameSpace[313] >Arguments: > aWindowOrNil = a ScheduledWindow 7626 > aBlock = BlockClosure [] in Store.PublishPundleDialog>>accept >Context PC = 9 > >---------------------------------------------------------------------- >Store.PublishPundleDialog>>accept >Receiver: > a Store.PublishPundleDialog >Instance Variables: > dependents = a ScheduledWindow 7626 > builder = an UIBuilder > uiSession = a ControlManager > eventHandlers = nil > list = a SelectionInList > disturbed = a ValueHolder on: false > subBuilder = an UIBuilder > items = a SelectionInList > blessingLevel = a ValueHolder on: 99 > blessingComment = a ValueHolder on: Text for 'From the Cincom release cd' > publish = a ValueHolder on: true > versionString = a ValueHolder on: 'vw771-sps0' > binarySave = a ValueHolder on: false > parcelSave = a ValueHolder on: false > bundleStructure = a ValueHolder on: false > databaseLinks = a ValueHolder on: false > parcelDirectory = a ValueHolder on: 'Base VisualWorks' > parcelSaveSource = a ValueHolder on: true > parcelHideSource = a ValueHolder on: false > parcelPadded = a ValueHolder on: false > parcelRepublish = a ValueHolder on: false > parcelBackup = a ValueHolder on: false > parcelOverwrite = a ValueHolder on: false > parcelWarningMessage = '' > labelDict = a Dictionary[117] > offsets = an Array[4] > callBackBlock = nil > retry = false > files = a SelectionInList > publishFile = nil > parcelVersionString = a ValueHolder on: 'vw77' >Temporaries: > navigatorClass = nil >Context PC = 32 > >---------------------------------------------------------------------- >optimized [] in ApplicationModel>>actionFor: >Receiver: > an UndefinedObject >Temporaries: > .self = a Store.PublishPundleDialog > .aKey = #accept >Context PC = 7 > >---------------------------------------------------------------------- >optimized [] in ActionButtonSpec>>typeConvert: >Receiver: > an UndefinedObject >Arguments: > b = a ValueHolder on: nil > v = true >Temporaries: > .aValue = BlockClosure [] in ApplicationModel>>actionFor: >Context PC = 5 > >---------------------------------------------------------------------- >PluggableAdaptor>>setValue: >Receiver: > a PluggableAdaptor >Instance Variables: > dependents = a WinXPActionButtonView > model = a ValueHolder on: nil > getBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: > putBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: > updateBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: >Arguments: > newValue = true >Context PC = 6 > >---------------------------------------------------------------------- >PluggableAdaptor(ValueModel)>>value: >Receiver: > a PluggableAdaptor >Instance Variables: > dependents = a WinXPActionButtonView > model = a ValueHolder on: nil > getBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: > putBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: > updateBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: >Arguments: > newValue = true >Context PC = 5 > >---------------------------------------------------------------------- >WinXPTriggerButtonController(TriggerButtonController)>>pressAction >Receiver: > a WinXPTriggerButtonController >Instance Variables: > model = a PluggableAdaptor > view = a WinXPActionButtonView > sensor = a TranslatingSensor > keyboardHook = nil > dispatcher = nil >Context PC = 17 > >---------------------------------------------------------------------- >TriggerButtonTracker(BasicButtonTracker)>>finishSelectionFor: >Receiver: > a TriggerButtonTracker >Instance Variables: > controller = a WinXPTriggerButtonController > inside = true >Arguments: > aPoint = 51 @ 9 >Context PC = 8 > >---------------------------------------------------------------------- >TriggerButtonTracker>>finishSelectionFor: >Receiver: > a TriggerButtonTracker >Instance Variables: > controller = a WinXPTriggerButtonController > inside = true >Arguments: > aPoint = 51 @ 9 >Context PC = 11 > >---------------------------------------------------------------------- >TriggerButtonTracker(SelectionTracker)>>redButtonReleasedEvent: >Receiver: > a TriggerButtonTracker >Instance Variables: > controller = a WinXPTriggerButtonController > inside = true >Arguments: > aMouseButtonEvent = a RedButtonReleasedEvent >Context PC = 13 > >---------------------------------------------------------------------- >RedButtonReleasedEvent>>dispatchTo: >Receiver: > a RedButtonReleasedEvent >Instance Variables: > time = 8718359 > initiator = an EventDispatcher > window = a ScheduledWindow 7626 > state = 0 > x = 336 > y = 524 > gx = 701 > gy = 746 > buttonNumber = 1 >Arguments: > anObject = a TriggerButtonTracker >Context PC = 4 > >---------------------------------------------------------------------- >TriggerButtonTracker(SelectionTracker)>>handleEvent: >Receiver: > a TriggerButtonTracker >Instance Variables: > controller = a WinXPTriggerButtonController > inside = true >Arguments: > anEvent = a RedButtonReleasedEvent >Context PC = 4 > >---------------------------------------------------------------------- >EventDispatcher>>dispatch:to: >Receiver: > an EventDispatcher >Instance Variables: > windowController = an ApplicationStandardSystemController > currentMouseConsumer = nil > grabbingMouse = false > lastControlObject = nil > trapList = nil > state = nil > repairDamageWhenDebugging = true > flushQueueAfterError = true > distributeEventsWhenDebugging = true > dragDropInProgress = false > dragDropTracker = nil > dispatchUnknownEvents = false >Arguments: > event = a RedButtonReleasedEvent > object = a TriggerButtonTracker >Temporaries: > tmp = nil >Context PC = 10 > >---------------------------------------------------------------------- >[] in EventDispatcher>>dispatchEvent: >Receiver: > an EventDispatcher >Instance Variables: > windowController = an ApplicationStandardSystemController > currentMouseConsumer = nil > grabbingMouse = false > lastControlObject = nil > trapList = nil > state = nil > repairDamageWhenDebugging = true > flushQueueAfterError = true > distributeEventsWhenDebugging = true > dragDropInProgress = false > dragDropTracker = nil > dispatchUnknownEvents = false >Temporaries: > .self = an EventDispatcher > .event = a RedButtonReleasedEvent >Context PC = 9 > >---------------------------------------------------------------------- >BlockClosure>>on:do: >Receiver: > a BlockClosure >Instance Variables: > method = CompiledBlock [] in EventDispatcher>>dispatchEvent: > outerContext = EventDispatcher>>dispatchEvent: > copiedValues = an Array[2] >Arguments: > anExceptionSelector = ClosedWindowNotification > handlerBlock = BlockClosure [] in EventDispatcher>>dispatchEvent: >Context PC = 18 > >---------------------------------------------------------------------- >EventDispatcher>>dispatchEvent: >Receiver: > an EventDispatcher >Instance Variables: > windowController = an ApplicationStandardSystemController > currentMouseConsumer = nil > grabbingMouse = false > lastControlObject = nil > trapList = nil > state = nil > repairDamageWhenDebugging = true > flushQueueAfterError = true > distributeEventsWhenDebugging = true > dragDropInProgress = false > dragDropTracker = nil > dispatchUnknownEvents = false >Arguments: > event = a RedButtonReleasedEvent >Temporaries: > objectWantingControl = nil > targetKeyboardProcessor = nil >Context PC = 68 > >---------------------------------------------------------------------- >RedButtonReleasedEvent(Event)>>dispatch >Receiver: > a RedButtonReleasedEvent >Instance Variables: > time = 8718359 > initiator = an EventDispatcher > window = a ScheduledWindow 7626 > state = 0 > x = 336 > y = 524 > gx = 701 > gy = 746 > buttonNumber = 1 >Context PC = 16 > >---------------------------------------------------------------------- >RedButtonReleasedEvent(Event)>>dispatchForWindowManager: >Receiver: > a RedButtonReleasedEvent >Instance Variables: > time = 8718359 > initiator = an EventDispatcher > window = a ScheduledWindow 7626 > state = 0 > x = 336 > y = 524 > gx = 701 > gy = 746 > buttonNumber = 1 >Arguments: > aWinMgr = a WindowManager >Context PC = 4 > >---------------------------------------------------------------------- >optimized [] in WindowManager>>safelyDispatchForWindowManager: >Receiver: > an UndefinedObject >Temporaries: > .event = a RedButtonReleasedEvent > .self = a WindowManager >Context PC = 6 > >---------------------------------------------------------------------- >BlockClosure>>on:do: >Receiver: > a BlockClosure >Instance Variables: > method = CompiledBlock [] in WindowManager>>safelyDispatchForWindowManager: > outerContext = nil > copiedValues = an Array[2] >Arguments: > anExceptionSelector = BadControllerError > handlerBlock = BlockClosure [] in WindowManager>>safelyDispatchForWindowManager: >Context PC = 18 > >---------------------------------------------------------------------- >WindowManager>>safelyDispatchForWindowManager: >Receiver: > a WindowManager >Instance Variables: > windows = an OrderedCollection[2] > activeController = nil > interruptLock = false > outstandingMetaOrDamage = false > openInProgress = false > eventQueue = an EventQueue > baseProcess = a Process in Semaphore>>waitIfCurtailedSignal > dontFilterEvents = false >Arguments: > event = a RedButtonReleasedEvent >Context PC = 13 > >---------------------------------------------------------------------- >WindowManager>>processNextEvent >Receiver: > a WindowManager >Instance Variables: > windows = an OrderedCollection[2] > activeController = nil > interruptLock = false > outstandingMetaOrDamage = false > openInProgress = false > eventQueue = an EventQueue > baseProcess = a Process in Semaphore>>waitIfCurtailedSignal > dontFilterEvents = false >Temporaries: > event = a RedButtonReleasedEvent >Context PC = 9 > >---------------------------------------------------------------------- >optimized [] in [] in WindowManager>>newProcess >Receiver: > an UndefinedObject >Temporaries: > .self = a WindowManager >Context PC = 13 > >---------------------------------------------------------------------- >BlockClosure>>on:do: >Receiver: > a BlockClosure >Instance Variables: > method = CompiledBlock [] in [] in WindowManager>>newProcess > outerContext = nil > copiedValues = a WindowManager >Arguments: > anExceptionSelector = TerminateException > handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess >Context PC = 18 > >---------------------------------------------------------------------- >optimized [] in WindowManager>>newProcess >Receiver: > an UndefinedObject >Temporaries: > .self = a WindowManager >Context PC = 15 > >---------------------------------------------------------------------- >BlockClosure>>on:do: >Receiver: > a BlockClosure >Instance Variables: > method = CompiledBlock [] in WindowManager>>newProcess > outerContext = nil > copiedValues = a WindowManager >Arguments: > anExceptionSelector = TerminateException > handlerBlock = BlockClosure [] in [] in Process class>>forBlock:priority: >Context PC = 18 > >---------------------------------------------------------------------- >optimized [] in Process class>>forBlock:priority: >Receiver: > an UndefinedObject >Temporaries: > .aBlock = BlockClosure [] in WindowManager>>newProcess >Context PC = 9 > > >------------------------------------------------------------------------ > >_______________________________________________ >vwnc mailing list >[hidden email] >http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Niall Ross wrote:
> Dear Reinout, > on all occasions when I get this error, I find that walking up the > stack slightly and restarting lets the operation complete fine. > Hardly the ideal workaround but it does mean you can get the operation > completed. On one occasion (when I was doing a massive database GC > taking several hours), I got it twice but each time was able to walk > up the stack a little, restart and carry on. Thats what I did of course - I love smalltalk ;-) For my situation it was necessary that the db connection was broken and re-established, but that worked out alright in this case.. We received a patch instruction from Cincom support, but I'll have to review that coming week -- at first blush it seems this patch only fixes this problem in the Store reconciliation code and not generically.... Thanks! Reinout ------- > > (If anyone finds this workaround does _not_ let them continue OK, that > would be of interest.) > > Yours faithfully > Niall Ross > >> We received the vw7.7.1 CD today, so I started to publish it into our >> Store repository. >> >> Publishing Base Visualworks generates an error (ORA-01000: maximum >> open cursors exceeded). >> >> I retried the operation but that gave the same result, stack dump >> attached. >> >> Steps I took: >> --copied our 7.6 repository (and changed the repository identifier). >> --load StoreForOracle >> --ran update77 and update 771 >> --'switch databases' to reconcile >> --publish Base VisualWorks bundle >> >> Reinout >> ------- >> >> >> >> ------------------------------------------------------------------------ >> >> Unhandled exception: ORA-01000: maximum open cursors exceeded >> >> Glorp.GlorpDatabaseReadError(Glorp.GlorpError)>>signal >> Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>handleError:for: >> optimized [] in [] in >> Glorp.DatabaseAccessor>>executeCommand:returnCursor: >> BlockClosure>>cull: >> UnableToExecuteSQL(GenericException)>>performHandler: >> UnableToExecuteSQL(GenericException)>>propagatePrivateFrom: >> UnableToExecuteSQL(GenericException)>>propagateFrom: >> UnableToExecuteSQL(GenericException)>>propagate >> UnableToExecuteSQL(GenericException)>>raiseSignal >> UnableToExecuteSQL class(GenericException class)>>raiseWith:errorString: >> OracleSession>>resultsExternal >> OracleSession>>executeExternal >> optimized [] in ExternalDatabaseSession>>execute >> BlockClosure>>ifCurtailed: >> OracleSession(ExternalDatabaseSession)>>execute >> Glorp.VWDatabaseAccessor>>executeCommand:inDBSession: >> optimized [] in Glorp.VWDatabaseAccessor>>executeCommandBound: >> Time class>>microsecondsToRun: >> Time class>>millisecondsToRun: >> Glorp.VWDatabaseAccessor>>executeCommandBound: >> Glorp.QuerySelectCommand(Glorp.DatabaseCommand)>>executeBoundIn: >> optimized [] in [] in >> Glorp.DatabaseAccessor>>executeCommand:returnCursor: >> BlockClosure>>on:do: >> optimized [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: >> BlockClosure>>ensure: >> Semaphore>>critical: >> Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeCommand:returnCursor: >> >> optimized [] in Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: >> BlockClosure>>on:do: >> Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: >> Glorp.SimpleQuery(Glorp.AbstractReadQuery)>>readFromDatabaseWithParameters: >> >> Glorp.SimpleQuery(Glorp.AbstractReadQuery)>>executeWithParameters:in: >> Glorp.GlorpSession>>execute: >> Glorp.GlorpSession>>readOneOf:where: >> Store.Glorp.StorePundleWriter>>readPreviousVersion >> Store.Glorp.StorePundleWriter>>previousVersionInTargetDatabase >> Store.Glorp.StorePundleWriter>>isPreviousVersionPresent >> Store.Glorp.StorePundleWriter>>writePundlePhase1:withChangesBasedOn:using: >> >> Store.Glorp.StorePundleWriter>>writePundle:withChangesBasedOn:using: >> optimized [] in [] in Store.PublishSpecificationList>>publishSilently >> BlockClosure>>on:do: >> [] in Store.PublishSpecificationList>>publishSilently >> Store.PublishSpecificationList>>publishSilently >> Store.PublishSpecificationList>>publishPundle >> optimized [] in Store.PublishPundleDialog>>accept >> optimized [] in Store.StoreProgressOverlay class>>subsumeAll:while: >> BlockClosure>>ensure: >> Store.StoreProgressOverlay class>>subsumeAll:while: >> Store.StoreProgressOverlay class>>subsume:while: >> Store.PublishPundleDialog>>accept >> optimized [] in ApplicationModel>>actionFor: >> optimized [] in ActionButtonSpec>>typeConvert: >> PluggableAdaptor>>setValue: >> PluggableAdaptor(ValueModel)>>value: >> WinXPTriggerButtonController(TriggerButtonController)>>pressAction >> TriggerButtonTracker(BasicButtonTracker)>>finishSelectionFor: >> TriggerButtonTracker>>finishSelectionFor: >> TriggerButtonTracker(SelectionTracker)>>redButtonReleasedEvent: >> RedButtonReleasedEvent>>dispatchTo: >> TriggerButtonTracker(SelectionTracker)>>handleEvent: >> EventDispatcher>>dispatch:to: >> [] in EventDispatcher>>dispatchEvent: >> BlockClosure>>on:do: >> EventDispatcher>>dispatchEvent: >> RedButtonReleasedEvent(Event)>>dispatch >> RedButtonReleasedEvent(Event)>>dispatchForWindowManager: >> optimized [] in WindowManager>>safelyDispatchForWindowManager: >> BlockClosure>>on:do: >> WindowManager>>safelyDispatchForWindowManager: >> WindowManager>>processNextEvent >> optimized [] in [] in WindowManager>>newProcess >> BlockClosure>>on:do: >> optimized [] in WindowManager>>newProcess >> BlockClosure>>on:do: >> optimized [] in Process class>>forBlock:priority: >> >> ---------------------------------------------------------------------- >> Glorp.GlorpDatabaseReadError(Glorp.GlorpError)>>signal >> Receiver: >> a Glorp.GlorpDatabaseReadError >> Instance Variables: >> messageText = ' ORA-01000: maximum open cursors exceeded >> ' >> originator = a Glorp.GlorpDatabaseReadError >> initialContext = >> Glorp.GlorpDatabaseReadError(Glorp.GlorpError)>>signal >> firstUnwindContext = BlockClosure>>ifCurtailed: >> handlerContext = nil >> parameter = nil >> proceedBlock = nil >> isResumable = true >> signal = nil >> searchContext = Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: >> command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >> databaseError = an UnableToExecuteSQL >> accessor = a Glorp.VWDatabaseAccessor >> Context PC = 7 >> >> ---------------------------------------------------------------------- >> Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>handleError:for: >> Receiver: >> a Glorp.VWDatabaseAccessor >> Instance Variables: >> connection = an OracleConnection( hsvcctx = 47D8DA8 ) >> currentLogin = a Login(a Glorp.OraclePlatform, 'store', >> 'store771', 'store') >> logging = false >> reusePreparedStatements = true >> deniedCommands = nil >> mutex = a Semaphore[0] >> dependents = nil >> driverSession = an OracleSession( hstmt = 4C60A80 ) >> preparedStatements = a Glorp.CacheManager >> Arguments: >> exception = an UnableToExecuteSQL >> command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >> Temporaries: >> errorClass = Glorp.GlorpDatabaseReadError >> error = a Glorp.GlorpDatabaseReadError >> Context PC = 28 >> >> ---------------------------------------------------------------------- >> optimized [] in [] in >> Glorp.DatabaseAccessor>>executeCommand:returnCursor: >> Receiver: >> an UndefinedObject >> Arguments: >> ex = an UnableToExecuteSQL >> Temporaries: >> .self = a Glorp.VWDatabaseAccessor >> .command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >> Context PC = 8 >> >> ---------------------------------------------------------------------- >> BlockClosure>>cull: >> Receiver: >> a BlockClosure >> Instance Variables: >> method = CompiledBlock [] in [] in >> Glorp.DatabaseAccessor>>executeCommand:returnCursor: >> outerContext = nil >> copiedValues = an Array[2] >> Arguments: >> anObject = an UnableToExecuteSQL >> Context PC = 15 >> >> ---------------------------------------------------------------------- >> UnableToExecuteSQL(GenericException)>>performHandler: >> Receiver: >> an UnableToExecuteSQL >> Instance Variables: >> messageText = ' ORA-01000: maximum open cursors exceeded >> ' >> originator = an OracleSession( hstmt = 4C5F62C ) >> initialContext = OracleSession>>resultsExternal >> firstUnwindContext = BlockClosure>>ifCurtailed: >> handlerContext = BlockClosure>>on:do: >> parameter = an Array[1] >> proceedBlock = nil >> isResumable = false >> signal = nil >> searchContext = OracleSession>>resultsExternal >> Arguments: >> aContext = BlockClosure>>on:do: >> Temporaries: >> result = nil >> oldHandler = BlockClosure>>on:do: >> Context PC = 39 >> >> ---------------------------------------------------------------------- >> UnableToExecuteSQL(GenericException)>>propagatePrivateFrom: >> Receiver: >> an UnableToExecuteSQL >> Instance Variables: >> messageText = ' ORA-01000: maximum open cursors exceeded >> ' >> originator = an OracleSession( hstmt = 4C5F62C ) >> initialContext = OracleSession>>resultsExternal >> firstUnwindContext = BlockClosure>>ifCurtailed: >> handlerContext = BlockClosure>>on:do: >> parameter = an Array[1] >> proceedBlock = nil >> isResumable = false >> signal = nil >> searchContext = OracleSession>>resultsExternal >> Arguments: >> aContext = OracleSession>>resultsExternal >> Temporaries: >> handler = BlockClosure>>on:do: >> Context PC = 13 >> >> ---------------------------------------------------------------------- >> UnableToExecuteSQL(GenericException)>>propagateFrom: >> Receiver: >> an UnableToExecuteSQL >> Instance Variables: >> messageText = ' ORA-01000: maximum open cursors exceeded >> ' >> originator = an OracleSession( hstmt = 4C5F62C ) >> initialContext = OracleSession>>resultsExternal >> firstUnwindContext = BlockClosure>>ifCurtailed: >> handlerContext = BlockClosure>>on:do: >> parameter = an Array[1] >> proceedBlock = nil >> isResumable = false >> signal = nil >> searchContext = OracleSession>>resultsExternal >> Arguments: >> startContext = OracleSession>>resultsExternal >> Context PC = 9 >> >> ---------------------------------------------------------------------- >> UnableToExecuteSQL(GenericException)>>propagate >> Receiver: >> an UnableToExecuteSQL >> Instance Variables: >> messageText = ' ORA-01000: maximum open cursors exceeded >> ' >> originator = an OracleSession( hstmt = 4C5F62C ) >> initialContext = OracleSession>>resultsExternal >> firstUnwindContext = BlockClosure>>ifCurtailed: >> handlerContext = BlockClosure>>on:do: >> parameter = an Array[1] >> proceedBlock = nil >> isResumable = false >> signal = nil >> searchContext = OracleSession>>resultsExternal >> Context PC = 5 >> >> ---------------------------------------------------------------------- >> UnableToExecuteSQL(GenericException)>>raiseSignal >> Receiver: >> an UnableToExecuteSQL >> Instance Variables: >> messageText = ' ORA-01000: maximum open cursors exceeded >> ' >> originator = an OracleSession( hstmt = 4C5F62C ) >> initialContext = OracleSession>>resultsExternal >> firstUnwindContext = BlockClosure>>ifCurtailed: >> handlerContext = BlockClosure>>on:do: >> parameter = an Array[1] >> proceedBlock = nil >> isResumable = false >> signal = nil >> searchContext = OracleSession>>resultsExternal >> Context PC = 16 >> >> ---------------------------------------------------------------------- >> UnableToExecuteSQL class(GenericException class)>>raiseWith:errorString: >> Receiver: >> an UnableToExecuteSQL class >> Instance Variables: >> superclass = ExternalDatabaseException >> methodDict = a MethodDictionary[1] >> format = 16394 >> subclasses = an Array[5] >> instanceVariables = an Array[0] >> organization = ('printing' #defaultMessageText) >> >> name = #UnableToExecuteSQL >> classPool = a NameSpaceOfClass[0] >> environment = a NameSpace[130] >> notifierString = nil >> Arguments: >> parameter = an Array[1] >> aStringOrValuable = ' ORA-01000: maximum open cursors exceeded >> ' >> Context PC = 26 >> >> ---------------------------------------------------------------------- >> OracleSession>>resultsExternal >> Receiver: >> an OracleSession >> Instance Variables: >> stateHolder = a ValueHolder on: #executing >> traceStream = nil >> traceLevel = 0 >> participants = a WeakArray[0] >> participantsSemaphore = a RecursionLock >> connection = an OracleConnection( hsvcctx = 47D8DA8 ) >> query = 'SELECT t1.primaryKey, t1.name...tamp = ?) AND (t1.name = >> ?))' >> queryFragments = an OrderedCollection[5] >> bindInput = an OrderedCollection[2] >> bindTemplate = an OrderedCollection[2] >> bindOutput = nil >> useNamedOutputBinding = false >> bindValues = an IdentityDictionary[2] >> resultTemplate = nil >> allocateForEachRow = true >> blockFactor = 1 >> numColumns = nil >> columnDescriptions = nil >> rowAdaptors = nil >> rowBuffersHolder = a ValueHolder on: nil >> bufferIndex = nil >> answerStream = nil >> currentRow = nil >> scrollable = false >> needBinding = true >> resultsCache = nil >> hstmtHolder = a ValueHolder on: a CCompositePointer {04C5F62C} >> (struct __OCIStmt * ) >> herrHolder = a ValueHolder on: a CCompositePointer {047D82A4} >> (struct __OCIError * ) >> bindValuePointersHolder = a ValueHolder on: IdentityDictionary (1 >> -> an OracleBuffer 2 -> an OracleBuffer ) >> maxLongBytes = 32768 >> queryIsPLSQL = false >> currentRowIndex = nil >> totalRows = nil >> rowsInBlock = nil >> dependentLobs = a WeakDictionary[0] >> sqlPointerHolder = a ValueHolder on: a CPointer {00EEDF60} >> (unsigned char * ) >> maxBindSize = 1 >> answerLobProxy = false >> defaultDisplayLobSize = 32768 >> isReleasedFromCacheHolder = a ValueHolder on: true >> lobBufferSize = 32768 >> reuseColumnBuffers = false >> definePointerHolder = a ValueHolder on: nil >> bindPointerHolder = a ValueHolder on: a CPointer {06658870} >> (struct __OCIBind * * ) >> Temporaries: >> errs = an OrderedCollection[1] >> errorParameter = an Array[1] >> error = an OracleError >> signal = UnableToExecuteSQL >> connClass = OracleConnection >> Context PC = 63 >> >> ---------------------------------------------------------------------- >> OracleSession>>executeExternal >> Receiver: >> an OracleSession >> Instance Variables: >> stateHolder = a ValueHolder on: #executing >> traceStream = nil >> traceLevel = 0 >> participants = a WeakArray[0] >> participantsSemaphore = a RecursionLock >> connection = an OracleConnection( hsvcctx = 47D8DA8 ) >> query = 'SELECT t1.primaryKey, t1.name...tamp = ?) AND (t1.name = >> ?))' >> queryFragments = an OrderedCollection[5] >> bindInput = an OrderedCollection[2] >> bindTemplate = an OrderedCollection[2] >> bindOutput = nil >> useNamedOutputBinding = false >> bindValues = an IdentityDictionary[2] >> resultTemplate = nil >> allocateForEachRow = true >> blockFactor = 1 >> numColumns = nil >> columnDescriptions = nil >> rowAdaptors = nil >> rowBuffersHolder = a ValueHolder on: nil >> bufferIndex = nil >> answerStream = nil >> currentRow = nil >> scrollable = false >> needBinding = true >> resultsCache = nil >> hstmtHolder = a ValueHolder on: a CCompositePointer {04C5F62C} >> (struct __OCIStmt * ) >> herrHolder = a ValueHolder on: a CCompositePointer {047D82A4} >> (struct __OCIError * ) >> bindValuePointersHolder = a ValueHolder on: IdentityDictionary (1 >> -> an OracleBuffer 2 -> an OracleBuffer ) >> maxLongBytes = 32768 >> queryIsPLSQL = false >> currentRowIndex = nil >> totalRows = nil >> rowsInBlock = nil >> dependentLobs = a WeakDictionary[0] >> sqlPointerHolder = a ValueHolder on: a CPointer {00EEDF60} >> (unsigned char * ) >> maxBindSize = 1 >> answerLobProxy = false >> defaultDisplayLobSize = 32768 >> isReleasedFromCacheHolder = a ValueHolder on: true >> lobBufferSize = 32768 >> reuseColumnBuffers = false >> definePointerHolder = a ValueHolder on: nil >> bindPointerHolder = a ValueHolder on: a CPointer {06658870} >> (struct __OCIBind * * ) >> Temporaries: >> rtval = -1 >> xif = an OracleNTInterface >> hsvcctx = a CCompositePointer {047D8DA8} (struct __OCISvcCtx * ) >> hstmt = a CCompositePointer {04C5F62C} (struct __OCIStmt * ) >> herr = a CCompositePointer {047D82A4} (struct __OCIError * ) >> iterations = 0 >> rowOffset = 0 >> mode = 32 >> Context PC = 180 >> >> ---------------------------------------------------------------------- >> optimized [] in ExternalDatabaseSession>>execute >> Receiver: >> an UndefinedObject >> Temporaries: >> .self = an OracleSession( hstmt = 4C5F62C ) >> Context PC = 13 >> >> ---------------------------------------------------------------------- >> BlockClosure>>ifCurtailed: >> Receiver: >> a BlockClosure >> Instance Variables: >> method = CompiledBlock [] in ExternalDatabaseSession>>execute >> outerContext = nil >> copiedValues = an OracleSession( hstmt = 4C5F62C ) >> Arguments: >> terminationBlock = BlockClosure [] in >> ExternalDatabaseSession>>execute >> Context PC = 4 >> >> ---------------------------------------------------------------------- >> OracleSession(ExternalDatabaseSession)>>execute >> Receiver: >> an OracleSession >> Instance Variables: >> stateHolder = a ValueHolder on: #executing >> traceStream = nil >> traceLevel = 0 >> participants = a WeakArray[0] >> participantsSemaphore = a RecursionLock >> connection = an OracleConnection( hsvcctx = 47D8DA8 ) >> query = 'SELECT t1.primaryKey, t1.name...tamp = ?) AND (t1.name = >> ?))' >> queryFragments = an OrderedCollection[5] >> bindInput = an OrderedCollection[2] >> bindTemplate = an OrderedCollection[2] >> bindOutput = nil >> useNamedOutputBinding = false >> bindValues = an IdentityDictionary[2] >> resultTemplate = nil >> allocateForEachRow = true >> blockFactor = 1 >> numColumns = nil >> columnDescriptions = nil >> rowAdaptors = nil >> rowBuffersHolder = a ValueHolder on: nil >> bufferIndex = nil >> answerStream = nil >> currentRow = nil >> scrollable = false >> needBinding = true >> resultsCache = nil >> hstmtHolder = a ValueHolder on: a CCompositePointer {04C5F62C} >> (struct __OCIStmt * ) >> herrHolder = a ValueHolder on: a CCompositePointer {047D82A4} >> (struct __OCIError * ) >> bindValuePointersHolder = a ValueHolder on: IdentityDictionary (1 >> -> an OracleBuffer 2 -> an OracleBuffer ) >> maxLongBytes = 32768 >> queryIsPLSQL = false >> currentRowIndex = nil >> totalRows = nil >> rowsInBlock = nil >> dependentLobs = a WeakDictionary[0] >> sqlPointerHolder = a ValueHolder on: a CPointer {00EEDF60} >> (unsigned char * ) >> maxBindSize = 1 >> answerLobProxy = false >> defaultDisplayLobSize = 32768 >> isReleasedFromCacheHolder = a ValueHolder on: true >> lobBufferSize = 32768 >> reuseColumnBuffers = false >> definePointerHolder = a ValueHolder on: nil >> bindPointerHolder = a ValueHolder on: a CPointer {06658870} >> (struct __OCIBind * * ) >> Context PC = 34 >> >> ---------------------------------------------------------------------- >> Glorp.VWDatabaseAccessor>>executeCommand:inDBSession: >> Receiver: >> a Glorp.VWDatabaseAccessor >> Instance Variables: >> connection = an OracleConnection( hsvcctx = 47D8DA8 ) >> currentLogin = a Login(a Glorp.OraclePlatform, 'store', >> 'store771', 'store') >> logging = false >> reusePreparedStatements = true >> deniedCommands = nil >> mutex = a Semaphore[0] >> dependents = nil >> driverSession = an OracleSession( hstmt = 4C60A80 ) >> preparedStatements = a Glorp.CacheManager >> Arguments: >> aCommand = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >> aSession = an OracleSession( hstmt = 4C5F62C ) >> Temporaries: >> answerStream = nil >> cursor = nil >> Context PC = 3 >> >> ---------------------------------------------------------------------- >> optimized [] in Glorp.VWDatabaseAccessor>>executeCommandBound: >> Receiver: >> an UndefinedObject >> Temporaries: >> .self = a Glorp.VWDatabaseAccessor >> .aCommand = a Glorp.QuerySelectCommand(a SimpleQuery for >> StoreBundle) >> statement = a Glorp.GlorpPreparedStatement >> cursor = nil >> Context PC = 22 >> >> ---------------------------------------------------------------------- >> Time class>>microsecondsToRun: >> Receiver: >> a Time class >> Instance Variables: >> superclass = Magnitude >> methodDict = a MethodDictionary[31] >> format = 16387 >> subclasses = nil >> instanceVariables = an Array[3] >> organization = ('comparing' #< #= #hash) >> ('accessing' #hours #milliseconds #minutes #seconds) >> ('arithmetic' #addSeconds: #addTime: #subtractSeconds: #subtractTime:) >> ('printing' #glorpPadToTwoDigits: #glorpPrintSQLOn: #longPrintString >> #printOn: #shortPrintString #storeOn:) >> ('converting' #asDuration #asSeconds #asTimestamp) >> ('private' #hours: #hours:minutes:seconds: #isCompatibleWithDuration >> #literalArrayEncoding #printOn:policy:format:) >> ('private-spin-button' #spinBy:boundedBy:) >> ('double dispatch' #equalFromDuration: #equalFromTime: >> #lessFromDuration: #lessFromTime:) >> ('private-oracle' #oracleConversion) >> >> name = #Time >> classPool = a NameSpaceOfClass[0] >> environment = a NameSpace[243] >> Arguments: >> timedBlock = BlockClosure [] in >> Glorp.VWDatabaseAccessor>>executeCommandBound: >> Temporaries: >> initialMicroseconds = 3459576683441564 >> Context PC = 7 >> >> ---------------------------------------------------------------------- >> Time class>>millisecondsToRun: >> Receiver: >> a Time class >> Instance Variables: >> superclass = Magnitude >> methodDict = a MethodDictionary[31] >> format = 16387 >> subclasses = nil >> instanceVariables = an Array[3] >> organization = ('comparing' #< #= #hash) >> ('accessing' #hours #milliseconds #minutes #seconds) >> ('arithmetic' #addSeconds: #addTime: #subtractSeconds: #subtractTime:) >> ('printing' #glorpPadToTwoDigits: #glorpPrintSQLOn: #longPrintString >> #printOn: #shortPrintString #storeOn:) >> ('converting' #asDuration #asSeconds #asTimestamp) >> ('private' #hours: #hours:minutes:seconds: #isCompatibleWithDuration >> #literalArrayEncoding #printOn:policy:format:) >> ('private-spin-button' #spinBy:boundedBy:) >> ('double dispatch' #equalFromDuration: #equalFromTime: >> #lessFromDuration: #lessFromTime:) >> ('private-oracle' #oracleConversion) >> >> name = #Time >> classPool = a NameSpaceOfClass[0] >> environment = a NameSpace[243] >> Arguments: >> timedBlock = BlockClosure [] in >> Glorp.VWDatabaseAccessor>>executeCommandBound: >> Context PC = 5 >> >> ---------------------------------------------------------------------- >> Glorp.VWDatabaseAccessor>>executeCommandBound: >> Receiver: >> a Glorp.VWDatabaseAccessor >> Instance Variables: >> connection = an OracleConnection( hsvcctx = 47D8DA8 ) >> currentLogin = a Login(a Glorp.OraclePlatform, 'store', >> 'store771', 'store') >> logging = false >> reusePreparedStatements = true >> deniedCommands = nil >> mutex = a Semaphore[0] >> dependents = nil >> driverSession = an OracleSession( hstmt = 4C60A80 ) >> preparedStatements = a Glorp.CacheManager >> Arguments: >> aCommand = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >> Temporaries: >> statement = a Glorp.GlorpPreparedStatement >> cursor = nil >> time = nil >> block = BlockClosure [] in >> Glorp.VWDatabaseAccessor>>executeCommandBound: >> Context PC = 19 >> >> ---------------------------------------------------------------------- >> Glorp.QuerySelectCommand(Glorp.DatabaseCommand)>>executeBoundIn: >> Receiver: >> a Glorp.QuerySelectCommand >> Instance Variables: >> useBinding = true >> stream = nil >> sqlString = 'SELECT t1.primaryKey, t1.name...tamp = ?) AND >> (t1.name = ?))' >> session = a Glorp.GlorpSession >> parameters = an Array[0] >> blockFactor = 1 >> query = a SimpleQuery for StoreBundle >> boundExpressions = an OrderedCollection[2] >> Arguments: >> anAccessor = a Glorp.VWDatabaseAccessor >> Context PC = 4 >> >> ---------------------------------------------------------------------- >> optimized [] in [] in >> Glorp.DatabaseAccessor>>executeCommand:returnCursor: >> Receiver: >> an UndefinedObject >> Temporaries: >> .self = a Glorp.VWDatabaseAccessor >> .command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >> Context PC = 15 >> >> ---------------------------------------------------------------------- >> BlockClosure>>on:do: >> Receiver: >> a BlockClosure >> Instance Variables: >> method = CompiledBlock [] in [] in >> Glorp.DatabaseAccessor>>executeCommand:returnCursor: >> outerContext = nil >> copiedValues = an Array[2] >> Arguments: >> anExceptionSelector = Error >> handlerBlock = BlockClosure [] in [] in >> Glorp.DatabaseAccessor>>executeCommand:returnCursor: >> Context PC = 18 >> >> ---------------------------------------------------------------------- >> optimized [] in Glorp.DatabaseAccessor>>executeCommand:returnCursor: >> Receiver: >> an UndefinedObject >> Temporaries: >> result = nil >> .self = a Glorp.VWDatabaseAccessor >> .command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >> .aBoolean = true >> Context PC = 21 >> >> ---------------------------------------------------------------------- >> BlockClosure>>ensure: >> Receiver: >> a BlockClosure >> Instance Variables: >> method = CompiledBlock [] in >> Glorp.DatabaseAccessor>>executeCommand:returnCursor: >> outerContext = nil >> copiedValues = an Array[3] >> Arguments: >> aBlock = BlockClosure [] in Semaphore>>critical: >> Temporaries: >> result = nil >> Context PC = 4 >> >> ---------------------------------------------------------------------- >> Semaphore>>critical: >> Receiver: >> a Semaphore >> Instance Variables: >> firstLink = nil >> lastLink = nil >> excessSignals = 0 >> Arguments: >> mutuallyExcludedBlock = BlockClosure [] in >> Glorp.DatabaseAccessor>>executeCommand:returnCursor: >> Context PC = 10 >> >> ---------------------------------------------------------------------- >> Glorp.VWDatabaseAccessor(Glorp.DatabaseAccessor)>>executeCommand:returnCursor: >> >> Receiver: >> a Glorp.VWDatabaseAccessor >> Instance Variables: >> connection = an OracleConnection( hsvcctx = 47D8DA8 ) >> currentLogin = a Login(a Glorp.OraclePlatform, 'store', >> 'store771', 'store') >> logging = false >> reusePreparedStatements = true >> deniedCommands = nil >> mutex = a Semaphore[0] >> dependents = nil >> driverSession = an OracleSession( hstmt = 4C60A80 ) >> preparedStatements = a Glorp.CacheManager >> Arguments: >> command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >> aBoolean = true >> Context PC = 10 >> >> ---------------------------------------------------------------------- >> optimized [] in Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: >> Receiver: >> an UndefinedObject >> Temporaries: >> .self = a SimpleQuery for StoreBundle >> .command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >> Context PC = 9 >> >> ---------------------------------------------------------------------- >> BlockClosure>>on:do: >> Receiver: >> a BlockClosure >> Instance Variables: >> method = CompiledBlock [] in >> Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: >> outerContext = nil >> copiedValues = an Array[2] >> Arguments: >> anExceptionSelector = Glorp.GlorpDatabaseReadError >> handlerBlock = BlockClosure [] in >> Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: >> Context PC = 18 >> >> ---------------------------------------------------------------------- >> Glorp.SimpleQuery>>rowsFromDatabaseWithParameters: >> Receiver: >> a Glorp.SimpleQuery >> Instance Variables: >> session = a Glorp.GlorpSession >> prepared = true >> expectedRows = 1 >> collectionType = nil >> ordering = nil >> maximumLobSizeToRetrieveDirectly = 32768 >> readsOneObject = true >> groupBy = nil >> resultClass = Store.Glorp.StoreBundle >> whereClause = Base(Store.Glorp.StoreBundle).timestamp = February >> 7, 2008 9:50:20 AM AND Base(Store.Glorp.StoreBundle).name = 'Base >> VisualWorks' >> base = Base(Store.Glorp.StoreBundle) >> limit = 1 >> offset = nil >> proxyType = nil >> shouldRefresh = false >> tracing = a Glorp.Tracing >> builders = an Array[1] >> fields = an OrderedCollection[9] >> joins = an OrderedCollection[0] >> tablePrefix = nil >> customCommand = nil >> tablesToPrint = a SortedCollection[1] >> Arguments: >> anArray = an Array[0] >> Temporaries: >> alreadyTriedAction = true >> command = a Glorp.QuerySelectCommand(a SimpleQuery for StoreBundle) >> Context PC = 43 >> >> ---------------------------------------------------------------------- >> Glorp.SimpleQuery(Glorp.AbstractReadQuery)>>readFromDatabaseWithParameters: >> >> Receiver: >> a Glorp.SimpleQuery >> Instance Variables: >> session = a Glorp.GlorpSession >> prepared = true >> expectedRows = 1 >> collectionType = nil >> ordering = nil >> maximumLobSizeToRetrieveDirectly = 32768 >> readsOneObject = true >> groupBy = nil >> resultClass = Store.Glorp.StoreBundle >> whereClause = Base(Store.Glorp.StoreBundle).timestamp = February >> 7, 2008 9:50:20 AM AND Base(Store.Glorp.StoreBundle).name = 'Base >> VisualWorks' >> base = Base(Store.Glorp.StoreBundle) >> limit = 1 >> offset = nil >> proxyType = nil >> shouldRefresh = false >> tracing = a Glorp.Tracing >> builders = an Array[1] >> fields = an OrderedCollection[9] >> joins = an OrderedCollection[0] >> tablePrefix = nil >> customCommand = nil >> tablesToPrint = a SortedCollection[1] >> Arguments: >> anArray = an Array[0] >> Temporaries: >> answerStream = nil >> result = nil >> Context PC = 5 >> >> ---------------------------------------------------------------------- >> Glorp.SimpleQuery(Glorp.AbstractReadQuery)>>executeWithParameters:in: >> Receiver: >> a Glorp.SimpleQuery >> Instance Variables: >> session = a Glorp.GlorpSession >> prepared = true >> expectedRows = 1 >> collectionType = nil >> ordering = nil >> maximumLobSizeToRetrieveDirectly = 32768 >> readsOneObject = true >> groupBy = nil >> resultClass = Store.Glorp.StoreBundle >> whereClause = Base(Store.Glorp.StoreBundle).timestamp = February >> 7, 2008 9:50:20 AM AND Base(Store.Glorp.StoreBundle).name = 'Base >> VisualWorks' >> base = Base(Store.Glorp.StoreBundle) >> limit = 1 >> offset = nil >> proxyType = nil >> shouldRefresh = false >> tracing = a Glorp.Tracing >> builders = an Array[1] >> fields = an OrderedCollection[9] >> joins = an OrderedCollection[0] >> tablePrefix = nil >> customCommand = nil >> tablesToPrint = a SortedCollection[1] >> Arguments: >> parameterArray = an Array[0] >> aSession = a Glorp.GlorpSession >> Context PC = 35 >> >> ---------------------------------------------------------------------- >> Glorp.GlorpSession>>execute: >> Receiver: >> a Glorp.GlorpSession >> Instance Variables: >> system = a Store.Glorp.Store74DescriptorSystem >> currentUnitOfWork = nil >> cache = a Glorp.CacheManager >> accessor = a Glorp.VWDatabaseAccessor >> applicationData = nil >> reaper = nil >> errorAction = nil >> modificationTracker = nil >> Arguments: >> aQuery = a SimpleQuery for StoreBundle >> Context PC = 5 >> >> ---------------------------------------------------------------------- >> Glorp.GlorpSession>>readOneOf:where: >> Receiver: >> a Glorp.GlorpSession >> Instance Variables: >> system = a Store.Glorp.Store74DescriptorSystem >> currentUnitOfWork = nil >> cache = a Glorp.CacheManager >> accessor = a Glorp.VWDatabaseAccessor >> applicationData = nil >> reaper = nil >> errorAction = nil >> modificationTracker = nil >> Arguments: >> aClass = Store.Glorp.StoreBundle >> aBlock = BlockClosure [] in >> Store.Glorp.StorePundleWriter>>readPreviousVersion >> Context PC = 8 >> >> ---------------------------------------------------------------------- >> Store.Glorp.StorePundleWriter>>readPreviousVersion >> Receiver: >> a Store.Glorp.StorePundleWriter >> Instance Variables: >> pundle = StoreBundle(Base VisualWorks,vw771-sps0) >> newPundle = nil >> previousVersionInTargetDatabase = an Object >> targetSession = a Glorp.GlorpSession >> preWriteAction = nil >> splitPundles = true >> notificationQueue = nil >> Context PC = 12 >> >> ---------------------------------------------------------------------- >> Store.Glorp.StorePundleWriter>>previousVersionInTargetDatabase >> Receiver: >> a Store.Glorp.StorePundleWriter >> Instance Variables: >> pundle = StoreBundle(Base VisualWorks,vw771-sps0) >> newPundle = nil >> previousVersionInTargetDatabase = an Object >> targetSession = a Glorp.GlorpSession >> preWriteAction = nil >> splitPundles = true >> notificationQueue = nil >> Context PC = 18 >> >> ---------------------------------------------------------------------- >> Store.Glorp.StorePundleWriter>>isPreviousVersionPresent >> Receiver: >> a Store.Glorp.StorePundleWriter >> Instance Variables: >> pundle = StoreBundle(Base VisualWorks,vw771-sps0) >> newPundle = nil >> previousVersionInTargetDatabase = an Object >> targetSession = a Glorp.GlorpSession >> preWriteAction = nil >> splitPundles = true >> notificationQueue = nil >> Context PC = 4 >> >> ---------------------------------------------------------------------- >> Store.Glorp.StorePundleWriter>>writePundlePhase1:withChangesBasedOn:using: >> >> Receiver: >> a Store.Glorp.StorePundleWriter >> Instance Variables: >> pundle = StoreBundle(Base VisualWorks,vw771-sps0) >> newPundle = nil >> previousVersionInTargetDatabase = an Object >> targetSession = a Glorp.GlorpSession >> preWriteAction = nil >> splitPundles = true >> notificationQueue = nil >> Arguments: >> aPundle = StoreBundle(Base VisualWorks,vw771-sps0) >> anImagePundle = {Base VisualWorks} >> aCollection = an OrderedCollection[117] >> Context PC = 11 >> >> ---------------------------------------------------------------------- >> Store.Glorp.StorePundleWriter>>writePundle:withChangesBasedOn:using: >> Receiver: >> a Store.Glorp.StorePundleWriter >> Instance Variables: >> pundle = StoreBundle(Base VisualWorks,vw771-sps0) >> newPundle = nil >> previousVersionInTargetDatabase = an Object >> targetSession = a Glorp.GlorpSession >> preWriteAction = nil >> splitPundles = true >> notificationQueue = nil >> Arguments: >> aPundle = StoreBundle(Base VisualWorks,vw771-sps0) >> anImagePundle = {Base VisualWorks} >> aCollection = an OrderedCollection[117] >> Context PC = 7 >> >> ---------------------------------------------------------------------- >> optimized [] in [] in Store.PublishSpecificationList>>publishSilently >> Receiver: >> an UndefinedObject >> Temporaries: >> .self = a Store.PublishSpecificationList[117] >> newPundle = nil >> targetPundles = an OrderedCollection[117] >> Context PC = 16 >> >> ---------------------------------------------------------------------- >> BlockClosure>>on:do: >> Receiver: >> a BlockClosure >> Instance Variables: >> method = CompiledBlock [] in [] in >> Store.PublishSpecificationList>>publishSilently >> outerContext = nil >> copiedValues = an Array[2] >> Arguments: >> anExceptionSelector = Glorp.GlorpDatabaseWriteError >> handlerBlock = BlockClosure [] in [] in >> Store.PublishSpecificationList>>publishSilently >> Context PC = 18 >> >> ---------------------------------------------------------------------- >> [] in Store.PublishSpecificationList>>publishSilently >> Receiver: >> a Store.PublishSpecificationList >> Instance Variables: >> dependents = a SequenceView >> collection = an Array[192] >> limit = 117 >> collectionSize = 192 >> publisher = a Store.Glorp.StorePundleWriter >> notificationQueue = nil >> Temporaries: >> .self = a Store.PublishSpecificationList[117] >> newPundle = nil >> targetPundles = an OrderedCollection[117] >> Context PC = 17 >> >> ---------------------------------------------------------------------- >> Store.PublishSpecificationList>>publishSilently >> Receiver: >> a Store.PublishSpecificationList >> Instance Variables: >> dependents = a SequenceView >> collection = an Array[192] >> limit = 117 >> collectionSize = 192 >> publisher = a Store.Glorp.StorePundleWriter >> notificationQueue = nil >> Temporaries: >> newPundle = nil >> targetPundles = an OrderedCollection[117] >> Context PC = 29 >> >> ---------------------------------------------------------------------- >> Store.PublishSpecificationList>>publishPundle >> Receiver: >> a Store.PublishSpecificationList >> Instance Variables: >> dependents = a SequenceView >> collection = an Array[192] >> limit = 117 >> collectionSize = 192 >> publisher = a Store.Glorp.StorePundleWriter >> notificationQueue = nil >> Temporaries: >> pundle = nil >> Context PC = 8 >> >> ---------------------------------------------------------------------- >> optimized [] in Store.PublishPundleDialog>>accept >> Receiver: >> an UndefinedObject >> Temporaries: >> .self = a Store.PublishPundleDialog >> Context PC = 7 >> >> ---------------------------------------------------------------------- >> optimized [] in Store.StoreProgressOverlay class>>subsumeAll:while: >> Receiver: >> an UndefinedObject >> Temporaries: >> .windowsToSubsume = an Array[1] >> .self = Store.StoreProgressOverlay >> overlays = an Array[1] >> .aBlock = BlockClosure [] in Store.PublishPundleDialog>>accept >> Context PC = 14 >> >> ---------------------------------------------------------------------- >> BlockClosure>>ensure: >> Receiver: >> a BlockClosure >> Instance Variables: >> method = CompiledBlock [] in Store.StoreProgressOverlay >> class>>subsumeAll:while: >> outerContext = nil >> copiedValues = an Array[4] >> Arguments: >> aBlock = BlockClosure [] in Store.StoreProgressOverlay >> class>>subsumeAll:while: >> Temporaries: >> result = nil >> Context PC = 4 >> >> ---------------------------------------------------------------------- >> Store.StoreProgressOverlay class>>subsumeAll:while: >> Receiver: >> a Store.StoreProgressOverlay class >> Instance Variables: >> superclass = Panel >> methodDict = a MethodDictionary[12] >> format = 16394 >> subclasses = nil >> instanceVariables = an Array[3] >> organization = ('initialize-release' #addProgressView >> #initializeLayoutAlgorithm #restoreOriginal #subsume:) >> ('private' #backdrop #dropdownGradient #dropdownRectangle >> #progressView #regularView #washOutBackdropImage) >> ('displaying' #displayDropdownOn: #displayPart:on:) >> >> name = #StoreProgressOverlay >> classPool = a NameSpaceOfClass[0] >> environment = a NameSpace[313] >> Arguments: >> aWindowCollection = an Array[1] >> aBlock = BlockClosure [] in Store.PublishPundleDialog>>accept >> Temporaries: >> overlays = an Array[1] >> windowsToSubsume = an Array[1] >> Context PC = 22 >> >> ---------------------------------------------------------------------- >> Store.StoreProgressOverlay class>>subsume:while: >> Receiver: >> a Store.StoreProgressOverlay class >> Instance Variables: >> superclass = Panel >> methodDict = a MethodDictionary[12] >> format = 16394 >> subclasses = nil >> instanceVariables = an Array[3] >> organization = ('initialize-release' #addProgressView >> #initializeLayoutAlgorithm #restoreOriginal #subsume:) >> ('private' #backdrop #dropdownGradient #dropdownRectangle >> #progressView #regularView #washOutBackdropImage) >> ('displaying' #displayDropdownOn: #displayPart:on:) >> >> name = #StoreProgressOverlay >> classPool = a NameSpaceOfClass[0] >> environment = a NameSpace[313] >> Arguments: >> aWindowOrNil = a ScheduledWindow 7626 >> aBlock = BlockClosure [] in Store.PublishPundleDialog>>accept >> Context PC = 9 >> >> ---------------------------------------------------------------------- >> Store.PublishPundleDialog>>accept >> Receiver: >> a Store.PublishPundleDialog >> Instance Variables: >> dependents = a ScheduledWindow 7626 >> builder = an UIBuilder >> uiSession = a ControlManager >> eventHandlers = nil >> list = a SelectionInList >> disturbed = a ValueHolder on: false >> subBuilder = an UIBuilder >> items = a SelectionInList >> blessingLevel = a ValueHolder on: 99 >> blessingComment = a ValueHolder on: Text for 'From the Cincom >> release cd' >> publish = a ValueHolder on: true >> versionString = a ValueHolder on: 'vw771-sps0' >> binarySave = a ValueHolder on: false >> parcelSave = a ValueHolder on: false >> bundleStructure = a ValueHolder on: false >> databaseLinks = a ValueHolder on: false >> parcelDirectory = a ValueHolder on: 'Base VisualWorks' >> parcelSaveSource = a ValueHolder on: true >> parcelHideSource = a ValueHolder on: false >> parcelPadded = a ValueHolder on: false >> parcelRepublish = a ValueHolder on: false >> parcelBackup = a ValueHolder on: false >> parcelOverwrite = a ValueHolder on: false >> parcelWarningMessage = '' >> labelDict = a Dictionary[117] >> offsets = an Array[4] >> callBackBlock = nil >> retry = false >> files = a SelectionInList >> publishFile = nil >> parcelVersionString = a ValueHolder on: 'vw77' >> Temporaries: >> navigatorClass = nil >> Context PC = 32 >> >> ---------------------------------------------------------------------- >> optimized [] in ApplicationModel>>actionFor: >> Receiver: >> an UndefinedObject >> Temporaries: >> .self = a Store.PublishPundleDialog >> .aKey = #accept >> Context PC = 7 >> >> ---------------------------------------------------------------------- >> optimized [] in ActionButtonSpec>>typeConvert: >> Receiver: >> an UndefinedObject >> Arguments: >> b = a ValueHolder on: nil >> v = true >> Temporaries: >> .aValue = BlockClosure [] in ApplicationModel>>actionFor: >> Context PC = 5 >> >> ---------------------------------------------------------------------- >> PluggableAdaptor>>setValue: >> Receiver: >> a PluggableAdaptor >> Instance Variables: >> dependents = a WinXPActionButtonView >> model = a ValueHolder on: nil >> getBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: >> putBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: >> updateBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: >> Arguments: >> newValue = true >> Context PC = 6 >> >> ---------------------------------------------------------------------- >> PluggableAdaptor(ValueModel)>>value: >> Receiver: >> a PluggableAdaptor >> Instance Variables: >> dependents = a WinXPActionButtonView >> model = a ValueHolder on: nil >> getBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: >> putBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: >> updateBlock = BlockClosure [] in ActionButtonSpec>>typeConvert: >> Arguments: >> newValue = true >> Context PC = 5 >> >> ---------------------------------------------------------------------- >> WinXPTriggerButtonController(TriggerButtonController)>>pressAction >> Receiver: >> a WinXPTriggerButtonController >> Instance Variables: >> model = a PluggableAdaptor >> view = a WinXPActionButtonView >> sensor = a TranslatingSensor >> keyboardHook = nil >> dispatcher = nil >> Context PC = 17 >> >> ---------------------------------------------------------------------- >> TriggerButtonTracker(BasicButtonTracker)>>finishSelectionFor: >> Receiver: >> a TriggerButtonTracker >> Instance Variables: >> controller = a WinXPTriggerButtonController >> inside = true >> Arguments: >> aPoint = 51 @ 9 >> Context PC = 8 >> >> ---------------------------------------------------------------------- >> TriggerButtonTracker>>finishSelectionFor: >> Receiver: >> a TriggerButtonTracker >> Instance Variables: >> controller = a WinXPTriggerButtonController >> inside = true >> Arguments: >> aPoint = 51 @ 9 >> Context PC = 11 >> >> ---------------------------------------------------------------------- >> TriggerButtonTracker(SelectionTracker)>>redButtonReleasedEvent: >> Receiver: >> a TriggerButtonTracker >> Instance Variables: >> controller = a WinXPTriggerButtonController >> inside = true >> Arguments: >> aMouseButtonEvent = a RedButtonReleasedEvent >> Context PC = 13 >> >> ---------------------------------------------------------------------- >> RedButtonReleasedEvent>>dispatchTo: >> Receiver: >> a RedButtonReleasedEvent >> Instance Variables: >> time = 8718359 >> initiator = an EventDispatcher >> window = a ScheduledWindow 7626 >> state = 0 >> x = 336 >> y = 524 >> gx = 701 >> gy = 746 >> buttonNumber = 1 >> Arguments: >> anObject = a TriggerButtonTracker >> Context PC = 4 >> >> ---------------------------------------------------------------------- >> TriggerButtonTracker(SelectionTracker)>>handleEvent: >> Receiver: >> a TriggerButtonTracker >> Instance Variables: >> controller = a WinXPTriggerButtonController >> inside = true >> Arguments: >> anEvent = a RedButtonReleasedEvent >> Context PC = 4 >> >> ---------------------------------------------------------------------- >> EventDispatcher>>dispatch:to: >> Receiver: >> an EventDispatcher >> Instance Variables: >> windowController = an ApplicationStandardSystemController >> currentMouseConsumer = nil >> grabbingMouse = false >> lastControlObject = nil >> trapList = nil >> state = nil >> repairDamageWhenDebugging = true >> flushQueueAfterError = true >> distributeEventsWhenDebugging = true >> dragDropInProgress = false >> dragDropTracker = nil >> dispatchUnknownEvents = false >> Arguments: >> event = a RedButtonReleasedEvent >> object = a TriggerButtonTracker >> Temporaries: >> tmp = nil >> Context PC = 10 >> >> ---------------------------------------------------------------------- >> [] in EventDispatcher>>dispatchEvent: >> Receiver: >> an EventDispatcher >> Instance Variables: >> windowController = an ApplicationStandardSystemController >> currentMouseConsumer = nil >> grabbingMouse = false >> lastControlObject = nil >> trapList = nil >> state = nil >> repairDamageWhenDebugging = true >> flushQueueAfterError = true >> distributeEventsWhenDebugging = true >> dragDropInProgress = false >> dragDropTracker = nil >> dispatchUnknownEvents = false >> Temporaries: >> .self = an EventDispatcher >> .event = a RedButtonReleasedEvent >> Context PC = 9 >> >> ---------------------------------------------------------------------- >> BlockClosure>>on:do: >> Receiver: >> a BlockClosure >> Instance Variables: >> method = CompiledBlock [] in EventDispatcher>>dispatchEvent: >> outerContext = EventDispatcher>>dispatchEvent: >> copiedValues = an Array[2] >> Arguments: >> anExceptionSelector = ClosedWindowNotification >> handlerBlock = BlockClosure [] in EventDispatcher>>dispatchEvent: >> Context PC = 18 >> >> ---------------------------------------------------------------------- >> EventDispatcher>>dispatchEvent: >> Receiver: >> an EventDispatcher >> Instance Variables: >> windowController = an ApplicationStandardSystemController >> currentMouseConsumer = nil >> grabbingMouse = false >> lastControlObject = nil >> trapList = nil >> state = nil >> repairDamageWhenDebugging = true >> flushQueueAfterError = true >> distributeEventsWhenDebugging = true >> dragDropInProgress = false >> dragDropTracker = nil >> dispatchUnknownEvents = false >> Arguments: >> event = a RedButtonReleasedEvent >> Temporaries: >> objectWantingControl = nil >> targetKeyboardProcessor = nil >> Context PC = 68 >> >> ---------------------------------------------------------------------- >> RedButtonReleasedEvent(Event)>>dispatch >> Receiver: >> a RedButtonReleasedEvent >> Instance Variables: >> time = 8718359 >> initiator = an EventDispatcher >> window = a ScheduledWindow 7626 >> state = 0 >> x = 336 >> y = 524 >> gx = 701 >> gy = 746 >> buttonNumber = 1 >> Context PC = 16 >> >> ---------------------------------------------------------------------- >> RedButtonReleasedEvent(Event)>>dispatchForWindowManager: >> Receiver: >> a RedButtonReleasedEvent >> Instance Variables: >> time = 8718359 >> initiator = an EventDispatcher >> window = a ScheduledWindow 7626 >> state = 0 >> x = 336 >> y = 524 >> gx = 701 >> gy = 746 >> buttonNumber = 1 >> Arguments: >> aWinMgr = a WindowManager >> Context PC = 4 >> >> ---------------------------------------------------------------------- >> optimized [] in WindowManager>>safelyDispatchForWindowManager: >> Receiver: >> an UndefinedObject >> Temporaries: >> .event = a RedButtonReleasedEvent >> .self = a WindowManager >> Context PC = 6 >> >> ---------------------------------------------------------------------- >> BlockClosure>>on:do: >> Receiver: >> a BlockClosure >> Instance Variables: >> method = CompiledBlock [] in >> WindowManager>>safelyDispatchForWindowManager: >> outerContext = nil >> copiedValues = an Array[2] >> Arguments: >> anExceptionSelector = BadControllerError >> handlerBlock = BlockClosure [] in >> WindowManager>>safelyDispatchForWindowManager: >> Context PC = 18 >> >> ---------------------------------------------------------------------- >> WindowManager>>safelyDispatchForWindowManager: >> Receiver: >> a WindowManager >> Instance Variables: >> windows = an OrderedCollection[2] >> activeController = nil >> interruptLock = false >> outstandingMetaOrDamage = false >> openInProgress = false >> eventQueue = an EventQueue >> baseProcess = a Process in Semaphore>>waitIfCurtailedSignal >> dontFilterEvents = false >> Arguments: >> event = a RedButtonReleasedEvent >> Context PC = 13 >> >> ---------------------------------------------------------------------- >> WindowManager>>processNextEvent >> Receiver: >> a WindowManager >> Instance Variables: >> windows = an OrderedCollection[2] >> activeController = nil >> interruptLock = false >> outstandingMetaOrDamage = false >> openInProgress = false >> eventQueue = an EventQueue >> baseProcess = a Process in Semaphore>>waitIfCurtailedSignal >> dontFilterEvents = false >> Temporaries: >> event = a RedButtonReleasedEvent >> Context PC = 9 >> >> ---------------------------------------------------------------------- >> optimized [] in [] in WindowManager>>newProcess >> Receiver: >> an UndefinedObject >> Temporaries: >> .self = a WindowManager >> Context PC = 13 >> >> ---------------------------------------------------------------------- >> BlockClosure>>on:do: >> Receiver: >> a BlockClosure >> Instance Variables: >> method = CompiledBlock [] in [] in WindowManager>>newProcess >> outerContext = nil >> copiedValues = a WindowManager >> Arguments: >> anExceptionSelector = TerminateException >> handlerBlock = BlockClosure [] in [] in WindowManager>>newProcess >> Context PC = 18 >> >> ---------------------------------------------------------------------- >> optimized [] in WindowManager>>newProcess >> Receiver: >> an UndefinedObject >> Temporaries: >> .self = a WindowManager >> Context PC = 15 >> >> ---------------------------------------------------------------------- >> BlockClosure>>on:do: >> Receiver: >> a BlockClosure >> Instance Variables: >> method = CompiledBlock [] in WindowManager>>newProcess >> outerContext = nil >> copiedValues = a WindowManager >> Arguments: >> anExceptionSelector = TerminateException >> handlerBlock = BlockClosure [] in [] in Process >> class>>forBlock:priority: >> Context PC = 18 >> >> ---------------------------------------------------------------------- >> optimized [] in Process class>>forBlock:priority: >> Receiver: >> an UndefinedObject >> Temporaries: >> .aBlock = BlockClosure [] in WindowManager>>newProcess >> Context PC = 9 >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> vwnc mailing list >> [hidden email] >> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc >> >> > > > -- ********************************************************************* Dit e-mailbericht is alleen bestemd voor de geadresseerde(n). Gebruik door anderen is niet toegestaan. Indien u niet degeadresseerde(n) bent wordt u verzocht de verzender hiervan op de hoogte te stellen en het bericht te verwijderen. Door de elektronische verzending kunnen aan de inhoud van dit bericht geen rechten worden ontleend. Soops B.V. is gevestigd te Amsterdam, Nederland, en is geregistreerd bij de Kamer van Koophandel onder nummer 33240368. Soops B.V. levert volgens de Fenit voorwaarden, gedeponeerd te Den Haag op 8 december 1994 onder nummer 1994/189. ********************************************************************** This e-mail message is intended to be exclusively for the addressee. If you are not the intended recipient you are kindly requested not to make any use whatsoever of the contents and to notify the sender immediately by returning this e-mail message. No rights can be derived from this message. Soops B.V. is a private limited liability company and has its seat at Amsterdam, The Netherlands and is registered with the Trade Registry of the Chamber of Commerce and Industry under number 33240368. Soops B.V. delivers according to the General Terms and Conditions of Business of Fenit, registered at The Hague, The Netherlands on December 8th, 1994, under number 1994/189 ********************************************************************** _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
So, the issue in that is likely that Glorp sessions are
holding on to too many prepared statements. The way that StoreGlorp works
it does not keep around a single Glorp session, but rather creates them
as needed and then discards them. If you don't explicitly issue a #reset
when discarding the session, then it may hold on to Oracle resources
until it is garbage collected and finalization releases them. It's not
clear to me why that would be happening in the case that you describe,
and that's not something that we've seen, but the cause is fairly clear -
we have too many Oracle resources that haven't been released
yet.
One place we did run into this was introducing an optimization into reconciliation where we used a separate session for each package and discarded them, thus removing the need to clean up weak references in the cache. But that optimization was only introduced in the 7.8 builds. So, a specific solution is to make sure that you do a session reset before discarding a Glorp session. That might be the fix you got from support. There are a number of possible more general solutions. - Increase your resource limit on Oracle :-) - In StoreLoginFactory>>currentStoreSession, modify it to send "reusePreparedStatements: false". This will remove one of the caching optimizations it uses for these resources. It may make things a bit slower. It also may not fix the problem, I haven't tried it, but I suspect that's the critical resource. - Most easily, use StoreForThreadedOracle. Again, I haven't tried this, although it's what I use by default. This makes Store use a THAPI connection to Oracle so that the image does not block during database calls. This might slow down the database operations slightly by needing to make THAPI calls, though I suspect the overall throughput is likely to be at least as good. But it lets the image run while those calls are in progress, which is more likely to give the finalization processes the opportunity to run. At 12:20 PM 2010-08-19, Reinout Heeck wrote: Niall Ross wrote: --
Alan Knight [|], Engineering Manager, Cincom Smalltalk
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Niall Ross
So, the issue in that is likely that Glorp sessions are
holding on to too many prepared statements. The way that StoreGlorp works
it does not keep around a single Glorp session, but rather creates them
as needed and then discards them. If you don't explicitly issue a #reset
when discarding the session, then it may hold on to Oracle resources
until it is garbage collected and finalization releases them. It's not
clear to me why that would be happening in the case that you describe,
and that's not something that we've seen, but the cause is fairly clear -
we have too many Oracle resources that haven't been released
yet.
One place we did run into this was introducing an optimization into reconciliation where we used a separate session for each package and discarded them, thus removing the need to clean up weak references in the cache. But that optimization was only introduced in the 7.8 builds. So, a specific solution is to make sure that you do a session reset before discarding a Glorp session. That might be the fix you got from support. There are a number of possible more general solutions. - Increase your resource limit on Oracle :-) - In StoreLoginFactory>>currentStoreSession, modify it to send "reusePreparedStatements: false". This will remove one of the caching optimizations it uses for these resources. It may make things a bit slower. It also may not fix the problem, I haven't tried it, but I suspect that's the critical resource. - Most easily, use StoreForThreadedOracle. Again, I haven't tried this, although it's what I use by default. This makes Store use a THAPI connection to Oracle so that the image does not block during database calls. This might slow down the database operations slightly by needing to make THAPI calls, though I suspect the overall throughput is likely to be at least as good. But it lets the image run while those calls are in progress, which is more likely to give the finalization processes the opportunity to run. At 12:20 PM 2010-08-19, Reinout Heeck wrote: Niall Ross wrote: --
Alan Knight [|], Engineering Manager, Cincom Smalltalk
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
In reply to this post by Reinout Heeck-2
Ah, that explains it, and registers my earlier speculations
pointless. That will teach me to go through my email backwards. The
resolution mentioned in another email wouldn't be helpful, because it's
related to the stuff I talked about earlier, not to getting the server
timestamp.
There are actually two places that might generate such queries. One is in DBObject, the other is in GlorpSession>>currentServerUTCTimestampOrNil. The first one is only going to be used, I believe, when creating blessings, and possibly not even then, in 7.7.1. So that might suggest the second one. But as Glorp does attempt to re-use cursors, that more suggests the first. But it's not obvious to me why either would be leaving cursors around. But the symptom is pretty clear, so we can investigate. At 07:29 AM 2010-08-18, Reinout Heeck wrote: Some more info: --
Alan Knight [|], Engineering Manager, Cincom Smalltalk
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
OK, try the following. The issue is that with Glorp, things
that were being executed as straight SQL, not through the O/R scheme,
were getting the ExternalDatabaseAnswerStream closed, but the session did
not get disconnected. I don't know why that would result in Oracle having
an open cursor, but it seems to. So in
VWDatabaseAccessor>>basicExecuteSQLString:returnResult:binding:doing:
replace the statement "newPreparedStatementFor: command" with
"preparedStatementFor: command".
At 03:42 PM 2010-08-19, Alan Knight wrote: Ah, that explains it, and registers my earlier speculations pointless. That will teach me to go through my email backwards. The resolution mentioned in another email wouldn't be helpful, because it's related to the stuff I talked about earlier, not to getting the server timestamp. --
Alan Knight [|], Engineering Manager, Cincom Smalltalk
_______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Free forum by Nabble | Edit this page |