Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-73967

SIGILL from Popup test on QRandomGenerator

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • P2: Important
    • None
    • 5.11.3
    • Core: Other
    • None
    • Operating System: Gentoo
      qtcore-5.11.3-r2
      PyQt5-5.10.1-r1
      Python 3.6.5
    • Linux/X11

    Description

      When using PyQT5 bindings and attempting to run a test on a popup/right click dialog, the test will, in come cases, abort.

      Steps to reproduce:

      1. git clone https://gitlab.com/djsumdog/mpvbuddy.git
      2. cd mpvbuddy
      3. git checkout 1ada83a
      4. pytest -v mpvbuddy/gui/test_popup.py

      If I run pytest through valgrind, I see the following:

      ==3590== Process terminating with default action of signal 4 (SIGILL)
      ==3590==  Illegal opcode at address 0x360080D3
      ==3590==    at 0x360080D3: QRandomGenerator::SystemGenerator::generate(unsigned int*, unsigned int*) (in /usr/lib64/libQt5Core.so.5.11.3)
      ==3590==    by 0x3606B70E: qt_create_qhash_seed() (in /usr/lib64/libQt5Core.so.5.11.3)
      ==3590==    by 0x3606C1EE: QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) (in /usr/lib64/libQt5Core.so.5.11.3)
      ==3590==    by 0x3742C9F7: Chimera::parse(QByteArray const&, char const*) (in /usr/lib64/python3.6/site-packages/PyQt5/QtCore.so)
      ==3590==    by 0x37439344: qpycore_pyqtSignal_New(char const*, bool*) (in /usr/lib64/python3.6/site-packages/PyQt5/QtCore.so)
      ==3590==    by 0x3743977E: qpycore_get_lazy_attr (in /usr/lib64/python3.6/site-packages/PyQt5/QtCore.so)
      ==3590==    by 0x37017568: add_all_lazy_attrs (in /usr/lib64/python3.6/site-packages/sip.so)
      ==3590==    by 0x37017904: sipSimpleWrapper_new (in /usr/lib64/python3.6/site-packages/sip.so)
      ==3590==    by 0x4F3DB64: type_call (in /usr/lib64/libpython3.6m.so.1.0)
      ==3590==    by 0x4EBA8C5: PyObject_Call (in /usr/lib64/libpython3.6m.so.1.0)
      ==3590==    by 0x370270F8: sipWrapInstance (in /usr/lib64/python3.6/site-packages/sip.so)
      ==3590==    by 0x37016383: addInstances (in /usr/lib64/python3.6/site-packages/sip.so)
      
      

      On later commits I change

      self.app = QApplication([])

      to this

      self.app = QApplication(sys.argv)
      

      and the tests work again, but it's not consistent. On gitlab's CI, I'll still get aborts. I suspect there's a memory error somewhere within the window initialization.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            thiago Thiago Macieira
            djsumdog Sumit Khanna
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes