SegmentationFault in with OmniBrowser

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

SegmentationFault in with OmniBrowser

Damien Cassou-3
Hi,

you will find here http://damien.cassou.free.fr/crashing.zip an image
which makes the VM segfault. To reproduce:

- Open the image
- Open an 'image browser' from the world menu->open...
- Choose a class and click on one of the 3 filters 'instance' '?' or 'class'.

The VM say:

Segmentation fault

2032029316 [] in OBMetaNode>childrenForNode:
2032030488 [] in Collection>gather:
2032030004 OrderedCollection>do:
2032029408 [] in Collection>gather:
2032029500 >streamContents:
2032029224 Collection>gather:
2032028672 OBMetaNode>childrenForNode:
2032028580 OBNode>childNodes
2032028488 OBColumn>getChildren
2032027384 OBColumn>basicParent:
2032027108 OBColumn>parent:
2032027200 [] in OBColumnPanel>selected:
2032026924 Object>ifNotNilDo:
2032025812 OBColumnPanel>selected:
2032025720 OBColumnPanel>selectionChanged:


The problem is that I can easily reproduce the crash. Just take a
squeak-dev-beta-123 from
http://damien.cassou.free.fr/squeak-dev/beta/, and use the 'Package
Universe Browser' to upgrade to latest OB ('update list from network',
'select all upgrades' 'install selection').

Can somebody help me?


--
Damien Cassou

Reply | Threaded
Open this post in threaded view
|

Re: SegmentationFault in with OmniBrowser

Andreas.Raab
Damien Cassou wrote:
> The problem is that I can easily reproduce the crash. Just take a
> squeak-dev-beta-123 from
> http://damien.cassou.free.fr/squeak-dev/beta/, and use the 'Package
> Universe Browser' to upgrade to latest OB ('update list from network',
> 'select all upgrades' 'install selection').
>
> Can somebody help me?

Easy. Since the crash is reproducable there is a good chance the
compiler got confused. Looking at the crash dump we can see that
OBButtonModel triggers it upon a push so changing it to:

push
        ContextPart runSimulated:[bar push: self].

has a very good chance to trigger such problems. And indeed: Once you do
this you get an error saying that instances of OBModalFilter aren't
indexable which is raised during simulating OBModalFilter>>selection:.
Looking at the bytecodes (or the decompile) of that method shows that
there is indeed a major problem, plus in a couple of other methods
(noteParent:child: for example).

How it got into this state is a great question, though. Somewhere,
somehow your system is badly screwed up. Given that you have some fairly
experimental Monticello changes in there I think it's a fair guess to
assume that those might be causing the problem.

Cheers,
   - Andreas


Reply | Threaded
Open this post in threaded view
|

Re: SegmentationFault in with OmniBrowser

stephane ducasse
In reply to this post by Damien Cassou-3
does it crash with 3.9?

Stef

On 19 mai 07, at 15:02, Damien Cassou wrote:

> Hi,
>
> you will find here http://damien.cassou.free.fr/crashing.zip an image
> which makes the VM segfault. To reproduce:
>
> - Open the image
> - Open an 'image browser' from the world menu->open...
> - Choose a class and click on one of the 3 filters 'instance' '?'  
> or 'class'.
>
> The VM say:
>
> Segmentation fault
>
> 2032029316 [] in OBMetaNode>childrenForNode:
> 2032030488 [] in Collection>gather:
> 2032030004 OrderedCollection>do:
> 2032029408 [] in Collection>gather:
> 2032029500 >streamContents:
> 2032029224 Collection>gather:
> 2032028672 OBMetaNode>childrenForNode:
> 2032028580 OBNode>childNodes
> 2032028488 OBColumn>getChildren
> 2032027384 OBColumn>basicParent:
> 2032027108 OBColumn>parent:
> 2032027200 [] in OBColumnPanel>selected:
> 2032026924 Object>ifNotNilDo:
> 2032025812 OBColumnPanel>selected:
> 2032025720 OBColumnPanel>selectionChanged:
>
>
> The problem is that I can easily reproduce the crash. Just take a
> squeak-dev-beta-123 from
> http://damien.cassou.free.fr/squeak-dev/beta/, and use the 'Package
> Universe Browser' to upgrade to latest OB ('update list from network',
> 'select all upgrades' 'install selection').
>
> Can somebody help me?
>
>
> --
> Damien Cassou
>
>