CensoredUsername added the comment: Indeed. In my case the problem was caused a subclassed Pickler which still used GLOBAL instead of STACK_GLOBAL in protocol 4.
My own minimized test case was: data = b"\x80\x04\x95\x11\x00\x00\x00\x00\x00\x00\x00cpickle\nPickler\n." >>> pickletools.dis(data) 0: \x80 PROTO 4 2: \x95 FRAME 17 11: c GLOBAL 'pickle Pickler' 27: . STOP highest protocol among opcodes = 4 which should return pickle.Pickler ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue23094> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com