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

Windows: QFileSystemWatcher::addPath crashes if path is on a removable device

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.12.0
    • 5.11.1
    • None
    • Windows 10
      Microsoft Visual Studio Community 2017 (15.7.4)

      Using Qt 5.11.1 for MSVC 2017 (64-bit)
    • Windows
    • 5e66767fca9908c397705ed557b106ec2c3a63f8

    Description

      QFileSystemWatcher::addPath crashes if a given path is on a removable device.

      This crash was discovered while trying to fix an issue in Dolphin.

       

      Reproduction Steps

       

      1. Create a QFileSystemWatcher

      2. Add a path that is on a removable drive (e.g. USB drive) to it using addPath

      3. Observe the crash in QtCore.dll

       

      Additional Information

      >    Qt5Cored.dll!QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> >::data() Line 140    C++
           Qt5Cored.dll!qGetPtrHelper<QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> > >(const QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> > & p) Line 1038    C++
           Qt5Cored.dll!QEventDispatcherWin32::d_func() Line 72    C++
           Qt5Cored.dll!QEventDispatcherWin32::internalHwnd() Line 1089    C++
           Qt5Cored.dll!QWindowsRemovableDriveListener::addPath(const QString & p) Line 312    C++
           Qt5Cored.dll!QWindowsFileSystemWatcherEngine::addPaths(const QStringList & paths, QStringList * files, QStringList * directories) Line 524    C++
           Qt5Cored.dll!QFileSystemWatcher::addPaths(const QStringList & paths) Line 384    C++
           Qt5Cored.dll!QFileSystemWatcher::addPath(const QString & path) Line 312    C++
           DolphinD.exe!GameTracker::AddPath(const QString & dir) Line 125    C++
           DolphinD.exe!GameTracker::AddDirectoryInternal(const QString & dir) Line 178    C++
           DolphinD.exe!GameTracker::{ctor}::__l2::<lambda>(GameTracker::Command command) Line 53    C++
           [External Code]    
           DolphinD.exe!Common::WorkQueueThread<GameTracker::Command>::ThreadLoop() Line 70    C++
           DolphinD.exe!Common::WorkQueueThread<GameTracker::Command>::Reset::__l2::<lambda>() Line 30    C++
           [External Code]    
      

      Please let me know if you need any further information.

      Attachments

        For Gerrit Dashboard: QTBUG-69320
        # Subject Branch Project Status CR V

        Activity

          People

            thiago Thiago Macieira
            spycrab Spycrab
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes