[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    Re: Two backtraces ... and a hangup
From:       Boudewijn Rempt <boud () valdyas ! org>
Date:       2015-04-13 12:18:16
Message-ID: alpine.LNX.2.00.1504131415310.7852 () calcifer ! valdyas ! org
[Download RAW message or body]

On Fri, 10 Apr 2015, Richard Theil wrote:

> 
> Am 10.04.2015 um 13:02 schrieb Boudewijn Rempt:
> 
> > I think that we shouldn't build the Neon packages with asserts enabled.. I can \
> > replace the asserts by returns, then that wouldn't happen.
> 
> Hehe; not exactly my idea of software development ;) They're there for a reason and \
> from what I can see, it would not be a good idea to call setControlPoint1 with \
> Not-A-Number (or Infinity?) values in the first place.

Yeah, that's why I haven't done that yet. The problem is, it's a part of 
the codebase that I am not overly familiar with -- and the original author 
isn't around anymore!

> 
> > From what you say, it sounds like it's really easy for you to reproduce, but I \
> > haven't managed yet! Could you install the debug symbols and try to reproduce?
> 
> I'll have a look into it as i get some play time. However, I just gave 
> it a quick look again, just using the mouse, to see whether issues are 
> maybe dependent on the ancient Wacom hardware. Test case was painting 
> the kanji chars at unicode 5b50, 5f8b, and 76f4. Wacom was disconnected, 
> Mouse was an Apple trackball mouse. Built in T500 TrackPad/Point 
> available, but untouched.
> 
> I ran into a hangup after about a dozen characters drawn. Not a crash, 
> but a seemingly (*) endless looping output of "reached 
> MAX_RECURSIVE_DEPTH" in KarbonSimplifyPath::subdivideAux. That function 
> in turn calls KoPathPoint::setControlPoint1. Coincidence?

I suspect not :-).

> 
> (*) As I read some "calligra-2.9.2" code on the web, It should limit the 
> subdivisions off at MAX_RECURSIVE_DEPTH. So it might not have been 
> technically endless, but just an attept to print around 1024^2/2 lines, 
> which would occur if some input value of the original curve is so NaN 
> that the final comparison in isSufficentlyFlat always returns false.
> 
> Rich
> 
> by the way, in isSufficentlyFlat, you could factor out the division by 
> (SUBDIVISION_COEFF*SUBDIVISION_COEFF) to save a few cycles. Might even 
> help, because that's probably called rather often.

I'll try and look into that, but if you could come up with a patch... 
Well, undying gratitude would be your reward!

> 
> _______________________________________________
> Krita mailing list
> kimageshop@kde.org
> https://mail.kde.org/mailman/listinfo/kimageshop
_______________________________________________
Krita mailing list
kimageshop@kde.org
https://mail.kde.org/mailman/listinfo/kimageshop


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic