-
Notifications
You must be signed in to change notification settings - Fork 768
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
Investigate the strange issues associated with implicit STL conversion #1244
Comments
Pinging @gchenfc @varunagrawal, have you ever encountered such behavior before? |
I couldn't see what was actually the issue with 1203, but for #1239, could it be just that this conversion is clashing with KeyVector defined in specializations/gtsam.h and preamble/gtsam.h ? |
I think the issue is due to the opaque behavior of the JacobianVector aka |
@varunagrawal But this is the commit the fixed the crash, and @gchenfc That is also a good point, there is no documentation on what will happen is the same type gets bound by both |
JacobianVector is marked opaque but then why is pybind passing in a list or np arrays? Shouldn't it pass in a JacobianVector object? This is also a good time to revisit my PR on using stl.h exclusively. It's on my gtsam repo. |
My previous comments come from looking at the values. I ran print-debugging on both the python and C++ side, and where the |
@varunagrawal JacobianVector is marked opaque and then bound with |
Okay that makes sense. I get the feeling that we should then not use |
Problem with auto binding is that nothing will be mutable, for example the KeyVector |
That's fine because KeyVector will be removed. Instead we'll just use regular lists. That being said, I updated the stl.h PR and I still see this issue, so my guess is that it's something deeper. |
@gchenfc is on the money with his diagnosis. Part of it is the clash with KeyVector. |
I think this issue is superseded by the fact that we support full STL binding in the python wrapper. Closing as a result. |
#1239 #1203 both are hit by this strange problem.
Either we are doing something that should not be done, or there is a bug (probably UB) in pybind11.
For #1203 it's looks very similar to pybind/pybind11#1035
Investigation TODO List:
stl.h
and rerun ASAN/UBSAN (all unit tests)The text was updated successfully, but these errors were encountered: