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

SEGV in ~QEglFSKmsGbmCursor

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 5.9.6
    • QPA: EGLFS
    • None
    • Linux/Other display system

    Description

      Our application runs on a SIGSEGV in ~QEglFSKmsGbmCursor.

      The reason is because of accessing the m_screen member, that points to a screen, that has already been deleted.

      Attached is a log including the stack reported by the address sanitizer. I modified the debug statement in ~QEglFSKmsGbmScreen and added a debug statement ( the line numbers from the crash differ by 2 from the original code ) in ~QEglFSKmsGbmCursor so that it can be seen, what is going on:

      The m_screen pointer in QEglFSKmsGbmCursor refers to the first screen, but the destructor for the cursor is not called, before the last screen gets deleted.

      Here is the interesting part of the log:

      ~QEglFSKmsGbmScreen: Screen dtor 0x61100001b5c0. Remaining screens: 1
      ~QEglFSKmsGbmScreen: Screen dtor 0x611000027c80. Remaining screens: 0
      QEglFSKmsGbmDevice::destroyGlobalCursor: Destroying global GBM mouse cursor
      ~QEglFSKmsGbmCursor: Cursor dtor 0x60f0000063a0, screen 0x61100001b5c0.

      Attachments

        1. eglfs_crash.txt
          10 kB
          Uwe Rathmann
        2. screens.conf
          0.2 kB
          Uwe Rathmann
        For Gerrit Dashboard: QTBUG-68992
        # Subject Branch Project Status CR V

        Activity

          People

            lagocs Laszlo Agocs
            uwe Uwe Rathmann
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There is 1 open Gerrit change