← Back to team overview

kicad-developers team mailing list archive

Re: C++ standard lib expertise requested

 

How about try using this boost suggestion to help better understand error:
https://www.boost.org/doc/libs/1_65_1/doc/html/stacktrace/getting_started.html#stacktrace.getting_started.better_asserts

My guest is: "the ::~_func" mean the destruction call of the function class
fail. Base on you said a null-pointer, then may be the pointer to the
POINT_EDITOR function some how become null, or the parameter TOOL_EVENT
been passed with value of zero/null.

However, the  C++ >=11 standard, + boost and suggested coding style would
avoid these type of null point case during compiled time.

FYI: Few year back I try add dbg code to dummy debug messages into console
(with filter) framework that I found useful for me to coding, and find
bugs. But the main developer reject my idea. He tell me with 30+year coding
he never need it (that is amazing for me). I'm not that perfect, so
programming with micro-controller/multi-threaded environment to me the dbg
framework I got was the only effective way I know to make sure my code
perform right, tracing the bug quickly :-)

On Thu, Aug 9, 2018 at 8:18 PM Seth Hillbrand <seth@xxxxxxxxxxxxx> wrote:

> OK, here's a stab at decoding.  Better guesses, welcome
>
> This is std::function, which stores a bound function call.  It is a bound
> function call to a POINT_EDITOR class function that takes a TOOL_EVENT as a
> parameter and returns an int.  It is 16 bytes inside the function, so
> second instruction.  My guess would be removeCorner was called and
> m_editPoints is NULL.
>
> It's odd that the user reports trying to move a component when this
> triggered.
>
> -S
>
> Am Do., 9. Aug. 2018 um 15:12 Uhr schrieb Jeff Young <jeff@xxxxxxxxx>:
>
>> Can anyone decipher the following stack trace:
>>
>> 1   _pcbnew.kiface                	0x000000012df91800 std::__1::__function::__func<std::__1::__bind<int (POINT_EDITOR::*&)(TOOL_EVENT const&), POINT_EDITOR*, std::__1::placeholders::__ph<1>&>, std::__1::allocator<std::__1::__bind<int (POINT_EDITOR::*&)(TOOL_EVENT const&), POINT_EDITOR*, std::__1::placeholders::__ph<1>&> >, int (TOOL_EVENT const&)>::~__func() + 16
>>
>>
>> We’re getting a null-pointer access there.
>>
>> https://bugs.launchpad.net/kicad/+bug/1786349
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>


-- 
Nhat *Khai* Nguyen

References