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

QWinOverlappedIoNotifier causes a memory leak

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.5.0
    • Fix Version/s: 5.6.0 RC
    • Component/s: Core: I/O
    • Labels:
      None
    • Environment:
      * Qt 5.5.0 (Mingw && MSVC2013)
      * Windows 8.1 x32
    • Commits:
      c20f92a0fa11c2cc7bad8f69a1e0a8f8b5893df3

      Description

      QWinOverlappedIoNotifier causes an increased memory consumption (a memory leak?) when are used the blocking waitForXX() methods.

      How to reproduce (see also an source example from an attachment):

      1. Create the QWinOverlappedIoNotifier and make connection to the notified() signal.

      2. Open some file to read by CreateFile() with the FILE_FLAG_OVERLAPPED flag.

      3. Set a file handle to the QWinOverlappedIoNotifier instance

      4. Call the ReadFile() to try to read an one character from the file.

      5. In the forever cycle call QWinOverlappedIoNotifier::waitForAnyNotified(-1) method

      6. In the notified() handler call the ReadFile() again.

      Open the TaskManager and watch for the memory consumption .

      UPD the example need to run with specifying a full path to a file wchich need to read, e.g.:

      overlapped-notifier-bug.exe <path-to-any-file-to-read>

      PS: This (bug?) eats all memory..

        Attachments

          Issue Links

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

            Activity

              People

              • Assignee:
                jbornema Joerg Bornemann
                Reporter:
                kuzulis Denis Shienkov
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes