Closed CypherGrue closed 4 years ago
sorry, this does not ring any bell for me :cry:
plyvel does not interact with wx
in any way (at least not directly), nor does it use tcmalloc
directly.
it indeed seems to be related to some conflicts in the libraries somehow, but i have no clue if this is caused by the compiler/linker/loader/whatever... sorry.
red herring 🔴🐟
Updated test case, plyvel might be off the hook
from ctypes import CDLL
### Any of these wx libs first
#CDLL('/usr/local/lib/python3.7/site-packages/wx/_core.cpython-37m-darwin.so')
CDLL('/usr/local/lib/python3.7/site-packages/wx/libwx_osx_cocoau_core-3.1.4.0.0.dylib')
### Followed by any of these plyvel dependencies
#CDLL('/usr/local/lib/python3.7/site-packages/plyvel/_plyvel.cpython-37m-darwin.so')
#CDLL('/usr/local/opt/leveldb/lib/libleveldb.1.dylib')
CDLL('/usr/local/Cellar/gperftools/2.7/lib/libtcmalloc.4.dylib')
### Give tcmalloc crash after execution:
# src/tcmalloc.cc:332] Attempt to free invalid pointer 0x7fcf91c3aaf0
# zsh: abort python3
Known leveldb bug
thanks, closing since this is not within plyvel's scope.
I've run into a strange issue and not sure which project to get help from. My program exhibits undefined behaviour when plyvel is imported after wxpython, but not vice versa.
I have narrowed it down to a single line test case.
Just loading the plyvel library instead of the whole package is sufficient to trigger the issue e.g.:
Python2 fails to "pip install plyvel" out-of-the-box, but I can force a build with compile flags:
And thusly built python2 exhibits the same issue. Same with python3.8.
I'm a bit lost where to go from here. Could this be an issue with my computer, the stdlib changes in OSX, or brew, cython, wxpython or plyvel?