Bug#831541: theano: single GradientError and WrongValues in tests on s390x, ppc64 and sparc

Rebecca N. Palmer rebecca_palmer at zoho.com
Tue Feb 14 07:43:06 UTC 2017


Found the problem: the affected functions ( 
https://sources.debian.net/src/theano/0.8.2-4/theano/sparse/opt.py/#L862 
, 
https://sources.debian.net/src/theano/0.8.2-4/theano/sparse/opt.py/#L1902 
) cast a pointer-to-intptr_t (64 bit) to a pointer-to-int (32-bit).

Which isn't just broken on big-endian systems, it's a strict aliasing 
violation *everywhere* (i.e. technically undefined behaviour with 
optimization on, which it is by default, though it appears to work in 
practice).

(I expect to post a patch tonight: the obvious has a potential overflow 
issue, and it also needs a c_code_cache_version change to make the fix 
be used in existing installs).



More information about the debian-science-maintainers mailing list