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 -
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 -
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 -
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 -
vm-dev@lists.squeakfoundation.org