ubports/ubuntu-ui-toolkit

UCBottomEdgePrivate::patchContentItemHeader() segfault in Qt 5.15

Closed this issue · 1 comments

z3ntu commented

backtrace:

#0  0x00007ffff7b60ff4 in QListData::size() const (this=0x3) at /usr/include/qt/QtCore/qlist.h:115
#1  0x00007ffff7c66eb4 in QList<UCAction*>::size() const (this=0x3) at /usr/include/qt/QtCore/qlist.h:176
#2  0x00007ffff7c62783 in UCBottomEdgePrivate::patchContentItemHeader() (this=0x55555762df50)
    at /home/luca/dev/postmarketOS/unity8-stuff/ubuntu-ui-toolkit/src/UbuntuToolkit/ucbottomedge.cpp:414
#3  0x00007ffff7c649f1 in UCBottomEdgePrivate::resetCurrentContent(QQuickItem*) (this=0x55555762df50, newContent=0x555557378f10)
    at /home/luca/dev/postmarketOS/unity8-stuff/ubuntu-ui-toolkit/src/UbuntuToolkit/ucbottomedge.cpp:1184
#4  0x00007ffff7c6476e in UCBottomEdgePrivate::setCurrentContent() (this=0x55555762df50)
    at /home/luca/dev/postmarketOS/unity8-stuff/ubuntu-ui-toolkit/src/UbuntuToolkit/ucbottomedge.cpp:1150
#5  0x00007ffff7c70bd9 in UCBottomEdgeRegionPrivate::onLoaderStatusChanged(AsyncLoader::LoadingStatus, QObject*) (this=0x55555762e150, status=AsyncLoader::Ready, object=0x555557378f10)
    at /home/luca/dev/postmarketOS/unity8-stuff/ubuntu-ui-toolkit/src/UbuntuToolkit/ucbottomedgeregion.cpp:280
#6  0x00007ffff7c714c5 in UCBottomEdgeRegion::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x55555762e130, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0x7fffffffcee0)
    at .moc/moc_ucbottomedgeregion_p.cpp:136
#7  0x00007ffff5c07940 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007ffff7d1630e in AsyncLoader::loadingStatus(AsyncLoader::LoadingStatus, QObject*) (this=0x55555762e1a8, _t1=AsyncLoader::Ready, _t2=0x555557378f10)
    at .moc/moc_asyncloader_p.cpp:136
#9  0x00007ffff7b7ee11 in AsyncLoaderPrivate::emitStatus(AsyncLoader::LoadingStatus, QObject*) (this=0x55555762e200, status=AsyncLoader::Ready, object=0x555557378f10)
    at /home/luca/dev/postmarketOS/unity8-stuff/ubuntu-ui-toolkit/src/UbuntuToolkit/asyncloader.cpp:82
#10 0x00007ffff7b7ed90 in AsyncLoaderPrivate::statusChanged(QQmlIncubator::Status) (this=0x55555762e200, status=QQmlIncubator::Ready)
    at /home/luca/dev/postmarketOS/unity8-stuff/ubuntu-ui-toolkit/src/UbuntuToolkit/asyncloader.cpp:68
#11 0x00007ffff6421dac in QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&) () at /usr/lib/libQt5Qml.so.5
#12 0x00007ffff6421e8d in QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&) () at /usr/lib/libQt5Qml.so.5
#13 0x00007ffff6422353 in QQmlIncubationController::incubateFor(int) () at /usr/lib/libQt5Qml.so.5
#14 0x00007ffff76b2bd3 in  () at /usr/lib/libQt5Quick.so.5
#15 0x00007ffff5bfcfef in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#16 0x00007ffff5bd069a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#17 0x00007ffff5c28595 in QTimerInfoList::activateTimers() () at /usr/lib/libQt5Core.so.5
#18 0x00007ffff5c28e42 in  () at /usr/lib/libQt5Core.so.5
#19 0x00007ffff4f0a43c in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#20 0x00007ffff4f57fa9 in  () at /usr/lib/libglib-2.0.so.0
#21 0x00007ffff4f09221 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#22 0x00007ffff5c29211 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#23 0x00007ffff5bcf01c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#24 0x00007ffff5bd74a4 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#25 0x000055555555a593 in main(int, char const**) (argc=2, argv=0x7fffffffd898) at /home/luca/dev/postmarketOS/unity8-stuff/ubuntu-ui-toolkit/ubuntu-ui-toolkit-launcher/launcher.cpp:272

Basically the pointer at https://github.com/ubports/ubuntu-ui-toolkit/blob/xenial/src/UbuntuToolkit/ucbottomedge.cpp#L410 points to 0x3 instead of to a proper QList.

Test case is open ./gallery.sh , go to "Bottom Edge" page and swipe up where it says "Demo content"

Ubuntu UI Toolkit has moved to https://gitlab.com/ubports/core/lomiri-ui-toolkit. If this issue is still relevant, please file it again at https://gitlab.com/ubports/core/lomiri-ui-toolkit/-/issues.