[Interest] Windows: "loadlibrary failed with error 87" on a configuration with a fake video card?

Alexander Dyagilev alervdvcw at gmail.com
Tue Mar 22 07:11:32 CET 2022


Hello,

The stack trace is the following. Should I file a bug report? Is there a 
workaround I can suggest to the user?

win32u.dll!NtUserWaitMessage
()
user32.dll!DialogBox2()
user32.dll!InternalDialogBox()
user32.dll!SoftModalMessageBox
()
user32.dll!MessageBoxWorker(struct _MSGBOXDATA *)
user32.dll!MessageBoxTimeoutW
()
user32.dll!MessageBoxTimeoutA
()
user32.dll!MessageBoxA
()
atig6pxx.dll!00007ffd04194e11()
atig6pxx.dll!00007ffd0419526e()
opengl32.dll!pgldrvLoadAndAllocDriverInfo()
opengl32.dll!LoadAvailableDrivers()
opengl32.dll!__DescribePrimaryPixelFormat
()
opengl32.dll!wglNumHardwareFormats
()
opengl32.dll!wglDescribePixelFormat
()
opengl32.dll!wglChoosePixelFormat
()
gdi32full.dll!ChoosePixelFormat
()
qwindows.dll!00007ffcede270ae()
qwindows.dll!00007ffcede291ae()
qwindows.dll!00007ffcedded786()
qwindows.dll!00007ffceddee0d1()
qwindows.dll!00007ffceddedaa9()
Qt5Quick.dll!QSGRenderLoop::instance() Line 200    C++
Qt5Quick.dll!QQuickWindowPrivate::init(QQuickWindow * c, 
QQuickRenderControl * control) Line 636    C++
Qt5Quick.dll!QQuickWindow::QQuickWindow(QQuickWindowPrivate & dd, 
QWindow * parent) Line 1388    C++
Qt5Quick.dll!QQuickWindowQmlImpl::QQuickWindowQmlImpl(QWindow * parent) 
Line 75    C++
Qt5QuickTemplates2.dll!QQuickApplicationWindow::QQuickApplicationWindow(QWindow 
* parent) Line 351    C++
qtquicktemplates2plugin.dll!00007ffcffb010b1()
Qt5Qml.dll!QQmlType::create(QObject * * out, void * * memory, unsigned 
__int64 additionalMemory) Line 1045    C++
Qt5Qml.dll!QQmlObjectCreator::createInstance(int index, QObject * 
parent, bool isContextObject) Line 1166    C++
Qt5Qml.dll!QQmlObjectCreator::create(int subComponentIndex, QObject * 
parent, QQmlInstantiationInterrupt * interrupt) Line 203    C++
Qt5Qml.dll!QQmlObjectCreator::createInstance(int index, QObject * 
parent, bool isContextObject) Line 1202    C++
Qt5Qml.dll!QQmlObjectCreator::create(int subComponentIndex, QObject * 
parent, QQmlInstantiationInterrupt * interrupt) Line 203    C++
Qt5Qml.dll!QQmlComponentPrivate::beginCreate(QQmlContextData * context) 
Line 883    C++
Qt5Qml.dll!QQmlComponent::create(QQmlContext * context) Line 795    C++
Qt5Qml.dll!QQmlApplicationEnginePrivate::finishLoad(QQmlComponent * c) 
Line 137    C++
Qt5Qml.dll!QQmlApplicationEnginePrivate::startLoad(const QUrl & url, 
const QByteArray & data, bool dataFlag) Line 121 C++
Qt5Qml.dll!QQmlApplicationEngine::load(const QUrl & url) Line 266    C++
fdm.exe!AppQmlModule::initialize(bool)    C++
vmsclshared.dll!QtAbstractComplexModule::onModuleInitializeRunning(bool,bool) 
C++
fdm.exe!AppModule::onModuleInitializeRunning(bool,bool)    C++
[Inline Frame] Qt5Core.dll!QtPrivate::QSlotObjectBase::call(QObject *) 
Line 394    C++
Qt5Core.dll!QMetaCallEvent::placeMetaCall(QObject * object) Line 525    C++
Qt5Core.dll!QObject::event(QEvent * e) Line 1261    C++
Qt5Widgets.dll!QApplicationPrivate::notify_helper(QObject * receiver, 
QEvent * e) Line 3652    C++
Qt5Widgets.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 
3604    C++
Qt5Core.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent 
* event) Line 1088    C++
[Inline Frame] Qt5Core.dll!QCoreApplication::sendEvent(QObject *) Line 
1476    C++
Qt5Core.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * 
receiver, int event_type, QThreadData * data) Line 1825    C++
qwindows.dll!00007ffcede4335f()
Qt5Core.dll!qt_internal_proc(HWND__ * hwnd, unsigned int message, 
unsigned __int64 wp, __int64 lp) Line 250    C++
user32.dll!UserCallWinProcCheckWow()
user32.dll!DispatchMessageWorker()
Qt5Core.dll!QEventDispatcherWin32::processEvents(QFlags<enum 
QEventLoop::ProcessEventsFlag> flags) Line 650    C++
qwindows.dll!00007ffcede43339()
[Inline Frame] Qt5Core.dll!QEventLoop::processEvents(QFlags<enum 
QEventLoop::ProcessEventsFlag>) Line 138    C++
Qt5Core.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> 
flags) Line 225    C++
Qt5Core.dll!QCoreApplication::exec() Line 1389    C++
fdm.exe!App::runImpl(void)    C++
fdm.exe!App::run(bool)    C++
fdm.exe!main
()    C++
fdm.exe!WinMain
()
[Inline Frame] fdm.exe!invoke_main() Line 102    C++
fdm.exe!__scrt_common_main_seh() Line 288    C++
kernel32.dll!BaseThreadInitThunk
()
ntdll.dll!RtlUserThreadStart
()

On 3/18/2022 6:41 AM, Thiago Macieira wrote:
> On Thursday, 17 March 2022 19:50:45 PDT Alexander Dyagilev wrote:
>> This error message is shown by Windows OS when it's failed to load a
>> library the process sayed it to load.
>>
>> I.e. Qt calls LoadLibrary (directly, or by loading some other modules
>> which calls it to load another modules they depends on).
>>
>> Short googling tells that it's an graphics card driver related issue
>> (e.g. https://github.com/spyder-ide/spyder/issues/10084).
>>
>> But, maybe there is some known work around for this...
> If you can generate a backtrace from the application at the moment that dialog
> is shown, it can help pinpoint what was being loaded and where from. There are
> too many LoadLibrary in the source code to guess which one has incorrect
> parameters.
>


More information about the Interest mailing list