--- Begin Message ---
Subject: |
Calibre test suite fails |
Date: |
Thu, 02 Apr 2020 13:09:50 +0100 |
User-agent: |
mu4e 1.2.0; emacs 26.3 |
Hi,
Both on my local machine and on the CI[0], the Calibre test suite has
been failing with the following error:
======================================================================
ERROR: test_msgpack (calibre.test_build.BuildTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/tmp/guix-build-calibre-3.42.0.drv-0/calibre-3.42.0/src/calibre/test_build.py",
line 124, in test_msgpack
self.assertEqual(obj, msgpack_loads(s))
File
"/tmp/guix-build-calibre-3.42.0.drv-0/calibre-3.42.0/src/calibre/utils/serialize.py",
line 113, in msgpack_loads
return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False,
use_list=use_list)
File
"/gnu/store/z7dz4iiaivmadhk0x50qs5zv3rwykrmd-python2-msgpack-1.0.0/lib/python2.7/site-packages/msgpack/fallback.py",
line 129, in unpackb
ret = unpacker._unpack()
File
"/gnu/store/z7dz4iiaivmadhk0x50qs5zv3rwykrmd-python2-msgpack-1.0.0/lib/python2.7/site-packages/msgpack/fallback.py",
line 666, in _unpack
"%s is not allowed for map key" % str(type(key))
ValueError: <type 'int'> is not allowed for map key
----------------------------------------------------------------------
This is happening on both staging and master. There have been no
changes to the calibre package itself since January. I have run a git
bisect and the offending change appears to be in commit
66ab2f5e3a0df665f6e39203aedd2bf4812e6a71, when python-msgpack was
updated to version 1.0.0.
[0]: e.g. http://ci.guix.gnu.org/build/2485977/details
--
Josh Holland
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#40388: Reported upstream to Calibre |
Date: |
Fri, 03 Apr 2020 15:31:49 +0200 |
User-agent: |
Notmuch/0.29.3 (https://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu) |
Josh Holland <address@hidden> writes:
> I've reported this bug as
> https://bugs.launchpad.net/calibre/+bug/1870541. I also found the
> backwards-incompatible change in msgpack which is the culprit of this:
>
> * Default value of strict_map_key is changed to True to avoid
> hashdos. You need to pass strict_map_key=False if you have data which
> contain map keys which type is not bytes or str.
>
> (from <https://pypi.org/project/msgpack/>)
Thanks for reporting it! I was just looking into the issue and found
that it was fixed upstream 3 days ago:
https://github.com/kovidgoyal/calibre/commit/0ff41ac64994ec11b7859fc004c94d08769e3af3
I adopted the patch to Guix in 3e4ce1cc3eb7b35405c4d2c4f837e53ec9952c99.
signature.asc
Description: PGP signature
--- End Message ---