On Wed, Apr 16, 2014 at 1:21 PM, Matt Broadstone <[email protected]> wrote:
> On Mon, Apr 14, 2014 at 12:25 PM, Matt Broadstone <[email protected]>wrote: > >> On Mon, Apr 14, 2014 at 7:07 AM, Rutledge Shawn <[email protected] >> > wrote: >> >>> >>> On 11 Apr 2014, at 10:15 PM, Matt Broadstone wrote: >>> >>> > Hi, >>> > We're experiencing an odd crash while running our Qt Quick application >>> in a VirtualBox session using eglfs on the framebuffer. The application >>> works perfectly passing the '-platform eglfs' options, however, when we try >>> to use a ComboBox we get a segfault/qFatal, with the resulting backtrace >>> (only first twelve frames included for "brevity"): >>> > >>> > #0 0x00007eff7c041389 in raise () from /usr/lib/libc.so.6 >>> > #1 0x00007eff7c042788 in abort () from /usr/lib/libc.so.6 >>> > #2 0x00007eff7c956895 in qt_message_fatal (context=..., message=...) >>> at global/qlogging.cpp:979 >>> > #3 QMessageLogger::fatal (this=this@entry=0x7fff32b96030, >>> msg=msg@entry=0x7eff7768e380 "EGLFS: OpenGL windows cannot be mixed >>> with others.") at global/qlogging.cpp:384 >>> > #4 0x00007eff7766cfb7 in QEglFSWindow::create (this=this@entry=0x1db8030) >>> at qeglfswindow.cpp:115 >>> > #5 0x00007eff7766b60e in QEglFSIntegration::createPlatformWindow >>> (this=<optimized out>, window=0x1db66f0) at qeglfsintegration.cpp:122 >>> > #6 0x00007eff7d03180b in QWindow::create (this=this@entry=0x1db66f0) >>> at kernel/qwindow.cpp:480 >>> > #7 0x00007eff7d032150 in QWindow::setVisible (this=0x1db66f0, >>> visible=<optimized out>) at kernel/qwindow.cpp:426 >>> > #8 0x00007eff6c888d6a in QQuickPopupWindow::show >>> > (this=this@entry=0x1db66f0) >>> at qquickpopupwindow.cpp:95 >>> > #9 0x00007eff6c888579 in QQuickMenuPopupWindow::show (this=0x1db66f0) >>> at qquickmenupopupwindow.cpp:57 >>> > #10 0x00007eff6c884efb in QQuickMenu::__popup (this=0x1bff2e0, >>> x=<optimized out>, y=<optimized out>, atItemIndex=0) at qquickmenu.cpp:403 >>> > #11 0x00007eff6c897f53 in QQuickMenu::qt_static_metacall >>> > (_o=_o@entry=0x1bff2e0, >>> _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=22, >>> _a=_a@entry=0x7fff32b96550) >>> at .moc/moc_qquickmenu_p.cpp:227 >>> > #12 0x00007eff6c898427 in QQuickMenu::qt_metacall (this=0x1bff2e0, >>> _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0x7fff32b96550) at >>> .moc/moc_qquickmenu_p.cpp:330 >>> > >>> > There is some mention on the i.MX6 wiki page about multiple windows ( >>> http://qt-project.org/wiki/i.MX-6), but that appears to be related to >>> mixing Quick views and widgets, which we are not doing. There also seems to >>> be an existing ComboBox bug ( >>> https://bugreports.qt-project.org/browse/QTBUG-35989), but this looks >>> like it's quite different. >>> > >>> > Any insight would be appreciated, I just wanted to do some further >>> investigation here before creating the bug report. >>> >>> What version do you have? Looks like the combo box is trying to create >>> another window for the dropdown list, and we're not allowed to have more >>> than one window on eglfs. I don't think it should be doing that anymore on >>> platforms where it's not supported. >>> >>> >>> >> Forgot to reply-all on that last one, apologies: >> >> Qt 5.2.1 (built from source off the git v5.2.1 tag), using this configure >> line: >> >> ./configure -confirm-license -opensource -debug -system-sqlite >> -openssl-linked \ >> -nomake examples -nomake tests -plugin-sql-psql >> -plugin-sql-sqlite \ >> -eglfs -no-rpath -optimized-qmake -dbus-linked >> -reduce-relocations \ >> -opengl es2 -directfb >> >> >> Running on Arch Linux version 2013.03.01 in VirtualBox 4.3.10 r93012, >> with the form: >> ./ourquickapp -platform eglfs >> >> (same thing happens with 5.3 built from source, but this failed related >> to a different issue related to unaddressable byes for ioctl, and only >> works when run in valgrind) >> >> Please let me know if there's any other information I can provide. >> Matt >> >> > Shawn, > Can you tell me what I should be looking for to guarantee it's following > the correct code path? The combobox is indeed trying to create a new > window, as comboboxen are wont to do, and the crash is happening in this > code block: > > qeglfswindow.cpp:80+ > > QEglFSScreen *screen = this->screen(); > > if (screen->primarySurface() != EGL_NO_SURFACE) { > > if (isRaster() && screen->compositingWindow()) > > return; > > > #if !defined(Q_OS_ANDROID) || defined(Q_OS_ANDROID_NO_SDK) > > // We can have either a single OpenGL window or multiple raster > windows. > > // Other combinations cannot work. > > qFatal("EGLFS: OpenGL windows cannot be mixed with others."); > > #endif > > > return; > > } > > > Based on your previous email you said: "I don't think it should be doing > that anymore on platforms where it's not supported," does that mean we > should be looking for a fix in the QML component code or the QPA code? > Looking for some insight here so we can help expedite the bug fix, or just > fix it ourselves. > > Thanks, > Matt > > Shawn, I've gone ahead and created a bug report, it probably makes more sense to continue the conversation there: https://bugreports.qt-project.org/browse/QTBUG-38405 Matt On Wed, Apr 16, 2014 at 1:21 PM, Matt Broadstone <[email protected]> wrote: > On Mon, Apr 14, 2014 at 12:25 PM, Matt Broadstone <[email protected]>wrote: > >> On Mon, Apr 14, 2014 at 7:07 AM, Rutledge Shawn <[email protected] >> > wrote: >> >>> >>> On 11 Apr 2014, at 10:15 PM, Matt Broadstone wrote: >>> >>> > Hi, >>> > We're experiencing an odd crash while running our Qt Quick application >>> in a VirtualBox session using eglfs on the framebuffer. The application >>> works perfectly passing the '-platform eglfs' options, however, when we try >>> to use a ComboBox we get a segfault/qFatal, with the resulting backtrace >>> (only first twelve frames included for "brevity"): >>> > >>> > #0 0x00007eff7c041389 in raise () from /usr/lib/libc.so.6 >>> > #1 0x00007eff7c042788 in abort () from /usr/lib/libc.so.6 >>> > #2 0x00007eff7c956895 in qt_message_fatal (context=..., message=...) >>> at global/qlogging.cpp:979 >>> > #3 QMessageLogger::fatal (this=this@entry=0x7fff32b96030, >>> msg=msg@entry=0x7eff7768e380 "EGLFS: OpenGL windows cannot be mixed >>> with others.") at global/qlogging.cpp:384 >>> > #4 0x00007eff7766cfb7 in QEglFSWindow::create (this=this@entry=0x1db8030) >>> at qeglfswindow.cpp:115 >>> > #5 0x00007eff7766b60e in QEglFSIntegration::createPlatformWindow >>> (this=<optimized out>, window=0x1db66f0) at qeglfsintegration.cpp:122 >>> > #6 0x00007eff7d03180b in QWindow::create (this=this@entry=0x1db66f0) >>> at kernel/qwindow.cpp:480 >>> > #7 0x00007eff7d032150 in QWindow::setVisible (this=0x1db66f0, >>> visible=<optimized out>) at kernel/qwindow.cpp:426 >>> > #8 0x00007eff6c888d6a in QQuickPopupWindow::show >>> > (this=this@entry=0x1db66f0) >>> at qquickpopupwindow.cpp:95 >>> > #9 0x00007eff6c888579 in QQuickMenuPopupWindow::show (this=0x1db66f0) >>> at qquickmenupopupwindow.cpp:57 >>> > #10 0x00007eff6c884efb in QQuickMenu::__popup (this=0x1bff2e0, >>> x=<optimized out>, y=<optimized out>, atItemIndex=0) at qquickmenu.cpp:403 >>> > #11 0x00007eff6c897f53 in QQuickMenu::qt_static_metacall >>> > (_o=_o@entry=0x1bff2e0, >>> _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=22, >>> _a=_a@entry=0x7fff32b96550) >>> at .moc/moc_qquickmenu_p.cpp:227 >>> > #12 0x00007eff6c898427 in QQuickMenu::qt_metacall (this=0x1bff2e0, >>> _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0x7fff32b96550) at >>> .moc/moc_qquickmenu_p.cpp:330 >>> > >>> > There is some mention on the i.MX6 wiki page about multiple windows ( >>> http://qt-project.org/wiki/i.MX-6), but that appears to be related to >>> mixing Quick views and widgets, which we are not doing. There also seems to >>> be an existing ComboBox bug ( >>> https://bugreports.qt-project.org/browse/QTBUG-35989), but this looks >>> like it's quite different. >>> > >>> > Any insight would be appreciated, I just wanted to do some further >>> investigation here before creating the bug report. >>> >>> What version do you have? Looks like the combo box is trying to create >>> another window for the dropdown list, and we're not allowed to have more >>> than one window on eglfs. I don't think it should be doing that anymore on >>> platforms where it's not supported. >>> >>> >>> >> Forgot to reply-all on that last one, apologies: >> >> Qt 5.2.1 (built from source off the git v5.2.1 tag), using this configure >> line: >> >> ./configure -confirm-license -opensource -debug -system-sqlite >> -openssl-linked \ >> -nomake examples -nomake tests -plugin-sql-psql >> -plugin-sql-sqlite \ >> -eglfs -no-rpath -optimized-qmake -dbus-linked >> -reduce-relocations \ >> -opengl es2 -directfb >> >> >> Running on Arch Linux version 2013.03.01 in VirtualBox 4.3.10 r93012, >> with the form: >> ./ourquickapp -platform eglfs >> >> (same thing happens with 5.3 built from source, but this failed related >> to a different issue related to unaddressable byes for ioctl, and only >> works when run in valgrind) >> >> Please let me know if there's any other information I can provide. >> Matt >> >> > Shawn, > Can you tell me what I should be looking for to guarantee it's following > the correct code path? The combobox is indeed trying to create a new > window, as comboboxen are wont to do, and the crash is happening in this > code block: > > qeglfswindow.cpp:80+ > > QEglFSScreen *screen = this->screen(); > > if (screen->primarySurface() != EGL_NO_SURFACE) { > > if (isRaster() && screen->compositingWindow()) > > return; > > > #if !defined(Q_OS_ANDROID) || defined(Q_OS_ANDROID_NO_SDK) > > // We can have either a single OpenGL window or multiple raster > windows. > > // Other combinations cannot work. > > qFatal("EGLFS: OpenGL windows cannot be mixed with others."); > > #endif > > > return; > > } > > > Based on your previous email you said: "I don't think it should be doing > that anymore on platforms where it's not supported," does that mean we > should be looking for a fix in the QML component code or the QPA code? > Looking for some insight here so we can help expedite the bug fix, or just > fix it ourselves. > > Thanks, > Matt > >
_______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
