the datetime type is defined as

#define _PyTZINFO_HEAD          \
    PyObject_HEAD               \
    Py_hash_t hashcode;         \
    char hastzinfo;             /* boolean flag */

typedef struct
{
    _PyTZINFO_HEAD
    unsigned char data[_PyDateTime_DATE_DATASIZE];
} PyDateTime_Date;

and data is used to calculate the hash of the object, not being 4 byte
aligned, you get the bus error. Inserting three fill bytes, are making
the data member 4-byte aligned solves the issue, however introducing an
ABI change makes the new datetime ABI incompatible.  For now I don't
know a solution to make that change and keep the ABI compatible.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1620754

Title:
  hash(datetime.datetime(...)) fails with python3.5 on armhf (on an
  arm64 host) with a bus error

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-cryptography/+bug/1620754/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to