zope.security failure [WAS Re: zope-tests - FAILED: 59]

Jason Madden <[email protected]>
Newsgroups gmane.comp.web.zope.devel
Message-ID <[email protected]>
> On Jun 4, 2016, at 07:40, Marius Gedminas <[email protected]> wrote:
> 
>> [43]   FAILED  winbot / zope.security_py_340_win64
>>       https://mail.zope.org/pipermail/zope-tests/2016-June/095171.html
> 
> Unexpected 64-bitness:
> 
>    - <security proxied builtins.object instance at 0x0000000000C88610>
>    ?                                                 --------
>    + <security proxied builtins.object instance at 0x00C88610>
> 
> Probably because it tries to distinguish 32- and 64-bit Pythons by inspecting
> the size of ctypes.long, forgetting that on 64-bit Windows a C 'long' is
> 32-bits still.  A similar bug was recently fixed in, uh, ZODB?  persistent?
> zope.interface?  I don't recall.

I suspect you're thinking of https://github.com/zopefoundation/persistent/issues/38. There it turned out the bug was that the C code was simply returning the wrong type for __hash__ on Py3 (and getting away with it on non-64-bit-Windows).

Here (https://github.com/zopefoundation/zope.security/blame/master/src/zope/security/tests/test_proxy.py#L187), it looks like there's simply no accounting for pointer size at all on windows (the length of the address repr is hardcoded to 8 digits when the platform is 'win32': https://github.com/zopefoundation/zope.security/commit/e1d5f7cf375ccdfb8f6207c2bf813ca64c1d7bda).

I worked on the persistent bug, but because the error ended up being in C code, I never had to figure out how best to distinguish the two 'win32' cases in Python...but since this fails in ProxyCTests but passes in ProxyPyTests maybe this is a similar bug in the C extension?

Jason
_______________________________________________
Zope-Dev maillist  -  [email protected]
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.