Dolphin crash cuestion

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Dolphin crash cuestion

Bruno Brasesco
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"!

Reply | Threaded
Open this post in threaded view
|

Re: Dolphin crash cuestion

Blair McGlashan-4
"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


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin crash cuestion

Bruno Brasesco
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