-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recursion in SoBaseKit.__getattr__ #85
Comments
wow, what an honor to be called upon to look at Pivy code :) from looking at the code and my memory of OpenInventor and Pivy, the modification in SoBaseKit.i is there to make the parts of a nodekit accessible in a Pythonic way (i.e.. kit.part etc). so the proposed fix should be correct and probably the problem was found already before in setattr. |
What an honor you are actually responding to my request :) I didn't expect this. Thanks a lot. @sebjf do you want to create a PR for the proposed solution? |
Done! Thanks for considering the issue so quickly! :) |
@looooo is this ticket complete ? |
Hi,
I've been experimenting with the draggers in FreeCAD and encountered a (possibly) infinite recursion bug when using debugpy with pivy.
It seems to be that SWIG attempts to get the attribute 'this' from SoBaseKit, but the
__getattr__
implementation unconditionally attempts to retrieve the catalog (SoBaseKit_getNodekitCatalog
), which itself attempts to getthis
, and so on.The error seems to be silently handled inside Pivy but becomes a problem when using the debugger.
There's further analysis by the debugpy team.
Adding a case as for
__setattr__
that returns theSoNode
implementation resolves this in the tests I've done.Though I don't know enough about SWIG to be sure this is the correct approach.
The text was updated successfully, but these errors were encountered: