VLC 4: Segmentation fault during main StackView content switch
There is a Qt bug which tries to access null pointers. This behavior results in Seg. Fault for our use cases. It happens when there are sections used in qt quick views. When StackView content is switched, the old content is destroyed improperly as during the destruction the backend tries to update sections.
An example stack trace:
1 QQmlContext::setContextProperty(QString const&, QVariant const&) 0x7fffdfc176c4
2 QQuickListViewPrivate::updateInlineSection(FxListItemSG *) 0x7ffff45eb8fe
3 QQuickListViewPrivate::updateSections() 0x7ffff45ebc84
4 QQuickItemViewPrivate::layout() 0x7ffff45ded85
5 QQuickWindowPrivate::polishItems() 0x7ffff4512c10
6 QQuickWidgetPrivate::render(bool) 0x7ffff498ee94
7 QQuickWidgetPrivate::renderSceneGraph() 0x7ffff498ef5e
8 QObject::event(QEvent *) 0x7fffddf64d1b
9 QWidget::event(QEvent *) 0x7fffdefcdd93
10 QQuickWidget::event(QEvent *) 0x7ffff4992b2b
11 QApplicationPrivate::notify_helper(QObject *, QEvent *) 0x7fffdef90e2c
12 QApplication::notify(QObject *, QEvent *) 0x7fffdef97f60
13 QCoreApplication::notifyInternal2(QObject *, QEvent *) 0x7fffddf38f58
14 QTimerInfoList::activateTimers() 0x7fffddf8c55e
15 timerSourceDispatch(_GSource *, int ( *)(void *), void *) 0x7fffddf8cd41
16 g_main_context_dispatch 0x7fffdd2598eb
17 ?? 0x7fffdd2acd28
18 g_main_context_iteration 0x7fffdd257023
19 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 0x7fffddf8d07f
20 QPAEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) 0x7fffdcac2181
I reproduced it when starting playing a video from the 'Video' section. Be aware that there is probably a race condition as it happens time to time. It might be related with threaded Qt scene graph implementation.