Is this a Dolphin bug ?
I have attached a TestCase. But here's the code: " Evaluate this " treeModel := TreeModel withRoots: (SequenceableCollection allSubclasses). treePresenter := TreePresenter showOn: treeModel. treePresenter view getTextBlock: [:each | (treeModel allParentsOf: SortedCollection) size printString]. "!!!!AFTER A FEW SECONDS EVALUATE THIS !!!!!!" treeModel remove: SortedCollection. My image crash. Because SortedCollection in not any more in "treeModel" and "treeModel" in his #getTextBlock aspect has a reference to SortedCollection (a mismatch element). After a few second the image crash (winXP). I know this is tricky, but i had a bug that behaves in the same way. (i have solved it) Regards Bruno | package | package := Package name: 'Crash'. package paxVersion: 1; basicComment: ''. package classNames add: #TreeRemoveTest; yourself. package binaryGlobalNames: (Set new yourself). package globalAliases: (Set new yourself). package setPrerequisites: (IdentitySet new add: 'Object Arts\Dolphin\Base\Dolphin'; add: 'Object Arts\Dolphin\MVP\Models\Tree\Dolphin Tree Models'; add: 'Object Arts\Dolphin\MVP\Presenters\Tree\Dolphin Tree Presenter'; add: 'Camp Smalltalk\SUnit\SUnit'; yourself). package! "Class Definitions"! TestCase subclass: #TreeRemoveTest instanceVariableNames: 'treeModel treePresenter' classVariableNames: '' poolDictionaries: '' classInstanceVariableNames: ''! "Global Aliases"! "Loose Methods"! "End of package definition"! "Source Globals"! "Classes"! TreeRemoveTest guid: (GUID fromString: '{58BFB3B7-FB22-469B-8A0D-013F593B44DA}')! TreeRemoveTest comment: ''! !TreeRemoveTest categoriesForClass!SUnit! ! !TreeRemoveTest methodsFor! testCrash treeModel := TreeModel withRoots: (SequenceableCollection allSubclasses). treePresenter := TreePresenter showOn: treeModel. treePresenter view getTextBlock: [:each | (treeModel allParentsOf: SortedCollection) size printString]. [treeModel remove: SortedCollection] forkAt: 1. self assert: true! ! !TreeRemoveTest categoriesFor: #testCrash!public! ! "Binary Globals"! |
"Bruno" <[hidden email]> wrote in message
news:[hidden email]... > Is this a Dolphin bug ? > > I have attached a TestCase. > > But here's the code: > > " Evaluate this " > treeModel := TreeModel withRoots: (SequenceableCollection allSubclasses). > treePresenter := TreePresenter showOn: treeModel. > treePresenter view getTextBlock: [:each | (treeModel allParentsOf: > SortedCollection) size printString]. > > > "!!!!AFTER A FEW SECONDS EVALUATE THIS !!!!!!" > > treeModel remove: SortedCollection. > > My image crash. Bruno, it doesn't crash for me. I just get a walkback. And another when I dismiss it, and so on. You are not by any chance running with the option to disable walkbacks and go straight into the debugger enabled are you? If so I strongly recommend you do not do that. This option was put in because some users wanted it, but frankly it is a bad idea. If you choose to disable walkbacks, then in situations when you have recursive errors, or those generated from UI painting, it is very likely you will get an unrecoverable stack overflow and Dolphin will crash. Regards Blair |
Blair,
> Bruno, it doesn't crash for me. I just get a walkback. And another when I > dismiss it, and so on. > > You are not by any chance running with the option to disable walkbacks and > go straight into the debugger enabled are you? > > If so I strongly recommend you do not do that. This option was put in > because some users wanted it, but frankly it is a bad idea. If you choose to > disable walkbacks, then in situations when you have recursive errors, or > those generated from UI painting, it is very likely you will get an > unrecoverable stack overflow and Dolphin will crash. Do you mean User Preferences>>Debugger>>showWalkbacks ? Because it crash with both values (true and false). But i do not know if we are talking about the same option. The only difference is that open a Debugger automatically. Regards Bruno |
Free forum by Nabble | Edit this page |