sweep failed to find exact end of memory

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

sweep failed to find exact end of memory

Jens Lincke
Hi,

On my machine doing a:

f1 :=  Form extent: 800 @ 600  * 4 depth:  32.
f2 :=  Form extent: 800 @ 600  * 4 depth:  32.
f3 :=  Form extent: 800 @ 600  * 4 depth:  32.
f4 :=  Form extent: 800 @ 600  * 4 depth:  32.

results into an:

"sweep failed to find exact end of memory" - vm crash

both under the squeak 3.9-8 and 3.7-3 unix vms.

my system:

ubuntu i386  1GB RAM 1GB Swap

Any ideas, why this happens?


- Jens -

Reply | Threaded
Open this post in threaded view
|

Re: sweep failed to find exact end of memory

Jens Lincke
The same happens under a different  machine with a different image,
here is a stacktrace:

sweep failed to find exact end of memory

-2121753020 Behavior>new:
-2121753164 Form>setExtent:depth:
-2121753256 >extent:depth:
2142442516 UndefinedObject>?
2142437672 Compiler>evaluate:in:to:notifying:ifFail:logged:
2142437764 [] in ParagraphEditor>evaluateSelection
2142437488 BlockContext>on:do:
2142437396 ParagraphEditor>evaluateSelection
2142437304 ParagraphEditor>doIt
2142437580 [] in ParagraphEditor>doIt:
2142437212 Controller>terminateAndInitializeAround:
2142437120 ParagraphEditor>doIt:
2142436872 ParagraphEditor>dispatchOnCharacter:with:
2142436768 TextMorphEditor>dispatchOnCharacter:with:
2142436676 ParagraphEditor>readKeyboard
2142436584 TextMorphEditor>readKeyboard
2142436160 [] in TextMorph>keyStroke:
2142436068 TextMorph>handleInteraction:fromEvent:
2142435976 TextMorphForEditView>handleInteraction:fromEvent:
2142435832 TextMorph>keyStroke:
2142435740 TextMorphForEditView>keyStroke:
2142435648 TextMorph>handleKeystroke:
2142435280 KeyboardEvent>sentTo:
2142435188 Morph>handleEvent:
2142435096 Morph>handleFocusEvent:
2142435372 [] in HandMorph>sendFocusEvent:to:clear:
2142435464 [] in PasteUpMorph>becomeActiveDuring:
2142435004 BlockContext>on:do:
2142434912 PasteUpMorph>becomeActiveDuring:
2142434728 HandMorph>sendFocusEvent:to:clear:
2142434636 HandMorph>sendEvent:focus:clear:
2142434504 HandMorph>sendKeyboardEvent:
2142434412 HandMorph>handleEvent:
2142434192 HandMorph>processEvents
2142434284 [] in WorldState>doOneCycleNowFor:
2142434100 SequenceableCollection>do:
2142434008 WorldState>handsDo:
2142433916 WorldState>doOneCycleNowFor:
2142433824 WorldState>doOneCycleFor:
2142433732 PasteUpMorph>doOneCycle
2013725548 [] in >spawnNewProcess
2013725732 [] in BlockContext>newProcess


Jens Lincke schrieb:

> Hi,
>
> On my machine doing a:
>
> f1 :=  Form extent: 800 @ 600  * 4 depth:  32.
> f2 :=  Form extent: 800 @ 600  * 4 depth:  32.
> f3 :=  Form extent: 800 @ 600  * 4 depth:  32.
> f4 :=  Form extent: 800 @ 600  * 4 depth:  32.
>
> results into an:
>
> "sweep failed to find exact end of memory" - vm crash
>
> both under the squeak 3.9-8 and 3.7-3 unix vms.
>
> my system:
>
> ubuntu i386  1GB RAM 1GB Swap
>
> Any ideas, why this happens?
>
>
> - Jens -


Reply | Threaded
Open this post in threaded view
|

Re: sweep failed to find exact end of memory

Bert Freudenberg
In reply to this post by Jens Lincke
On Feb 21, 2007, at 18:32 , Jens Lincke wrote:

> "sweep failed to find exact end of memory" - vm crash


I have a hunch that declaring endOfMemoryLocal as unsigned in  
ObjectMemory>>sweepPhase might solve this particular problem.

Jens, could you try this?

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: sweep failed to find exact end of memory

Jens Lincke
Bert Freudenberg schrieb:

> On Feb 21, 2007, at 18:32 , Jens Lincke wrote:
>
>> "sweep failed to find exact end of memory" - vm crash
>
>
> I have a hunch that declaring endOfMemoryLocal as unsigned in
> ObjectMemory>>sweepPhase might solve this particular problem.
>
> Jens, could you try this?
>
> - Bert -
>
>
I changed

sqInt sweepPhase(void) {
register struct foo * foo = &fum;
    sqInt endOfMemoryLocal;
    ...

to

sqInt sweepPhase(void) {
register struct foo * foo = &fum;
    usqInt endOfMemoryLocal;

and the "sweep failed to find exact end of memory" was gone, but now I get

Segmentation fault

-2143533612 BlockContext>ensure:
-2143534184 Semaphore>critical:
-2143534276 >recycleBuffer:

Segmentation fault

that means, the vm gets a segfault even in the segfault handler...

- Jens -





Reply | Threaded
Open this post in threaded view
|

Re: sweep failed to find exact end of memory

Bert Freudenberg
On Feb 21, 2007, at 22:15 , Jens Lincke wrote:

> Bert Freudenberg schrieb:
>> On Feb 21, 2007, at 18:32 , Jens Lincke wrote:
>>
>>> "sweep failed to find exact end of memory" - vm crash
>>
>>
>> I have a hunch that declaring endOfMemoryLocal as unsigned in  
>> ObjectMemory>>sweepPhase might solve this particular problem.
>>
>> Jens, could you try this?
>>
>> - Bert -
>>
>>
> I changed
>
> sqInt sweepPhase(void) {
> register struct foo * foo = &fum;
>    sqInt endOfMemoryLocal;
>    ...
>
> to
>
> sqInt sweepPhase(void) {
> register struct foo * foo = &fum;
>    usqInt endOfMemoryLocal;
>
> and the "sweep failed to find exact end of memory" was gone, but  
> now I get
>
> Segmentation fault
>
> -2143533612 BlockContext>ensure:
> -2143534184 Semaphore>critical:
> -2143534276 >recycleBuffer:
>
> Segmentation fault
>
> that means, the vm gets a segfault even in the segfault handler...

So the "sweep phase" error is gone :) And that's a different bug ...  
really, I think we'll see a lot more unless this is approached  
systematically ...

- Bert -