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

SEGFAULT in QGuiApplication ctor after setting DesktopSettingsAware to false

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 6.7.0 FF
    • 5.15.8
    • GUI: Other
    • None
    • MSYS2 MINGW64 and CLANG64
    • Windows
    • 6259f4e7b (dev)

    Description

      In Qt 5.15.8 x64 in the MSYS2 dev environment a SEGFAULT happens when creating a QGuiApplication after calling QGuiApplication::setDesktopSettingsAware(false);

      I'm able to reproduce this in both MINGW64 an CLANG64 environments.

      Minimum code to reproduce:

      #include <QGuiApplication>
      int main(int argc, char** argv){
          QGuiApplication::setDesktopSettingsAware(false);
          QGuiApplication a(argc, argv);
          return a.exec();
      }

      Stack trace:

      Process 11308 stopped
      * thread #1, stop reason = Exception 0xc0000005 encountered at address 0x7ffef941b650: Access violation reading location 0x00000000
          frame #0: 0x00007ffef941b650 Qt5Gui.dll`QPalette::QPalette(QPalette const&)
      Qt5Gui.dll`QPalette::QPalette:
      ->  0x7ffef941b650 <+0>: movq   (%rdx), %rax
          0x7ffef941b653 <+3>: movq   %rax, (%rcx)
          0x7ffef941b656 <+6>: movl   0x8(%rdx), %edx
          0x7ffef941b659 <+9>: movl   %edx, 0x8(%rcx)
      (lldb) thread backtrace
      * thread #1, stop reason = Exception 0xc0000005 encountered at address 0x7ffef941b650: Access violation reading location 0x00000000
        * frame #0: 0x00007ffef941b650 Qt5Gui.dll`QPalette::QPalette(QPalette const&)
          frame #1: 0x00007ffef93fad97 Qt5Gui.dll`QGuiApplicationPrivate::basePalette() const + 39
          frame #2: 0x00007ffef93fac66 Qt5Gui.dll`QGuiApplicationPrivate::setPalette(QPalette const&) + 38
          frame #3: 0x00007ffef93ef4db Qt5Gui.dll`QGuiApplicationPrivate::init() + 1947
          frame #4: 0x00007ffef93eed15 Qt5Gui.dll`QGuiApplication::QGuiApplication(int&, char**, int) + 245
          frame #5: 0x00007ff6922213d0 crash.exe`qMain(argc=1, argv=0x00000212dc0b4140) at main.cpp:6:5
          frame #6: 0x00007ff6922221a0 crash.exe`WinMain + 272
          frame #7: 0x00007ff6922214c8 crash.exe`main(argc=<unavailable>, argv=<unavailable>, envp=<unavailable>) at crtexewin.c:70:10
          frame #8: 0x00007ff692221316 crash.exe`__tmainCRTStartup at crtexe.c:272:15
          frame #9: 0x00007ff692221156 crash.exe`WinMainCRTStartup at crtexe.c:162:9
          frame #10: 0x00007fff861726bd kernel32.dll`BaseThreadInitThunk + 29
          frame #11: 0x00007fff87d2dfb8 ntdll.dll`RtlUserThreadStart + 40 

       

      Attachments

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

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            hernan.c.martinez Hernan da Cunha Martinez
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes