Skip to content

test_win32 fails on aarch64 #67438

Closed
Closed

Description

@rkuska
mannequin
BPO 23249
Nosy @doko42, @vstinner, @meadori, @rkuska, @iritkatriel
Files
  • libffi-henderson: fix by richard Henderson
  • libffi-mattip.patch: ported patch for bundled libffi in python by mattip
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2021-09-09.21:16:14.798>
    created_at = <Date 2015-01-16.09:41:23.336>
    labels = ['ctypes', 'type-crash']
    title = 'test_win32 fails on aarch64'
    updated_at = <Date 2021-09-09.21:16:14.798>
    user = 'https://github.com/rkuska'

    bugs.python.org fields:

    activity = <Date 2021-09-09.21:16:14.798>
    actor = 'iritkatriel'
    assignee = 'none'
    closed = True
    closed_date = <Date 2021-09-09.21:16:14.798>
    closer = 'iritkatriel'
    components = ['ctypes']
    creation = <Date 2015-01-16.09:41:23.336>
    creator = 'rkuska'
    dependencies = []
    files = ['37723', '37724']
    hgrepos = []
    issue_num = 23249
    keywords = ['patch']
    message_count = 5.0
    messages = ['234119', '234148', '235601', '401510', '401520']
    nosy_count = 6.0
    nosy_names = ['doko', 'vstinner', 'meador.inge', 'sYnfo', 'rkuska', 'iritkatriel']
    pr_nums = []
    priority = 'normal'
    resolution = 'out of date'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'crash'
    url = 'https://bugs.python.org/issue23249'
    versions = ['Python 2.7', 'Python 3.4']

    Activity

    1. rkuska commented on Jan 16, 2015

      rkuskamannequin
      MannequinAuthor

      Original bug report at https://bugzilla.redhat.com/show_bug.cgi?id=1174037
      Additional informations at Issue bpo-20160

      Note that this was reproduced not only with separate libffi package but also with libffi bundled in python.
      Reproduced with Python 2.7.9 but same issue should exists also in 3.4.x.

      Richard Henderson provided fix in original bug report at bugzilla (attached).

      Summary:
      ======================================================================
      FAIL: test_struct_by_value (ctypes.test.test_win32.Structures)
      ----------------------------------------------------------------------

      Traceback (most recent call last):
        File "/builddir/build/BUILD/Python-2.7.9/Lib/ctypes/test/test_win32.py", line 112, in test_struct_by_value
          self.assertEqual(ret.left, left.value)
      AssertionError: -200 != 10

      (gdb) b ReturnRect
      Function "ReturnRect" not defined.
      Make breakpoint pending on future shared library load? (y or [n]) y
      Breakpoint 1 (ReturnRect) pending.
      (gdb) run test_win32.py
      Starting program: /usr/bin/python test_win32.py
      Missing separate debuginfos, use: debuginfo-install glibc-2.20.90-12.fc22.aarch64
      [Thread debugging using libthread_db enabled]
      Using host libthread_db library "/lib64/libthread_db.so.1".

      Breakpoint 1, ReturnRect (i=0, ar=..., br=0x59b750, cp=..., dr=..., er=0x59b750, fp=...,
      gr=<error reading variable: Cannot access memory at address 0xffff000000000000>)
      at /usr/src/debug/Python-2.7.9/Modules/_ctypes/_ctypes_test.c:552
      552 if (ar.left + br->left + dr.left + er->left + gr.left != left * 5)
      (gdb) p fp
      $1 = {x = 4396722194992, y = 5879632}
      (gdb) p cp
      $2 = {x = 15, y = 25}
      (gdb)

      Consider to apply a patch or update bundled libffi.

    2. vstinner commented on Jan 16, 2015

      @vstinner
      Member

      libffi-3.2.1 was released on November 12, 2014. You can ftp it from sourceware.org:/pub/libffi/libffi-3.2.1.tar.gz.

      Does this version include libffi-henderson patch?

    3. rkuska commented on Feb 9, 2015

      rkuskamannequin
      MannequinAuthor

      Sorry for the late answer, I forgot about this issue.

      3.2.1 doesn't contain required fix(sorry for the misleading suggestion 'or update bundled libffi' from report) but master branch at upstream repo (https://github.com/atgreen/libffi) does.

    4. iritkatriel commented on Sep 9, 2021

      @iritkatriel
      Member

      I believe we are on libffi 3.3 now - the code on that branch looks very different from this patch. Can we close this issue?

    5. vstinner commented on Sep 9, 2021

      @vstinner
      Member

      Original bug report at https://bugzilla.redhat.com/show_bug.cgi?id=1174037

      The bug was reported on Fedora (Linux).

      We do now have a multiple AArch64 buildbots running Fedora and the whole test suite now pass there.

      Example with "aarch64 Fedora Stable 3.x":
      https://buildbot.python.org/all/#/builders/125/builds/612

      "0:00:03 load avg: 4.20 [ 62/427] test_ctypes passed"

      So yes, this issue can now be fixed ;-)

      FYI Python is built with --with-system-ffi on Fedora, but buildbots don't use this flag. I'm working on using --with-system-ffi on buildbots, see:
      python/buildmaster-config#264

    6. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      topic-ctypestype-crashA hard crash of the interpreter, possibly with a core dump

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions