Qt, QGLWidget and Xcode 11 = fail?
-
I have a similar crash with a Qt3DQuickWindow. Before Catalina this was reported as a warning but now it causes a crash:
Crashed Thread: 44 Qt3DRender::Render::RenderThread
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Note: EXC_CORPSE_NOTIFYApplication Specific Information:
-[NSOpenGLContext setView:] must be called from the main thread.I'm guessing this is the same problem right?
-
Hi,
I would rather bring this to the internet mailing list. You'll find there Qt's developers/maintainers. This forum is more user oriented.
As for the crash report, you should check the bug report system.
-
I mean that Qt is built and tested only with Xcode as it is the only officially supported compiler on macOS.
Other compilers may work, however, they are not supported.
-
But this is "Qt Development" forum no? I don't know that it's a bug, I think it's Apple and was asking in case there was just a config or some other thing I had to do to get around it.
I do have an update. The problem is the new SDK. If I go back to a carbon copy backup I have with Xcode 10 (therefore 10.14 SDK) and build, I can run the built package in Catalina too. If I build on Xcode 11 (so SDK 10.15) it builds and runs on Mojave, but has the crash on Catalina. The problem appears to be a bug in SDK 10.15, or a compatibility issue between Qt and SDK 10.15 -
I am facing the same problem right now. We use Qt 5.9.1 on MacOS and just upgraded from Mojave to Catalina (and therefore Xcode 10.3 to Xcode 11.3.1) and now our software doesn't start anymore, crashing at the following call stack:
1 -[NSOpenGLContext setView:] (x86_64) /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit 0x7fff35db5acc 2 -[QNSView setQCocoaGLContext:] (x86_64) /Users/Shared/Qt5.9.1/5.9.1/clang_64/plugins/platforms/libqcocoa.dylib 0x10fb4ccb7 3 QCocoaGLContext::makeCurrent(QPlatformSurface *) (x86_64) /Users/Shared/Qt5.9.1/5.9.1/clang_64/plugins/platforms/libqcocoa.dylib 0x10fb80fdc 4 QOpenGLContext::makeCurrent(QSurface *) (x86_64) /Users/Shared/Qt5.9.1/5.9.1/clang_64/lib/QtGui.framework/Versions/5/QtGui 0x106917b5c 5 QSGRenderThread::run() (x86_64) /Users/Shared/Qt5.9.1/5.9.1/clang_64/lib/QtQuick.framework/Versions/5/QtQuick 0x1074d006d 6 QThreadPrivate::start(void *) (x86_64) /Users/Shared/Qt5.9.1/5.9.1/clang_64/lib/QtCore.framework/Versions/5/QtCore 0x10634ae7f 7 _pthread_start (x86_64) /usr/lib/system/libsystem_pthread.dylib 0x7fff700f5e65 8 thread_start (x86_64) /usr/lib/system/libsystem_pthread.dylib 0x7fff700f183b
This is the main message of the MacOS crash report:
System Integrity Protection: enabledCrashed Thread: 9 QSGRenderThreadException Type: EXC_BAD_INSTRUCTION (SIGILL) Exception Codes: 0x0000000000000001, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFYTermination Signal: Illegal instruction: 4 Termination Reason: Namespace SIGNAL, Code 0x4 Terminating Process: exc handler [74166]Application Specific Information: -[NSOpenGLContext setView:] must be called from the main thread.
Is there any news about this problem?
-
@benjaminwelle Did you try with more recent Qt version?
-
I also have this problem. App running fine on Windows, just now got it building on Mac, using Qt 5.12.8, and have the same exception from Qt3DRender::Renderer::doRender() -> [NSOpenGLSetContext setView] -> exception.
-
@withnail99
Hi
Are you sure 5.12 is supported?
Catalina is 10.15 ?