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
The root cause for my observed issue was that the python-msgpack backport of version 0.6.2 to Ubuntu Bionic done by Ubuntu Cloud Archive was using the pure python fallback for pack/unpack. And this was simply due to Cython being too old as it lacked the support for bytearray which was only added in 0.29 cython/cython#2573.
print("Install Cython >= 0.16 or install msgpack from PyPI.")
is not correct anymore, obviously >=0.29 is true at least for python-msgpack version 0.6.2 and newer.
Honestly I believe your build script is just way too nice, skipping over every possible error condition when building the extension and then simply falling back to pure python:
I'd like to suggest to fail hard if Cython is not available or cannot build successfully and then add a flag to not build the extension and explicitly use the pure python fallback.
In this particular case only looking at the human readable build logs exposed this problem which only gets harder to debug with every additional layer.
Not allowing an at-runtime fallback is a whole other story - but could be sensible as well for use cases which will just not work with the performance available with fallback.
The text was updated successfully, but these errors were encountered:
I recently debugged a tricky issue with OpenStack Neutron or rather oslo.privsep (https://github.com/openstack/oslo.privsep) which makes heavy use of your very appreciated python-msgpack. You'll find the whole story here: https://bugs.launchpad.net/cloud-archive/+bug/1937261.
The root cause for my observed issue was that the python-msgpack backport of version 0.6.2 to Ubuntu Bionic done by Ubuntu Cloud Archive was using the pure python fallback for pack/unpack. And this was simply due to Cython being too old as it lacked the support for
bytearray
which was only added in 0.29 cython/cython#2573.The version requirement stated in the warning at
msgpack-python/setup.py
Line 57 in 38dba96
>=0.29
is true at least for python-msgpack version 0.6.2 and newer.Honestly I believe your build script is just way too nice, skipping over every possible error condition when building the extension and then simply falling back to pure python:
msgpack-python/setup.py
Line 50 in 38dba96
I'd like to suggest to fail hard if Cython is not available or cannot build successfully and then add a flag to not build the extension and explicitly use the pure python fallback.
In this particular case only looking at the human readable build logs exposed this problem which only gets harder to debug with every additional layer.
Not allowing an at-runtime fallback is a whole other story - but could be sensible as well for use cases which will just not work with the performance available with fallback.
The text was updated successfully, but these errors were encountered: