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).

--
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to