Omnibase forgetAllGrabcommandsFrom: problem
Derek Brans
brans at nerdonawire.com
Mon Jun 30 23:12:39 UTC 2003
CommandHistory class>>forgetAllGrabCommandsFrom:
This method gets executed when saving and quitting the image. The method seems to enumerate a whole bunch of objects in the image, starting at nil. It eventually gets to an ODBObjectID and then locks up, waiting for some semaphore. This is where I find the thread when I interrupt:
June 30, 2003 15:45
VM: Win32 - Squeak3.4 of 1 March 2003 [latest update: #5170]
Image: Squeak3.5 [latest update: #5180]
Semaphore>>critical:
Receiver: a Semaphore()
Arguments and temporary variables:
mutuallyExcludedBlock: [] in ODBFileStream>>atPosition:getBytesFor:len:
blockValue: nil
Receiver's instance variables:
firstLink: nil
lastLink: nil
excessSignals: 0
ODBFileStream>>atPosition:getBytesFor:len:
Receiver: ODBFileStream on: 'C:\Documents and Settings\brans\My Documents\Document Directory\Project...etc...
Arguments and temporary variables:
anInteger: 288
aByteCollection: a ByteArray(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
len: 16
Receiver's instance variables:
position: 160
fileHandle: StandardFileStream: 'C:\Documents and Settings\brans\My Documents\D...etc...
pathName: 'C:\Documents and Settings\brans\My Documents\Document Directory\Proj...etc...
seekingMutex: a Semaphore()
ODBObjectIndexFile>>at:
Receiver: an ODBObjectIndexFile
Arguments and temporary variables:
anInteger: 10
bytes: a ByteArray(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
Receiver's instance variables:
stream: ODBFileStream on: 'C:\Documents and Settings\brans\My Documents\Documen...etc...
valueLength: 16
pageSize: nil
start: 144
gcPosition: nil
gcBuffer: nil
gcCount: nil
var1: nil
ODBContainer>>at:
Receiver: an ODBContainer
Arguments and temporary variables:
index: 10
bytes: nil
Receiver's instance variables:
objectManager: an ODBObjectManager
id: 1
name: 'Default'
path: 'C:\Documents and Settings\brans\My Documents\Document Directory\Projects...etc...
indexFile: an ODBObjectIndexFile
dbFiles: an ODBWeakValueIdentityDictionary
dataFileA: an ODBObjectStorage
dataFileB: nil
activeDataFile: an ODBObjectStorage
byteStorageQueue: an OrderedCollection()
queueSize: 0
--- The full stack ---
Semaphore>>critical:
ODBFileStream>>atPosition:getBytesFor:len:
ODBObjectIndexFile>>at:
ODBContainer>>at:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ODBObjectManager>>holderAt:
[] in ODBLocalTransaction(ODBTransaction)>>transactionObjectAt:
BlockContext>>ensure:
BlockContext>>valueUnpreemptively
ODBLocalTransaction(ODBTransaction)>>transactionObjectAt:
ODBDemandLoader>>getObject
ODBDemandLoader>>perform:withArguments:
ODBReference>>doesNotUnderstand:
[] in CommandHistory class>>forgetAllGrabCommandsFrom:
BlockContext>>on:do:
BlockContext>>ifError:
CommandHistory class>>forgetAllGrabCommandsFrom:
[] in CommandHistory class>>forgetAllGrabCommandsFrom:
[] in BlockContext>>ifError:
Error(Exception)>>handlerAction
Error(Exception)>>signal
Error(Exception)>>signal:
StandardFileStream(Object)>>error:
StandardFileStream(Object)>>primitiveFailed
StandardFileStream>>primSetPosition:to:
StandardFileStream>>position:
[] in ODBFileStream>>atPosition:getBytesFor:len:
[] in Semaphore>>critical:
BlockContext>>ensure:
Semaphore>>critical:
ODBFileStream>>atPosition:getBytesFor:len:
ODBObjectIndexFile>>at:
ODBContainer>>at:
ODBObjectManager>>holderAt:
[] in ODBLocalTransaction(ODBTransaction)>>transactionObjectAt:
BlockContext>>ensure:
BlockContext>>valueUnpreemptively
ODBLocalTransaction(ODBTransaction)>>transactionObjectAt:
ODBDemandLoader>>getObject
ODBDemandLoader>>perform:withArguments:
ODBReference>>doesNotUnderstand:
[] in CommandHistory class>>forgetAllGrabCommandsFrom:
BlockContext>>on:do:
BlockContext>>ifError:
CommandHistory class>>forgetAllGrabCommandsFrom:
CommandHistory class>>resetAllHistory
CommandHistory class>>shutDown:
[] in SystemDictionary>>send:toClassesNamedIn:with:
OrderedCollection>>do:
SystemDictionary>>send:toClassesNamedIn:with:
SystemDictionary>>processShutDownList:
SystemDictionary>>snapshot:andQuit:embedded:
SystemDictionary>>snapshot:andQuit:
TheWorldMenu>>saveAndQuit
TheWorldMenu>>doMenuItem:with:
[] in MenuItemMorph>>invokeWithEvent:
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
-- and more not shown --
Derek Brans
Nerd on a Wire
Web design that's anything but square
http://www.nerdonawire.com
mailto: brans at nerdonawire.com
phone: 604.874.6463
toll-free: 1-877-NERD-ON-A-WIRE
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030630/b3ec6b1c/attachment.htm
More information about the Squeak-dev
mailing list
|