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

Crash bug due to CreateDibSection Failed when resizing subwindow

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • Not Evaluated
    • None
    • 5.12.0
    • QPA: Windows
    • None
    • Compiled as Windows 32bit binary then ran on 64bit Windows 10
    • Windows

    Description

      I know QTBUG-54248 was closed due to not enough information, but we are frequently getting this crash. 

       

      BUG:

      CreateDibSection returns NULL when it is called from QWindowsNativeImage::QWindowsNativeImage during QWindow is resized. 

      When I look into TEB from the below crash stack frame, it showed that GetLastError = 0 but I think this last error value was updated during Qt was generating fatal error message via QString since QString calls malloc which set last error = 0 when it succeeded. So we don't know what was the last error when CreateDibSection fails but I guess it is OutOfMemory.

      Since we have full dump file, please let me know if you need anything to analyze this bug. 

       

      TEB at 00790000
          ExceptionList:        00ee8b4c
          StackBase:            00ef0000
          StackLimit:           00ed9000
          SubSystemTib:         00000000
          FiberData:            00001e00
          ArbitraryUserPointer: 00000000
          Self:                 00790000
          EnvironmentPointer:   00000000
          ClientId:             00004bc8 . 000034c0
          RpcHandle:            00000000
          Tls Storage:          7391ceb8
          PEB Address:          0078d000
          LastErrorValue:       0
          LastStatusValue:      0
          Count Owned Locks:    0
          HardErrorMode:        0
      
      
      qwindows!QWindowsNativeImage::QWindowsNativeImage+0x165 [qt\qt-everywhere-src-5.12.0\qtbase\src\platformsupport\fontdatabases\windows\qwindowsnativeimage.cpp @ 119] 
      eax=00000001 ebx=2b2561f0 ecx=00000007 edx=000001e1 esi=000003ef edi=00000006
      eip=687eb555 esp=00ee8b60 ebp=0000051d iopl=0         nv up ei pl nz na po nc
      0:000> dv
                 this = 0x2b2561f0
                width = 0n1007
               height = 0n1309
               format = Format_ARGB32_Premultiplied (0n6)
      
      

       

      Stack dump:

      00 00ee8b2c 6b670f82 Qt5Core!qt_message_fatal+0x11 [qt\qt-everywhere-src-5.12.0\qtbase\src\corelib\global\qlogging.cpp @ 1890] 
      01 00ee8b58 687eb555 Qt5Core!QMessageLogger::fatal+0x82 [qt\qt-everywhere-src-5.12.0\qtbase\src\corelib\global\qlogging.cpp @ 887] 
      02 (Inline) -------- qwindows!createDIB+0xf1 [qt\qt-everywhere-src-5.12.0\qtbase\src\platformsupport\fontdatabases\windows\qwindowsnativeimage.cpp @ 105] 
      03 00ee8be8 687e07ee qwindows!QWindowsNativeImage::QWindowsNativeImage+0x165 [qt\qt-everywhere-src-5.12.0\qtbase\src\platformsupport\fontdatabases\windows\qwindowsnativeimage.cpp @ 119] 
      04 00ee8c68 6aec10f9 qwindows!QWindowsBackingStore::resize+0x27e [qt\qt-everywhere-src-5.12.0\qtbase\src\plugins\platforms\windows\qwindowsbackingstore.cpp @ 160] 
      05 00ee8c8c 6a3aae54 Qt5Gui!QBackingStore::resize+0x49 [qt\qt-everywhere-src-5.12.0\qtbase\src\gui\painting\qbackingstore.cpp @ 244] 
      06 00ee8ef8 6a3af3d6 Qt5Widgets!QWidgetBackingStore::doSync+0x304 [qt\qt-everywhere-src-5.12.0\qtbase\src\widgets\kernel\qwidgetbackingstore.cpp @ 1242] 
      07 00ee8f1c 6a3d41b4 Qt5Widgets!QWidgetBackingStore::sync+0x196 [qt\qt-everywhere-src-5.12.0\qtbase\src\widgets\kernel\qwidgetbackingstore.cpp @ 1183] 
      08 00ee8f2c 6a3e629b Qt5Widgets!QWidgetPrivate::syncBackingStore+0x44 [qt\qt-everywhere-src-5.12.0\qtbase\src\widgets\kernel\qwidget.cpp @ 1965] 
      09 00ee8f5c 6a3e5101 Qt5Widgets!QWidgetWindow::handleExposeEvent+0x18b [qt\qt-everywhere-src-5.12.0\qtbase\src\widgets\kernel\qwidgetwindow.cpp @ 985] 
      0a 00ee9058 6a3a468a Qt5Widgets!QWidgetWindow::event+0x541 [qt\qt-everywhere-src-5.12.0\qtbase\src\widgets\kernel\qwidgetwindow.cpp @ 328] 
      0b 00ee9070 6a3a3705 Qt5Widgets!QApplicationPrivate::notify_helper+0x10a [qt\qt-everywhere-src-5.12.0\qtbase\src\widgets\kernel\qapplication.cpp @ 3752] 
      0c 00ee9630 6a819fab Qt5Widgets!QApplication::notify+0x1925 [qt\qt-everywhere-src-5.12.0\qtbase\src\widgets\kernel\qapplication.cpp @ 3708] 
      0d 00ee968c 6adb71ee PyQt5_QtWidgets_cp37_win32+0x29fab
      0e 00ee96f4 6adbad8d Qt5Gui!QGuiApplicationPrivate::processExposeEvent+0xee [qt\qt-everywhere-src-5.12.0\qtbase\src\gui\kernel\qguiapplication.cpp @ 3066] 
      0f 00ee9714 6ada23c6 Qt5Gui!QGuiApplicationPrivate::processWindowSystemEvent+0xed [qt\qt-everywhere-src-5.12.0\qtbase\src\gui\kernel\qguiapplication.cpp @ 1902] 
      10 00ee9730 6ad9fb94 Qt5Gui!QWindowSystemInterface::sendWindowSystemEvents+0x86 [qt\qt-everywhere-src-5.12.0\qtbase\src\gui\kernel\qwindowsysteminterface.cpp @ 1068] 
      11 00ee975c 68795c98 Qt5Gui!QWindowSystemInterface::flushWindowSystemEvents+0x134 [qt\qt-everywhere-src-5.12.0\qtbase\src\gui\kernel\qwindowsysteminterface.cpp @ 1032] 
      12 00ee97e8 687a08ec qwindows!QWindowsWindow::handleWmPaint+0x188 [qt\qt-everywhere-src-5.12.0\qtbase\src\plugins\platforms\windows\qwindowswindow.cpp @ 1888] 
      13 00ee98b0 687a1670 qwindows!QWindowsContext::windowsProc+0xadc [qt\qt-everywhere-src-5.12.0\qtbase\src\plugins\platforms\windows\qwindowscontext.cpp @ 1375] 
      14 00ee9958 75eb635b qwindows!qWindowsWndProc+0xa0 [qt\qt-everywhere-src-5.12.0\qtbase\src\plugins\platforms\windows\qwindowscontext.cpp @ 1565] 
      
      

       

      Attachments

        Issue Links

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

          Activity

            People

              kleint Friedemann Kleint
              austin Austin Kim
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes