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