[Cuis-dev] VectorGrahicsPlugin Troubles (WAS: Re: A few tweaks to preferences)

David T. Lewis lewis at mail.msen.com
Sat Aug 21 11:10:54 PDT 2021


On Sat, Aug 21, 2021 at 02:54:52PM -0300, Juan Vuletich via Cuis-dev wrote:
> Thanks Gerald!
> 
> Luckily, in this case, the crash.dmp pointed straight to a clear bug in 
> the code. In most other cases, any primitive that modifies an array also 
> gets the array as argument (even if passed before). This is in case the 
> GC moves it around. But when I added contour, somehow I forgot about 
> this. #primResetContourTop:bottom: doesn't pass the contour array as 
> argument, and therefore could produce an invalid access after GC.
> 
> This will require changes to the plugin and new VMs.
> 

I'll be watching for updates :-)

One suggestion - consider adding some kind of #primitivePluginVersion
to VectorEnginePlugin, possibly just answering an integer. If the
VectorGraphics version requires a compatible plugin version, you
can test for it in advance from the image.

Dave


> I'll be working on this in the next few days. Please stay tuned.
> 
> Thanks,
> 
> On 8/21/2021 2:24 PM, Gerald Klix via Cuis-dev wrote:
> >Alas I had another SegFault, that happened after a 2h pause
> >after testing your changes, I wanted to change the screen size
> >in Haver (with no background image).
> >
> >I attached the crash.dmp-file. It is probably not that helpful,
> >I stripped the VM and its plugins.
> >
> >
> >HTH,
> >
> >Gerald
> >
> >
> >
> >On 8/21/21 7:18 PM, Juan Vuletich via Cuis-dev wrote:
> >>On 8/20/2021 11:56 PM, Phil B via Cuis-dev wrote:
> >>>Juan,
> >>>
> >>>On Fri, Aug 20, 2021 at 10:34 PM Juan Vuletich via Cuis-dev 
> >>><cuis-dev at lists.cuis.st <mailto:cuis-dev at lists.cuis.st>> wrote:
> >>>
> >>>    Thanks Gerald. I have experienced occasional crashes when zooming
> >>>    heavy
> >>>    windows, but this surely makes it more likely to happen. I can't
> >>>    test it
> >>>    right now (I need Windows or Linux), but I thought of a possible
> >>>    reason
> >>>    for the problem. If many drag-the-scale-handle events are
> >>>    processed in
> >>>    the same Morphic cycle, and processing each takes too much time, 
> >>>next
> >>>    cycle will take longer, so it will process even more of those
> >>>    events (if
> >>>    generated at a constant rate by an insisting user). The growth is
> >>>    exponential, with no bound. So this is guaranteed to end badly!
> >>>
> >>>
> >>>Yes, this can be an issue with non-VG Morphic too if one isn't 
> >>>careful.  I've run into it with everything from scrolling to mouse 
> >>>moves to dragging etc.  VG likely just makes it a more frequent 
> >>>issue given the overhead of the increased drawing time per frame.
> >>>
> >>>
> >>>    I just pushed an update that limits the processing of
> >>>    MouseMoveEvents to
> >>>    just one per cycle. The other kinds of events are much less 
> >>>likely to
> >>>    cause this kind of problems (although not completely 
> >>>impossible), and
> >>>    are (as usual) processed until the event queue is empty.
> >>>
> >>>
> >>>Please don't discard events like this.  It will have an impact on 
> >>>sensitivity/resolution which is already not great.  Can we do some 
> >>>combination of coalescing and/or more selectively discarding them 
> >>>instead?
> >>
> >>The point is to improve sensitivity to user actions. Slowing down the 
> >>Morphic cycle, reducing fps, to process events that won't give 
> >>feedback to the user until the next cycle is what makes it worse. The 
> >>way to improve is to give the user feedback as quickly as possible.
> >>
> >>>
> >>>
> >>>    Please try again with this updates if you have the chance. It may
> >>>    help.
> >>>
> >>>    Thanks,
> >>>
> >>>    --     Juan Vuletich
> >>>    www.cuis-smalltalk.org <http://www.cuis-smalltalk.org>
> >>>    https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
> >>>    https://github.com/jvuletich
> >>>    https://www.linkedin.com/in/juan-vuletich-75611b3
> >>>    @JuanVuletich
> >>>
> >>>
> >>>Thanks,
> >>>Phil
> >>
> >>
> >>
> 
> 
> -- 
> Juan Vuletich
> www.cuis-smalltalk.org
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
> https://github.com/jvuletich
> https://www.linkedin.com/in/juan-vuletich-75611b3
> @JuanVuletich
> 
> -- 
> Cuis-dev mailing list
> Cuis-dev at lists.cuis.st
> https://lists.cuis.st/mailman/listinfo/cuis-dev


More information about the Cuis-dev mailing list