Ogre 2.1 Crash with multiple RenderWindows

Problems building or running the engine, queries about how to use features etc.
Post Reply
vejmartin
Gnoblar
Posts: 1
Joined: Fri May 11, 2018 4:32 pm

Ogre 2.1 Crash with multiple RenderWindows

Post by vejmartin »

I'm new to Ogre and I'm trying to get it to work with Qt. Creating a single window works okay, but the moment I create more than 1, I get a crash at

Code: Select all

OgreHlmsUnlit::preparePassHash, line: 603
           for( size_t i=0; i<16; ++i )
this >>>            *passBufferPtr++ = (float)mPreparedPass.viewProjMatrix[0][0][i];
For reference, I also got the project in this repo to work: https://github.com/Ybalrid/Qt5Ogre21 , but, sadly, it results in the exact same crash.
I'm running on macOS 10.13.3 with the debug version of Ogre and using Qt 5.10

Here is the stack trace:

Code: Select all

0   libOgreHlmsUnlit.2.1.0.dylib  	0x000000010d7dc05c Ogre::HlmsUnlit::preparePassHash(Ogre::CompositorShadowNode const*, bool, bool, Ogre::SceneManager*) + 9004 (OgreHlmsUnlit.cpp:603)
1   libOgreMain.2.1.0.dylib       	0x000000010c92229e Ogre::RenderQueue::render(Ogre::RenderSystem*, unsigned char, unsigned char, bool, bool) + 782 (OgreRenderQueue.cpp:334)
2   libOgreMain.2.1.0.dylib       	0x000000010ca5b2dd Ogre::SceneManager::_renderPhase02(Ogre::Camera*, Ogre::Camera const*, Ogre::Viewport*, unsigned char, unsigned char, bool) + 2461 (OgreSceneManager.cpp:1242)
3   libOgreMain.2.1.0.dylib       	0x000000010c4413e0 Ogre::Camera::_renderScenePhase02(Ogre::Camera const*, Ogre::Viewport*, unsigned char, unsigned char, bool) + 176 (OgreCamera.cpp:404)
4   libOgreMain.2.1.0.dylib       	0x000000010cd2746c Ogre::Viewport::_updateRenderPhase02(Ogre::Camera*, Ogre::Camera const*, unsigned char, unsigned char) + 76 (OgreViewport.cpp:230)
5   libOgreMain.2.1.0.dylib       	0x000000010c98ba35 Ogre::RenderTarget::_updateViewportRenderPhase02(Ogre::Viewport*, Ogre::Camera*, Ogre::Camera const*, unsigned char, unsigned char, bool) + 181 (OgreRenderTarget.cpp:242)
6   libOgreMain.2.1.0.dylib       	0x000000010c384c22 Ogre::CompositorPassScene::execute(Ogre::Camera const*) + 2226 (OgreCompositorPassScene.cpp:214)
7   libOgreMain.2.1.0.dylib       	0x000000010c2f7c32 Ogre::CompositorNode::_update(Ogre::Camera const*, Ogre::SceneManager*) + 2018 (OgreCompositorNode.cpp:1020)
8   libOgreMain.2.1.0.dylib       	0x000000010c3371bd Ogre::CompositorWorkspace::_update() + 4925 (OgreCompositorWorkspace.cpp:751)
9   libOgreMain.2.1.0.dylib       	0x000000010c2c8e8b Ogre::CompositorManager2::_updateImplementation(Ogre::SceneManagerEnumerator&, Ogre::HlmsManager*) + 3275
10  libOgreMain.2.1.0.dylib       	0x000000010c93b2a9 Ogre::RenderSystem::updateCompositorManager(Ogre::CompositorManager2*, Ogre::SceneManagerEnumerator&, Ogre::HlmsManager*) + 41 (OgreRenderSystem.cpp:1029)
11  libOgreMain.2.1.0.dylib       	0x000000010c2c81b4 Ogre::CompositorManager2::_update(Ogre::SceneManagerEnumerator&, Ogre::HlmsManager*) + 68 (OgreCompositorManager2.cpp:642)
12  libOgreMain.2.1.0.dylib       	0x000000010ca266ae Ogre::Root::_updateAllRenderTargets() + 46 (OgreRoot.cpp:1561)
13  libOgreMain.2.1.0.dylib       	0x000000010ca265bb Ogre::Root::renderOneFrame() + 123 (OgreRoot.cpp:1082)
14  Ogre21                        	0x000000010bc853e5 QOgreViewport::paintEvent(QPaintEvent*) + 37 (qogreviewport.cpp:78)
15  org.qt-project.QtWidgets      	0x000000010bd0b841 QWidget::event(QEvent*) + 945
16  org.qt-project.QtWidgets      	0x000000010bcd1752 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 306
17  org.qt-project.QtWidgets      	0x000000010bcd2a6f QApplication::notify(QObject*, QEvent*) + 383
18  org.qt-project.QtCore         	0x000000010e1a2f7f QCoreApplication::notifyInternal2(QObject*, QEvent*) + 159
19  org.qt-project.QtWidgets      	0x000000010bd04229 QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) + 2953
20  org.qt-project.QtWidgets      	0x000000010bcdf5a5 QWidgetPrivate::repaint_sys(QRegion const&) + 389
21  org.qt-project.QtWidgets      	0x000000010bd2d0c9 QWidgetWindow::handleExposeEvent(QExposeEvent*) + 313
22  org.qt-project.QtWidgets      	0x000000010bd2a6cc QWidgetWindow::event(QEvent*) + 892
23  org.qt-project.QtWidgets      	0x000000010bcd1752 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 306
24  org.qt-project.QtWidgets      	0x000000010bcd2a6f QApplication::notify(QObject*, QEvent*) + 383
25  org.qt-project.QtCore         	0x000000010e1a2f7f QCoreApplication::notifyInternal2(QObject*, QEvent*) + 159
26  org.qt-project.QtGui          	0x000000010dac13a4 QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) + 308
27  org.qt-project.QtGui          	0x000000010daa06f3 bool QWindowSystemInterfacePrivate::handleWindowSystemEvent<QWindowSystemInterface::SynchronousDelivery>(QWindowSystemInterfacePrivate::WindowSystemEvent*) + 99
28  org.qt-project.QtGui          	0x000000010daa6820 void QWindowSystemInterface::handleExposeEvent<QWindowSystemInterface::SynchronousDelivery>(QWindow*, QRegion const&) + 192
29  libqcocoa.dylib               	0x0000000110f9d89f QCocoaWindow::handleExposeEvent(QRegion const&) + 463
30  libqcocoa.dylib               	0x0000000110fa3e93 -[QNSView drawRect:] + 1075
31  com.apple.AppKit              	0x00007fff5324ec21 _NSViewDrawRect + 83
32  com.apple.AppKit              	0x00007fff52ae7b38 -[NSView _drawRect:clip:] + 1819
33  com.apple.AppKit              	0x00007fff52b2ff62 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1735
34  com.apple.AppKit              	0x00007fff52b3042f -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2964
35  com.apple.AppKit              	0x00007fff52b3042f -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2964
36  com.apple.AppKit              	0x00007fff52ae5a52 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 938
37  com.apple.AppKit              	0x00007fff52ae51db -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 327
38  com.apple.AppKit              	0x00007fff532501d8 -[NSView _oldDisplayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 2051
39  com.apple.AppKit              	0x00007fff52ae4261 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 253
40  com.apple.AppKit              	0x00007fff52ae04b8 -[NSView displayIfNeeded] + 1581
41  com.apple.AppKit              	0x00007fff52adfe56 -[NSWindow displayIfNeeded] + 321
42  com.apple.AppKit              	0x00007fff532802d9 ___NSWindowGetDisplayCycleObserver_block_invoke.5902 + 308
43  com.apple.AppKit              	0x00007fff52adf962 __37+[NSDisplayCycle currentDisplayCycle]_block_invoke + 695
44  com.apple.QuartzCore          	0x00007fff604ec78f CA::Transaction::run_commit_handlers(CATransactionPhase) + 49
45  com.apple.QuartzCore          	0x00007fff604eb301 CA::Transaction::commit() + 171
46  com.apple.AppKit              	0x00007fff53297658 __65+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayRefresh]_block_invoke + 283
47  com.apple.CoreFoundation      	0x00007fff553dc127 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
48  com.apple.CoreFoundation      	0x00007fff553dc04f __CFRunLoopDoObservers + 527
49  com.apple.CoreFoundation      	0x00007fff553be6a8 __CFRunLoopRun + 1240
50  com.apple.CoreFoundation      	0x00007fff553bdf43 CFRunLoopRunSpecific + 483
51  com.apple.HIToolbox           	0x00007fff546d5e26 RunCurrentEventLoopInMode + 286
52  com.apple.HIToolbox           	0x00007fff546d5a9f ReceiveNextEventCommon + 366
53  com.apple.HIToolbox           	0x00007fff546d5914 _BlockUntilNextEventMatchingListInModeWithFilter + 64
54  com.apple.AppKit              	0x00007fff529a0f5f _DPSNextEvent + 2085
55  com.apple.AppKit              	0x00007fff53136b4c -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
56  com.apple.AppKit              	0x00007fff52995d6d -[NSApplication run] + 764
57  libqcocoa.dylib               	0x0000000110fb03ad QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2397
58  org.qt-project.QtCore         	0x000000010e19ea72 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 418
59  org.qt-project.QtCore         	0x000000010e1a3692 QCoreApplication::exec() + 402
60  Ogre21                        	0x000000010bc9810e main + 2094 (test.cpp:64)
61  libdyld.dylib                 	0x00007fff7ccd5115 start + 1
Any help would be greatly appreciated!
Post Reply