Ok, so it's a real bug, a reference leak, which have been introduced by:
commit 93fac8dd358cd0e85e7b59115db226ce685d3f6f
Author: INADA Naoki <methane@users.noreply.github.com>
Date: Tue Mar 7 14:24:37 2017 +0900
bpo-29676: fix lsprof can't profile C method call. (GH523)
When LOAD_METHOD is used for calling C mehtod, PyMethodDescrObject
was passed to profilefunc from 5566bbb.
But lsprof traces only PyCFunctionObject. Additionally, there can be
some third party extension which assumes passed arg is
PyCFunctionObject without calling PyCFunction_Check().
So make PyCFunctionObject from PyMethodDescrObject when
tstate->c_profilefunc is set. |