You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When trying to investigate #1922, I accidentally reproduced the wrong thing, but ended up finding another bug. I haven't root-caused this, but this is the general breakdown:
Define a base class + trampoline and bind those in C++, and then make derived class in Python which inherits from it.
You should be able to instantiate both of them (if they are default-constructible)
Delete those classes and garbage collect (and double-check to ensure they've been deleted)
Define another base class + trampoline in C++, and then a derived class in Python
Try constructing the new derived class; you may end up getting TypeError: __init__(self, ...) called with invalid `self` argument.
I'm running this on Ubuntu 18.04, using Python 3.6.8.
My generic guess is that this is due to the use of hashing type.ptr(), which cause a hash collision when an object's memory location is reused after it's deleted (similar to #1922).
The text was updated successfully, but these errors were encountered:
Issue description
When trying to investigate #1922, I accidentally reproduced the wrong thing, but ended up finding another bug. I haven't root-caused this, but this is the general breakdown:
TypeError: __init__(self, ...) called with invalid `self` argument
.Reproducible example code
EricCousineau-TRI@c11472d
I'm running this on Ubuntu 18.04, using Python 3.6.8.
My generic guess is that this is due to the use of hashing
type.ptr()
, which cause a hash collision when an object's memory location is reused after it's deleted (similar to #1922).The text was updated successfully, but these errors were encountered: