Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash when searching in Options #40111

Closed
rduivenvoorde opened this issue Nov 16, 2020 · 11 comments · Fixed by #40480
Closed

Crash when searching in Options #40111

rduivenvoorde opened this issue Nov 16, 2020 · 11 comments · Fixed by #40480
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption Regression Something which used to work, but doesn't anymore

Comments

@rduivenvoorde
Copy link
Contributor

rduivenvoorde commented Nov 16, 2020

QGIS crashes (even with a fresh profiles path) when you search for something (in the search/filter box) in the main settings dialog.

To reproduce:
qgis --profiles-path /tmp/crash
open settings/options
first click somewhere in the left column with tabs, then start to type fast something in the search box
repeat a couple of times
if NOT crashing
create a second profile
and try again

I can easily reproduce it here with the latest build

QGIS version 3.17.0-Master QGIS code revision 53f4161
Compiled against Qt 5.15.1 Running against Qt 5.15.1
Compiled against GDAL/OGR 3.1.4 Running against GDAL/OGR 3.1.4
Compiled against GEOS 3.8.1-CAPI-1.13.3 Running against GEOS 3.8.1-CAPI-1.13.3
Compiled against SQLite 3.33.0 Running against SQLite 3.33.0
Compiled against PDAL 2.2.0 Running against PDAL 2.2.0 (git-version: Release)
PostgreSQL Client Version 13.0 (Debian 13.0-4) SpatiaLite Version 5.0.0
QWT Version 6.1.4 QScintilla2 Version 2.11.5
Compiled against PROJ 7.2.0 Running against PROJ Rel. 7.2.0, November 1st, 2020
OS Version Debian GNU/Linux bullseye/sid This copy of QGIS writes debugging output.
Active python plugins MetaSearch; processing; db_manager

QGIS died on signal 11[New LWP 40774]
[New LWP 40775]
[New LWP 40777]
[New LWP 40778]
[New LWP 40779]
[New LWP 40781]
[New LWP 40782]
[New LWP 40783]
[New LWP 40784]
[New LWP 40785]
[New LWP 40786]
[New LWP 40787]
[New LWP 40788]
[New LWP 40789]
[New LWP 40790]
[New LWP 40791]
[New LWP 40792]
[New LWP 40793]
[New LWP 40794]
[New LWP 40795]
[New LWP 40796]
[New LWP 40797]
[New LWP 40799]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fd51b990167 in __GI___wait4 (pid=40806, stat_loc=0x7ffcc1028cd4, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
27	../sysdeps/unix/sysv/linux/wait4.c: No such file or directory.
[Current thread is 1 (Thread 0x7fd50a137000 (LWP 40766))]
#0  0x00007fd51b990167 in __GI___wait4 (pid=40806, stat_loc=0x7ffcc1028cd4, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
#1  0x0000561b123e3276 in qgisCrash(int) (signal=11) at ../src/app/main.cpp:349
        status = 48
        pidstr = "--pid=40766\000\000\000\000\000\030\000\000\000\000\000\000\000\320ɬ\022\033V\000"
        gdbpid = 40806
        exename = "/home/richard/bin/qgis_/master/debug/bin/qgis\000\000\000\320ɬ\022\033V\000\000\320ɬ\022\033V\000\000 \205\252\022\033V\000\000\220\213\002\301\374\177\000\000\360\347\312\020\325\177\000\000\034\000\000\000\000\000\000\000\320ɬ\022\033V\000\000\203\204\307\314\324\177\000\000\340\214\002\301\374\177\000\000\320ɬ\022\033V\000\000\000\000\000\000\000\000\000\000H\003\030\315\324\177\000\000\001\000\000\000\001\000\000\000Ћ\002\301\374\177\000\000 \217\254\022\033V\000\000\240\213\002\301\374\177\000\000\004\000\000\000ntaL\000\000\000\000\000\000\000\000\034", '\000' <repeats 24 times>...
        len = 45
#2  0x00007fd51b900cc0 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007fd51e16aeae in QString::operator=(QString const&) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fd5203819d1 in QgsOptionsDialogHighlightWidget::searchHighlight(QString const&) (this=0x561b12cbddc0, text=...) at ../src/gui/qgsoptionsdialoghighlightwidget.cpp:80
        found = false
#5  0x00007fd52037eb6c in QgsOptionsDialogBase::searchText(QString const&) (this=0x561b1667af60, text=...) at ../src/gui/qgsoptionsdialogbase.cpp:323
        rsw = @0x561b12c709a0: {first = 0x561b12cbddc0, second = 5}
        __for_range = @0x561b1667af90: {<QListSpecialMethods<QPair<QgsOptionsDialogHighlightWidget*, int> >> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x561b12c56a00}, d = 0x561b12c56a00}}
        __for_begin = {i = 0x561b12c56e20}
        __for_end = {i = 0x561b12c579a8}
        minimumTextLength = 3
#6  0x00007fd5203816e8 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QString const&>, void, void (QgsOptionsDialogBase::*)(QString const&)>::call(void (QgsOptionsDialogBase::*)(QString const&), QgsOptionsDialogBase*, void**) (f=(void (QgsOptionsDialogBase::*)(class QgsOptionsDialogBase * const, const class QString &)) 0x7fd52037e9ac <QgsOptionsDialogBase::searchText(QString const&)>, o=0x561b1667af60, arg=0x7ffcc1029610) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#7  0x00007fd52038144d in QtPrivate::FunctionPointer<void (QgsOptionsDialogBase::*)(QString const&)>::call<QtPrivate::List<QString const&>, void>(void (QgsOptionsDialogBase::*)(QString const&), QgsOptionsDialogBase*, void**) (f=(void (QgsOptionsDialogBase::*)(class QgsOptionsDialogBase * const, const class QString &)) 0x7fd52037e9ac <QgsOptionsDialogBase::searchText(QString const&)>, o=0x561b1667af60, arg=0x7ffcc1029610) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#8  0x00007fd520381064 in QtPrivate::QSlotObject<void (QgsOptionsDialogBase::*)(QString const&), QtPrivate::List<QString const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x561b165cad60, r=0x561b1667af60, a=0x7ffcc1029610, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:418
#9  0x00007fd51e2ff796 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007fd51eec68c2 in QLineEdit::textChanged(QString const&) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007fd51e2ff7d0 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007fd51eecd315 in QWidgetLineControl::textChanged(QString const&) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007fd51eed075b in QWidgetLineControl::finishChange(int, bool, bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007fd51eed2fc3 in QWidgetLineControl::processKeyEvent(QKeyEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007fd51eec6a0b in QLineEdit::keyPressEvent(QKeyEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007fd51edc9def in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007fd520239fb5 in QgsFilterLineEdit::event(QEvent*) (this=0x561b170387e0, event=0x7ffcc1029ea0) at ../src/gui/qgsfilterlineedit.cpp:214
#18 0x00007fd51ed8914f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007fd51ed9055f in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007fd51c89451f in QgsApplication::notify(QObject*, QEvent*) (this=0x7ffcc102c280, receiver=0x561b170387e0, event=0x7ffcc1029ea0) at ../src/core/qgsapplication.cpp:462
        done = true
        __PRETTY_FUNCTION__ = "virtual bool QgsApplication::notify(QObject*, QEvent*)"
#21 0x00007fd51e2c91ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007fd51ede4378 in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007fd51ed8914f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007fd51c89451f in QgsApplication::notify(QObject*, QEvent*) (this=0x7ffcc102c280, receiver=0x561b165d6a10, event=0x7ffcc1029ea0) at ../src/core/qgsapplication.cpp:462
        done = true
        __PRETTY_FUNCTION__ = "virtual bool QgsApplication::notify(QObject*, QEvent*)"
#25 0x00007fd51e2c91ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007fd51e69d572 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#27 0x00007fd4c5db66b8 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so
#28 0x00007fd51e2ff796 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007fd511bf8b8f in QDBusPendingCallWatcher::finished(QDBusPendingCallWatcher*) () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#30 0x00007fd51e2f51e1 in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007fd51ed8914f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007fd51c89451f in QgsApplication::notify(QObject*, QEvent*) (this=0x7ffcc102c280, receiver=0x561b1621c180, event=0x561b14244a20) at ../src/core/qgsapplication.cpp:462
        done = true
        __PRETTY_FUNCTION__ = "virtual bool QgsApplication::notify(QObject*, QEvent*)"
#33 0x00007fd51e2c91ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007fd51e2cbbf1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#35 0x00007fd51e321083 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007fd5139bbbdb in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007fd5139bbe88 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007fd5139bbf3f in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007fd51e32070f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007fd51e2c7b7b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x00007fd51ef81ba7 in QDialog::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#42 0x00007fd520f6b397 in QgisApp::showOptionsDialog(QWidget*, QString const&, int) (this=0x561b135e9b00, parent=0x561b135e9b00, currentPage=..., pageNumber=-1) at ../src/app/qgisapp.cpp:12501
        optionsDialog = std::unique_ptr<class QgsOptions> = {get() = 0x561b1667af60}
        mySettings = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = {direct = 0x7fd51e554120 <QObject::staticMetaObject>}, stringdata = 0x7fd51d2bff20 <qt_meta_stringdata_QgsSettings>, data = 0x7fd51d2bff60 <qt_meta_data_QgsSettings>, static_metacall = 0x7fd51c2f646e <QgsSettings::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, mUserSettings = 0x561b16799fd0, mGlobalSettings = 0x561b1679f0c0, mUsingGlobalArray = false}
        oldScales = {static null = {<No data fields>}, d = 0x7fd51d3f7740 <Qgis::defaultProjectScales()::{lambda()#1}::operator()() const::qstring_literal>}
#43 0x00007fd520f69554 in QgisApp::options() (this=0x561b135e9b00) at ../src/app/qgisapp.cpp:12352
#44 0x00007fd5210135fd in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (QgisApp::*)()>::call(void (QgisApp::*)(), QgisApp*, void**) (f=(void (QgisApp::*)(class QgisApp * const)) 0x7fd520f69522 <QgisApp::options()>, o=0x561b135e9b00, arg=0x7ffcc102aad0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:152
#45 0x00007fd52100c377 in QtPrivate::FunctionPointer<void (QgisApp::*)()>::call<QtPrivate::List<>, void>(void (QgisApp::*)(), QgisApp*, void**) (f=(void (QgisApp::*)(class QgisApp * const)) 0x7fd520f69522 <QgisApp::options()>, o=0x561b135e9b00, arg=0x7ffcc102aad0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:185
#46 0x00007fd520ffe424 in QtPrivate::QSlotObject<void (QgisApp::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x561b13e34910, r=0x561b135e9b00, a=0x7ffcc102aad0, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:418
#47 0x00007fd51e2ff796 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#48 0x00007fd51ed82b52 in QAction::triggered(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#49 0x00007fd51ed85391 in QAction::activate(QAction::ActionEvent) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#50 0x00007fd51eeff2fa in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#51 0x00007fd51ef06822 in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#52 0x00007fd51edc8f8e in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#53 0x00007fd51ed8914f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#54 0x00007fd51ed9003b in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#55 0x00007fd51c89451f in QgsApplication::notify(QObject*, QEvent*) (this=0x7ffcc102c280, receiver=0x561b13222c10, event=0x7ffcc102b280) at ../src/core/qgsapplication.cpp:462
        done = true
        __PRETTY_FUNCTION__ = "virtual bool QgsApplication::notify(QObject*, QEvent*)"
#56 0x00007fd51e2c91ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#57 0x00007fd51ed8f066 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#58 0x00007fd51ede1563 in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#59 0x00007fd51ede431e in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#60 0x00007fd51ed8914f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#61 0x00007fd51c89451f in QgsApplication::notify(QObject*, QEvent*) (this=0x7ffcc102c280, receiver=0x561b15cf8e50, event=0x7ffcc102b670) at ../src/core/qgsapplication.cpp:462
        done = true
        __PRETTY_FUNCTION__ = "virtual bool QgsApplication::notify(QObject*, QEvent*)"
#62 0x00007fd51e2c91ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#63 0x00007fd51e6a149b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#64 0x00007fd51e67763b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#65 0x00007fd4ce53125a in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#66 0x00007fd5139bbbdb in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#67 0x00007fd5139bbe88 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#68 0x00007fd5139bbf3f in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#69 0x00007fd51e32070f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#70 0x00007fd51e2c7b7b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#71 0x00007fd51e2cfdf0 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#72 0x0000561b123eaafe in main(int, char**) (argc=3, argv=0x7ffcc102d618) at ../src/app/main.cpp:1637
        preApplicationLogMessages = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x561b129bf5e0}, d = 0x561b129bf5e0}}, <No data fields>}
        __FUNCTION__ = "main"
        mySnapshotFileName = {static null = {<No data fields>}, d = 0x7fd51e3af960 <QArrayData::shared_null>}
        configLocalStorageLocation = {static null = {<No data fields>}, d = 0x561b129c1f00}
        profileName = {static null = {<No data fields>}, d = 0x561b129c2d60}
        mySnapshotWidth = 800
        mySnapshotHeight = 600
        myHideSplash = false
        settingsMigrationForce = false
        mySkipVersionCheck = false
        hideBrowser = false
        myRestoreDefaultWindowState = false
        myRestorePlugins = true
        myCustomization = true
        dxfOutputFile = {static null = {<No data fields>}, d = 0x7fd51e3af960 <QArrayData::shared_null>}
        dxfSymbologyMode = QgsDxfExport::SymbolLayerSymbology
        dxfScale = 50000
        dxfEncoding = {static null = {<No data fields>}, d = 0x561b123f5b00 <main::{lambda()#2}::operator()() const::qstring_literal>}
        dxfMapTheme = {static null = {<No data fields>}, d = 0x7fd51e3af960 <QArrayData::shared_null>}
        dxfExtent = {mXmin = 0, mYmin = 0, mXmax = 0, mYmax = 0}
        takeScreenShots = false
        screenShotsPath = {static null = {<No data fields>}, d = 0x7fd51e3af960 <QArrayData::shared_null>}
        screenShotsCategories = 0
        myInitialExtent = {static null = {<No data fields>}, d = 0x7fd51e3af960 <QArrayData::shared_null>}
        translationCode = {static null = {<No data fields>}, d = 0x561b129ce6f0}
        authdbdirectory = {static null = {<No data fields>}, d = 0x7fd51e3af960 <QArrayData::shared_null>}
        pythonfile = {static null = {<No data fields>}, d = 0x7fd51e3af960 <QArrayData::shared_null>}
        customizationfile = {static null = {<No data fields>}, d = 0x561b134374e0}
        globalsettingsfile = {static null = {<No data fields>}, d = 0x561b129c0730}
        openClProgramFolder = {static null = {<No data fields>}, d = 0x7fd51e3af960 <QArrayData::shared_null>}
        args = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x561b129c1ed0}, d = 0x561b129c1ed0}}, <No data fields>}
        myUseGuiFlag = true
        rootProfileFolder = {static null = {<No data fields>}, d = 0x561b129c27e0}
        manager = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = {direct = 0x7fd51e554120 <QObject::staticMetaObject>}, stringdata = 0x7fd51d2c4380 <qt_meta_stringdata_QgsUserProfileManager>, data = 0x7fd51d2c4400 <qt_meta_data_QgsUserProfileManager>, static_metacall = 0x7fd51c2fa794 <QgsUserProfileManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, mWatchProfiles = false, mWatcher = std::unique_ptr<class QFileSystemWatcher> = {get() = 0x0}, mRootProfilePath = {static null = {<No data fields>}, d = 0x561b129c27e0}, mUserProfile = std::unique_ptr<class QgsUserProfile> = {get() = 0x0}, mSettings = std::unique_ptr<class QSettings> = {get() = 0x561b129c2100}}
        profile = 0x561b129c21e0
        profileFolder = {static null = {<No data fields>}, d = 0x561b129c3310}
        myApp = {<QApplication> = {<No data fields>}, static staticMetaObject = {d = {superdata = {direct = 0x7fd51f27ffa0 <QApplication::staticMetaObject>}, stringdata = 0x7fd51d2b0920 <qt_meta_stringdata_QgsApplication>, data = 0x7fd51d2b0b20 <qt_meta_data_QgsApplication>, static_metacall = 0x7fd51c2e041c <QgsApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static QGIS_ORGANIZATION_NAME = 0x7fd51d3fdb4a "QGIS", static QGIS_ORGANIZATION_DOMAIN = 0x7fd51d3fdb4f "qgis.org", static QGIS_APPLICATION_NAME = 0x7fd51d3fdb58 "QGIS3", static mFileOpenEventReceiver31700 = 0x561b135e9b00, static mInitialized31700 = true, static mRunningFromBuildDir31700 = false, static sMaxThreads31700 = -1, mIconCache = {d = 0x561b12b33a60}, mCursorCache = {d = 0x561b13c7aba0}, mQgisTranslator = 0x561b12b3c680, mQtTranslator = 0x561b12b24b90, mDataItemProviderRegistry = 0x561b13446d00, mAuthManager = 0x561b1306c2c0, mApplicationMembers = 0x561b12a800c0, static sApplicationMembers = 0x0, static sAuthManager = 0x0}
        settings = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = {direct = 0x7fd51e554120 <QObject::staticMetaObject>}, stringdata = 0x7fd51d2bff20 <qt_meta_stringdata_QgsSettings>, data = 0x7fd51d2bff60 <qt_meta_data_QgsSettings>, static_metacall = 0x7fd51c2f646e <QgsSettings::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, mUserSettings = 0x561b12b28a20, mGlobalSettings = 0x561b12b61d50, mUsingGlobalArray = false}
        libPaths = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x561b12cbaad0}, d = 0x561b12cbaad0}}, <No data fields>}
        relLibPath = {static null = {<No data fields>}, d = 0x561b13412060}
        customizationsettings = 0x561b12bcf360
        systemEnvVars = {d = 0x561b12b2dc40}
        useCustomVars = false
        desiredStyle = {static null = {<No data fields>}, d = 0x561b123f6920 <main::{lambda()#42}::operator()() const::qstring_literal>}
        theme = {static null = {<No data fields>}, d = 0x7fd51e3af960 <QArrayData::shared_null>}
        activeStyleName = {static null = {<No data fields>}, d = 0x561b12fc4fc0}
        mySplashPath = {static null = {<No data fields>}, d = 0x7fd51d3fec60 <QgsApplication::splashPath()::{lambda()#1}::operator()() const::qstring_literal>}
        myPixmap = <incomplete type>
        w = 600
        h = 300
        mypSplash = 0x561b12b2ffc0
        qgis = 0x561b135e9b00
        sigwatch = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = {direct = 0x7fd51e554120 <QObject::staticMetaObject>}, stringdata = 0x561b124373c0 <qt_meta_stringdata_UnixSignalWatcher>, data = 0x561b12437480 <qt_meta_data_UnixSignalWatcher>, static_metacall = 0x561b123f1ede <UnixSignalWatcher::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = 0x561b13211200}
        retval = 306409728
[Inferior 1 (process 40766) detached]

@rduivenvoorde rduivenvoorde added Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption labels Nov 16, 2020
@rduivenvoorde
Copy link
Contributor Author

Screenshot-20201116220746-1185x1018

@rduivenvoorde
Copy link
Contributor Author

Trying to reproduce in QtCreator here.
Crash seems to happen when you first search for something available (eg 'time') then select everything and start typing something else...
Other crash view:

Screenshot-20201116221342-1387x960

@gioman
Copy link
Contributor

gioman commented Nov 16, 2020

after a few tries I was also bale to replicate on Windows: master, 3.16.0 but NOT on 3.10.11

@gioman gioman added the Regression Something which used to work, but doesn't anymore label Nov 16, 2020
@lpinner
Copy link
Contributor

lpinner commented Nov 16, 2020

I was about to post the same/similar issue (QGIS 3.16.0 QT 5.12.8 Ubuntu 20.04). I found that QGIS only crashes for me when searching in settings if the core Processing plugin is enabled.

@rduivenvoorde
Copy link
Contributor Author

Seeing this on a fresh crash, now. Not sure if it is related.

[New LWP 846186]

warning: td_ta_new failed: generic error

warning: File "/lib/x86_64-linux-gnu/libthread_db-1.0.so" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
	add-auto-load-safe-path /lib/x86_64-linux-gnu/libthread_db-1.0.so
line to your configuration file "/home/richard/.gdbinit".
To completely disable this security protection add
	set auto-load safe-path /
line to your configuration file "/home/richard/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
	info "(gdb)Auto-loading safe path"

warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
Cannot access memory at address 0x7f319de89088

warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
Failed to read a valid object file image from memory.

@rduivenvoorde
Copy link
Contributor Author

@lpinner I can NOT confirm that it only crashes WITH processing enabled. Currently I get crashes when processing is enabled or not.

@rduivenvoorde
Copy link
Contributor Author

I also have crashes in 3.16 freshly compiled.
Another (settings/options) related observation when compiling:

[3/2525] Generating ui_qgsoptionsbase.h
/home/richard/git/qgis316/src/ui/qgsoptionsbase.ui: Warning: The name 'horizontalLayout_34' (QHBoxLayout) is already in use, defaulting to 'horizontalLayout_341'.
/home/richard/git/qgis316/src/ui/qgsoptionsbase.ui: Warning: The name 'horizontalSpacer_391' (QSpacerItem) is already in use, defaulting to 'horizontalSpacer_3911'.
/home/richard/git/qgis316/src/ui/qgsoptionsbase.ui: Warning: The name 'horizontalLayout_34' (QHBoxLayout) is already in use, defaulting to 'horizontalLayout_342'.
/home/richard/git/qgis316/src/ui/qgsoptionsbase.ui: Warning: The name 'horizontalSpacer_391' (QSpacerItem) is already in use, defaulting to 'horizontalSpacer_3912'.

@uclaros
Copy link
Contributor

uclaros commented Dec 1, 2020

I can reliably crash master by searching for "highlight". It always crashes after the second i.

@rduivenvoorde
Copy link
Contributor Author

Mmm, with me this started when I searched for 'time' .... 'i' related? The crash is also in he 'highlight' code if I am correct (the stuff that your search string is highlighted in yellow).

@phidrho
Copy link
Contributor

phidrho commented Dec 2, 2020

Today it crashed twice for me on Win10, QGIS 3.16.1
I wanted to search for "select", and it crashed after entering "sele".

User Feedback

I was searching through Options with "select" keyword. Program crashed after entering "sele"

## Report Details

**Crash ID**: [910fdd3e7b6f5138382d9107a57f7d17df527d2f](https://github.com/qgis/QGIS/search?q=910fdd3e7b6f5138382d9107a57f7d17df527d2f&type=Issues)


**Stack Trace**
<pre>
QgsOptionsDialogHighlightWidget::searchHighlight qgsoptionsdialoghighlightwidget.cpp:89
QgsOptionsDialogBase::searchText qgsoptionsdialogbase.cpp:323
QMetaObject::activate :
QLineEdit::qt_static_metacall :
QMetaObject::activate :
QWidgetLineControl::finishChange :
QWidgetLineControl::processKeyEvent :
QLineEdit::keyPressEvent :
QWidget::event :
QLineEdit::event :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:458
QCoreApplication::notifyInternal2 :
QSizePolicy::QSizePolicy :
QSizePolicy::QSizePolicy :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:458
QCoreApplication::notifyInternal2 :
QGuiApplicationPrivate::processKeyEvent :
QWindowSystemInterface::sendWindowSystemEvents :
QEventDispatcherWin32::processEvents :
UserCallWinProcCheckWow :
DispatchMessageWorker :
QEventDispatcherWin32::processEvents :
qt_plugin_query_metadata :
QEventLoop::exec :
QDialog::exec :
QgisApp::showOptionsDialog qgisapp.cpp:12345
QgisApp::options qgisapp.cpp:12196
QMetaObject::activate :
QAction::activate :
QMenu::actionGeometry :
QMenu::actionGeometry :
QMenu::mouseReleaseEvent :
QWidget::event :
QMenu::event :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:458
QCoreApplication::notifyInternal2 :
QApplicationPrivate::sendMouseEvent :
QSizePolicy::QSizePolicy :
QSizePolicy::QSizePolicy :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:458
QCoreApplication::notifyInternal2 :
QGuiApplicationPrivate::processMouseEvent :
QWindowSystemInterface::sendWindowSystemEvents :
QEventDispatcherWin32::processEvents :
UserCallWinProcCheckWow :
DispatchMessageWorker :
QEventDispatcherWin32::processEvents :
qt_plugin_query_metadata :
QEventLoop::exec :
QCoreApplication::exec :
main main.cpp:1637
BaseThreadInitThunk :
RtlUserThreadStart :
</pre>


**QGIS Info**
QGIS Version: 3.16.1-Hannover
QGIS code revision: b381a90dca
Compiled against Qt: 5.11.2
Running against Qt: 5.11.2
Compiled against GDAL: 3.1.4
Running against GDAL: 3.1.4



**System Info**
CPU Type: x86_64
Kernel Type: winnt
Kernel Version: 10.0.18362

@uclaros
Copy link
Contributor

uclaros commented Dec 3, 2020

After bisecting, it seems that somehow #39534 causes this...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption Regression Something which used to work, but doesn't anymore
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants