[Interest] QApplication fails to start on release mode when using Qt as a backend of a plugin (Windows)

Tim Blechmann tim at klingt.org
Thu Sep 17 14:06:44 CEST 2015


> Im having a really awkward situation when trying to start QApplication 
> inside a plugin. Everything works in debug mode. I have struggled a bit 
> on debug mode to get rid of an ASSERTION warning: 
> Q_ASSERT(allArguments.size() == origArgc);
> When I sucessfully managed to inject the very same argc and argv into 
> QApplication constructor everything started fine on debug build. This is 
> the code I'm using to fetch the command line args and start QApplication:
> 
> // defined as global variables
> static int argc;
> static char **argv;
> 
> LPWSTR *argvv = CommandLineToArgvW(GetCommandLineW(), &argc);
> argv = new char*[argc];
> argv[0] = 
> qstrdup(QString::fromStdWString(argvv[0]).toLocal8Bit().constData());
> 
> qDebug("Before QApplication constructor: %s",argv[0]);
> app = new QApplication(argc, argv);
> qDebug("After QApplication constructor)";
> 
> The problem is that on Release build, the plugin crashes as soon as it 
> is initiliazed and I can't understand why. The only thing I have is the 
> vague output:
> 
> Before QApplication constructor: C:\ProgramData\Ableton\Live 9 
> Standard\Program\Ableton Live 9 Standard.exe
> First-chance exception at 0x148AC104 (drc.dll) in Ableton Live 9 
> Standard.exe: 0xC0000005: Access violation reading location 0x00000000.
> 
> It seems that it is trying to access a null pointer.
> 
> Any ideas of what might be happening here?

https://bugreports.qt.io/browse/QTBUG-30330





More information about the Interest mailing list