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

Plugin subsystem seems to crash when scanning Dlls other than the QT plugin DLLs (e.g. Qt5Core.dll) in function "findPatternUnloaded" in file "qlibrary.cpp"

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P4: Low
    • Resolution: Done
    • Affects Version/s: 5.2.0
    • Fix Version/s: 5.2.1
    • Component/s: Core: Plugins
    • Labels:
      None
    • Environment:
      Microsoft Windows 7 64 Bit, Visual Studio 2012
    • Commits:
      131a511194935554357972c99c325c7202077560 (stable 5.2.1, 8.1.2014)

      Description

      I use the command line option "-platformpluginpath" to specify a search path for plugins in QT software deployment. When I specified the additional library path ".", a crash arised. When using the debugger, the callstack is:

      Qt5Cored.dll!QByteArray::QByteArray(const char * data, int size) Line 1386 C++
      > Qt5Cored.dll!QLibraryPrivate::fromRawMetaData(const char * raw) Line 115 C++
      Qt5Cored.dll!findPatternUnloaded(const QString & library, QLibraryPrivate * lib) Line 307 C++
      Qt5Cored.dll!QLibraryPrivate::updatePluginState() Line 689 C++
      Qt5Cored.dll!QLibraryPrivate::isPlugin() Line 662 C++
      Qt5Cored.dll!QFactoryLoader::update() Line 161 C++
      Qt5Cored.dll!QFactoryLoader::refreshAll() Line 298 C++
      Qt5Cored.dll!QCoreApplication::addLibraryPath(const QString & path) Line 2392 C++

      When looking more closely at it, it seems that the problem arises when scanning the DLL Qt5Core.dll (which is located in directory "." in my case) in function "findPatternUnloaded".

      I did some aditional tests let me get the impression that the function "findPatternUnloaded" crashes whenever it sees any DLL other that one foreseen as a QT plugin. I think that DLLs other than the QT plugin DLLs do not have the META DATA that QT scans for.

      It may not be the common case to put a "normal" DLL into a plugin directory but QT should not crash, I think.

      By the way, I need to specify a specific QT plugin search path since I load the complete QT system in Matlab via mex file. The typical way to locate the plugins for the platform do not really work for me.

        Attachments

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

          Activity

            People

            Assignee:
            kleint Friedemann Kleint
            Reporter:
            hkhauke Hauke Kr├╝ger
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes