[Vm-dev] MVC Scrolling crashes

Bruce O'Neel bruce.oneel at pckswarms.ch
Sat Feb 19 18:46:44 UTC 2022


HI,

Ok, so I have an ugly patched attached.  This fixes the ArmV8 crashes
in MVC when you scroll.  You can trigger the crash by creating a MVC
project, and then within opening a workspace.  Enter one line of text
and keep hitting return until the text scrolls off the screen.  Grab
the scroll bar and scroll back.  Segfault.

The function that is failing is fastPathBottomToTop
in platforms/Cross/plugins/BitBltPlugin/BitBltGeneric.c

The code works unoptimised, but fails with the C optimiser turned on
on Gcc 10.2 and gcc 7.5.0.  The code looks fine to me, so, either I
don't see it or this is one of those worked in the past when the C
optimisers did not take advantage of "oh look, that is undefined, so I
will do what I wish."

My patch just bypasses the fast path in fastPathBottomToTop and forces
the slower path.  The only place this seemed to be used is MVC when
you do big scrolling.  I don't notice any obvious slowdowns even on a
slow PI 3.

I think this patch should be included in the 6.0 release because I am
biased by works but a touch slower vs segfaults.

Thanks.

bruce

On 2022-02-16T20:16:03.000+01:00, Marcel Taeumel
<marcel.taeumel at hpi.de> wrote:

> Hi --
> 
> "Form over" blitting rule is not used much in Morphic anymore.
> 
> Here are is something you can try to see if it crashes in Morphic:
> 
>    HandMorph showEvents: false. "Still uses Form over"
> 
> Here are some things you can do to use another blitting rule in MVC:
> 
>    TextConstants at: #DefaultRule put: Form blend. "was: Form
> over"
> 
> Maybe this stops the crashes. :-) Please report back.
> 
> Best,
> Marcel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20220219/f53a20c8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PatchBitBltGeneric.patch
Type: application/octet-stream
Size: 1325 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20220219/f53a20c8/attachment.obj>


More information about the Vm-dev mailing list