Bug 509352 - QTreeView with QFileSystemModel crash
Summary: QTreeView with QFileSystemModel crash
Status: RESOLVED UPSTREAM
Alias: None
Product: Qt/KDE Flatpak Runtime
Classification: Developer tools
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Aleix Pol
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-09-10 16:35 UTC by nou.spiro
Modified: 2025-09-11 08:05 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description nou.spiro 2025-09-10 16:35:37 UTC
SUMMARY
In my application that I develop I use QTreeView with QFileSystemModel

STEPS TO REPRODUCE
This simple code can cause this crash. It might require --filesystem=host permission.
```
QFileSystemModel model;
model.setRootPath("/home");
QTreeView treeView;
treeView.setModel(&model);
treeView.resize(800, 600);
treeView.show();
```

OBSERVED RESULT
Crash with this backtrace
```
#0  0x0000fffff5f8777c in ??? () at /usr/lib/aarch64-linux-gnu/libQt6Gui.so.6
#1  0x0000fffff5618118 in QtMetaTypePrivate::destruct (iface=<optimized out>, where=0xffffffffccc8) at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qmetatype_p.h:203
#2  (anonymous namespace)::customClear (d=0xffffffffccc8) at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qvariant.cpp:295
#3  QVariant::~QVariant (this=0xffffffffccc8, __in_chrg=<optimized out>) at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qvariant.cpp:539
#4  0x0000fffff6cfb4b4 in QHeaderView::sectionSizeFromContents(int) const () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#5  0x0000fffff6cf95b4 in QHeaderView::sizeHint() const () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#6  0x0000fffff6d76318 in QTreeView::updateGeometries() () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#7  0x0000fffff6a60f98 in QWidget::event(QEvent*) () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#8  0x0000fffff6aef684 in QFrame::event(QEvent*) () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#9  0x0000fffff5592144 in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=0xaaaaaaf04d70, event=0xffffffffd108)
    at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qcoreapplication.cpp:1243
#10 0x0000fffff69febf4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#11 0x0000fffff5592434 in QCoreApplication::notifyInternal2 (receiver=0xaaaaaaf04d70, event=0xffffffffd108) at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#12 0x0000fffff6a57d9c in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#13 0x0000fffff6a5c2cc in QWidgetPrivate::show_helper() () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#14 0x0000fffff6a605f8 in QWidgetPrivate::setVisible(bool) () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#15 0x0000fffff6a5bf14 in QWidgetPrivate::showChildren(bool) () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#16 0x0000fffff6a5c2e8 in QWidgetPrivate::show_helper() () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#17 0x0000fffff6a5c0d4 in QWidgetPrivate::showChildren(bool) () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#18 0x0000fffff6a5c2e8 in QWidgetPrivate::show_helper() () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#19 0x0000fffff6a605f8 in QWidgetPrivate::setVisible(bool) () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#20 0x0000fffff55ff080 in QtPrivate::QSlotObjectBase::call (this=0xaaaaaaf09dc0, r=<optimized out>, a=0xffffffffd788) at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#21 doActivate<false> (sender=0xaaaaaaf5e140, signal_index=7, argv=0xffffffffd788) at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qobject.cpp:4138
#22 0x0000fffff63fe1ec in QAction::triggered(bool) () at /usr/lib/aarch64-linux-gnu/libQt6Gui.so.6
#23 0x0000fffff6401150 in QAction::activate(QAction::ActionEvent) () at /usr/lib/aarch64-linux-gnu/libQt6Gui.so.6
#24 0x0000fffff6bd56d8 in ??? () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#25 0x0000fffff6bddb88 in ??? () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#26 0x0000fffff6a60c7c in QWidget::event(QEvent*) () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#27 0x0000fffff69fec0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#28 0x0000fffff6a07ba4 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#29 0x0000fffff5592434 in QCoreApplication::notifyInternal2 (receiver=0xaaaaab01d650, event=0xffffffffde10) at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#30 0x0000fffff6a06e9c in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
    at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#31 0x0000fffff6a74d04 in ??? () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#32 0x0000fffff6a76f5c in ??? () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#33 0x0000fffff69fec0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/aarch64-linux-gnu/libQt6Widgets.so.6
#34 0x0000fffff5592434 in QCoreApplication::notifyInternal2 (receiver=0xaaaaabcab820, event=0xffffffffe0d0) at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#35 0x0000fffff5fed35c in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/aarch64-linux-gnu/libQt6Gui.so.6
#36 0x0000fffff605aaf8 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/aarch64-linux-gnu/libQt6Gui.so.6
#37 0x0000fffff039d788 in xcbSourceDispatch (source=<optimized out>) at /run/build-runtime/qt6-qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:57
#38 0x0000fffff47c1d90 in g_main_dispatch (context=0xffffec000f00) at ../glib/gmain.c:3357
#39 0x0000fffff4821278 in g_main_context_dispatch_unlocked (context=0xffffec000f00) at ../glib/gmain.c:4208
#40 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0xffffec000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4273
#41 0x0000fffff47c10d8 in g_main_context_iteration (context=0xffffec000f00, may_block=1) at ../glib/gmain.c:4338
#42 0x0000fffff589c3e4 in QEventDispatcherGlib::processEvents (this=0xaaaaaada4670, flags=...) at /run/build-runtime/qt6-qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
```

EXPECTED RESULT

Show content of directory

SOFTWARE/OS VERSIONS
Qt Version: 6.8 and 6.9
Qt 6.7 works fine

ADDITIONAL INFORMATION
Comment 1 Tobias Fella 2025-09-10 16:59:34 UTC
does this only happen in flatpak?
Comment 2 nou.spiro 2025-09-10 17:47:03 UTC
Yes only in flatpak. When I compile native Qt app it works fine. Also it affect only aarch64. On x86_64 it works fine.
Comment 3 nou.spiro 2025-09-10 18:04:34 UTC
I also fount this issue on github that have really similar backtrace. https://github.com/flatpak/flatpak/issues/6189
Comment 4 Tobias Fella 2025-09-11 08:05:59 UTC
Thanks for the info. Even though it only happens in our flatpak runtime, this does ultimately look like a bug in qt. Please create an issue at https://bugreports.qt.io/issues/