QtCreator crashed and now will not start due to segfault
-
Hi all. Sorry to revive this topic but this problem has occurred to me as well but on an application I wrote for a client. The application was running fine. Then it crashed (just like @TMcSquared ) and hasn't opened since.
My access violation is in theQtWidgets.dll
module.Any clues? (i don't have the welcome/QmlDesigner/etc modules to disable on load as does qtcreatorI)
-
@nwoki
Hi
Do you use QML?
if yes, could be a driver issue.Do you have data files?
if yes, it could be damaged data files crashing app on load.It could be client installed other app using Qt dlls and now your app finds the wrong version of Qt dll.
Buts its nearly impossible to guess on without far more concrete information :)
-
@mrjj said in QtCreator crashed and now will not start due to segfault:
@nwoki
Hi
Do you use QML?
if yes, could be a driver issue.This is reproducable only on the client pc. Any way I can debug this?
Do you have data files?
if yes, it could be damaged data files crashing app on load.Cleaned and still no dice
It could be client installed other app using Qt dlls and now your app finds the wrong version of Qt dll.
No other Qt applications are installed
Buts its nearly impossible to guess on without far more concrete information :)
Any idea on how I can help gather more info for furthur debugging?
-
Hi
This is reproducible only on the client pc. Any way I can debug this?
Not really. you can ask him to update drivers and also
collect information about opengl version supported.
I take it, the project does use QML?Any idea on how I can help gather more info for furthur debugging?
Well, i would add some logging to the app.
So you can see if dies before main.
That will give a hint if its related to actual user code or a DLL issue. -
@nwoki
Hi
and there is no code in main.cpp that could crash it ?
that is 100% for sure ?Then it really sounds like DLL issue.
Do you know what happens to client pc between app working and crashing ?
Windows update or anything like that ? -
@mrjj said in QtCreator crashed and now will not start due to segfault:
@nwoki
Hi
and there is no code in main.cpp that could crash it ?
that is 100% for sure ?This is the
main.cpp
int main(int argc, char *argv[]) { QLocale::setDefault(QLocale::c()); // Test fix #ifdef Q_OS_WIN // QApplication::setAttribute(Qt::AA_UseSoftwareOpenGL); // QApplication::setAttribute(Qt::AA_UseDesktopOpenGL); // QApplication::setAttribute(Qt::AA_UseOpenGLES); #endif // ---------- QApplication a(argc, argv); QApplication::setOrganizationName("Organization"); QApplication::setOrganizationDomain("organization.com/"); QApplication::setApplicationName("MyAppName"); // Setup QML qmlRegisterType<CommunicationCenter>("com.organization.myappname", 1, 0, "CommunicationCenter"); PasswordRequestDialog pwdReqDialog; MainWindow w(&a); // is a password set? if (PasswordManager::isPasswordSet()) { pwdReqDialog.show(); QObject::connect(&pwdReqDialog, &PasswordRequestDialog::passwordAccepted, [&w] () { w.show(); }); } else { w.show(); } // don't need to do anything on the "rejected" signal. We just exit the application return a.exec();
Then it really sounds like DLL issue.
Do you know what happens to client pc between app working and crashing ?
Windows update or anything like that ?Don't know. The client said "I didn't do anything. It just stopped working..". What dlls are problematic? I find it strange that the app is working one day and just stops the next.
-
@nwoki
well, i would first check if his openGL is (still) working.
Normally crash like this can happen if any other Qt dll are present in the system path
and it loads that instead of the one
in app folder.
It can also be unexpected version of mingw/ visual studio runtime or
any DLL that has unexpected version.If possible, i would send him a test exe that is just an empty QT GUI app.
If that doesn't crashes, it means its not one of the Qt dlls.And yes, i agree taht normally apps just dont stop, so something has happens to his windows.
-
@mrjj said in QtCreator crashed and now will not start due to segfault:
@nwoki
well, i would first check if his openGL is (still) working.
Normally crash like this can happen if any other Qt dll are present in the system path
and it loads that instead of the one
in app folder.
It can also be unexpected version of mingw/ visual studio runtime or
any DLL that has unexpected version.If possible, i would send him a test exe that is just an empty QT GUI app.
If that doesn't crashes, it means its not one of the Qt dlls.And yes, i agree taht normally apps just dont stop, so something has happens to his windows.
Sorry about the delay, had some problems with the visual studio compiler and libs. I created a test app (simple empty gui as suggested) and launched it from the same folder of the application that won't run. It works. So now what does this mean?
-
@nwoki
Hi
It means even it reports thats its QtWidgets that crashes, its likely not that DLL
if a plain empty GUI project works. ( for exact same folder , same pc)
I would next add some openGL to the test project see if it still runs.
As it seems might be direclt related to Qt ( like wrong Qt dll loaded)
so it could be the openGL for clients gfx card.