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

QGIS crash showing raster symbology in layer properties #39693

Closed
luipir opened this issue Oct 29, 2020 · 77 comments · Fixed by #39935
Closed

QGIS crash showing raster symbology in layer properties #39693

luipir opened this issue Oct 29, 2020 · 77 comments · Fixed by #39935
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption High Priority Regression Something which used to work, but doesn't anymore

Comments

@luipir
Copy link
Contributor

luipir commented Oct 29, 2020

Describe the bug
QGIS crash showing raster symbology in layer properties

How to Reproduce

  1. add a raster into the project
  2. Double click on the added layer to open layer properties
  3. Click on Symbology => crash

Not F7 works correctly

QGIS and OS versions

QGIS version 3.16.0-Hannover QGIS code revision 43b64b1
Compiled against Qt 5.9.5 Running against Qt 5.9.5
Compiled against GDAL/OGR 2.2.3 Running against GDAL/OGR 2.2.3
Compiled against GEOS 3.7.1-CAPI-1.11.1 Running against GEOS 3.7.1-CAPI-1.11.1 27a5e771
Compiled against SQLite 3.22.0 Running against SQLite 3.22.0
PostgreSQL Client Version 13.0 (Ubuntu 13.0-1.pgdg18.04+1) SpatiaLite Version 4.3.0a
QWT Version 6.1.3 QScintilla2 Version 2.10.2
PROJ.4 Version 493
OS Version Ubuntu 18.04.5 LTS This copy of QGIS writes debugging output.
Active python plugins plugin_reloader; IPyConsole; remotedebug; Qgis2threejs; db_manager; processing; MetaSearch

Additional context

@luipir luipir added Bug Either a bug report, or a bug fix. Let's hope for the latter! Regression Something which used to work, but doesn't anymore Crash/Data Corruption labels Oct 29, 2020
@elpaso
Copy link
Contributor

elpaso commented Oct 29, 2020

Works for me on master.

@nirvn
Copy link
Contributor

nirvn commented Oct 29, 2020

Could it be a Qt 5.9 specific issue?

@gioman
Copy link
Contributor

gioman commented Oct 29, 2020

@luipir duplicate of #39628 ?

@Antoviscomi
Copy link

Could it be a Qt 5.9 specific issue?

I have QT5.11.2 and look at #39692

@gioman
Copy link
Contributor

gioman commented Oct 29, 2020

I have QT5.11.2 and look at #39692

@Antoviscomi cannot replicate that.

@Antoviscomi
Copy link

I have QT5.11.2 and look at #39692

@Antoviscomi cannot replicate that.

ok @gioman with a new clean profile it works fine, thank you

@roya0045
Copy link
Contributor

I put my bets on the outdated QT.

@PedroVenancio
Copy link
Contributor

PedroVenancio commented Oct 29, 2020

This is happening here also, but not everytime, it's some kind of random.

And it happens just after double clicking in TOC.

Here is a crash report:

Crash ID: 4d5b893bfad5cc6351cf25c2890b2cd2bf3656a7

Stack Trace

QCoreApplicationPrivate::sendThroughObjectEventFilters :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:458
QCoreApplication::notifyInternal2 :
QMainWindow::trUtf8 :
QHeaderView::logicalIndexAt :
QWidget::setStyleSheet :
QgsCollapsibleGroupBoxBasic::updateStyle qgscollapsiblegroupbox.cpp:386
QgsCollapsibleGroupBoxBasic::showEvent qgscollapsiblegroupbox.cpp:115
QWidget::event :
QGroupBox::event :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:458
QCoreApplication::notifyInternal2 :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QDialog::setVisible :
QgisApp::showLayerProperties qgisapp.cpp:15943
QgisApp::layerProperties qgisapp.cpp:9163
QgisApp::layerTreeViewDoubleClicked qgisapp.cpp:658
QMetaObject::activate :
QAbstractItemView::doubleClicked :
QTreeView::mouseDoubleClickEvent :
QWidget::event :
QFrame::event :
QAbstractItemView::viewportEvent :
QCoreApplicationPrivate::sendThroughObjectEventFilters :
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 :

QGIS Info
QGIS Version: 3.16.0-Hannover
QGIS code revision: 43b64b13f3
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.19041

@gioman
Copy link
Contributor

gioman commented Oct 29, 2020

but not everytime

@PedroVenancio can you test a new QGIS profile?

@PedroVenancio
Copy link
Contributor

@PedroVenancio can you test a new QGIS profile?

I've just tested in a clean profile and I've got the crash after double clicking in 3 rasters.

Crash ID: b27b1ccd778933ff25ecaacdb6fcfe38b7df74db

Stack Trace

QObject::isWidgetType :
QMainWindow::trUtf8 :
QHeaderView::logicalIndexAt :
QWidget::setStyleSheet :
QgsCollapsibleGroupBoxBasic::updateStyle qgscollapsiblegroupbox.cpp:386
QgsCollapsibleGroupBoxBasic::showEvent qgscollapsiblegroupbox.cpp:115
QWidget::event :
QGroupBox::event :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:458
QCoreApplication::notifyInternal2 :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QWidgetPrivate::showChildren :
QWidgetPrivate::show_helper :
QWidget::setVisible :
QDialog::setVisible :
QgisApp::showLayerProperties qgisapp.cpp:15943
QgisApp::layerProperties qgisapp.cpp:9163
QgisApp::layerTreeViewDoubleClicked qgisapp.cpp:658
QMetaObject::activate :
QAbstractItemView::doubleClicked :
QTreeView::mouseDoubleClickEvent :
QWidget::event :
QFrame::event :
QAbstractItemView::viewportEvent :
QCoreApplicationPrivate::sendThroughObjectEventFilters :
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 :

QGIS Info
QGIS Version: 3.16.0-Hannover
QGIS code revision: 43b64b13f3
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.19041

@gioman
Copy link
Contributor

gioman commented Oct 29, 2020

I've just tested in a clean profile and I've got the crash after double clicking in 3 rasters.

@PedroVenancio so your issue is more similar to #39692 (?).

@PedroVenancio
Copy link
Contributor

PedroVenancio commented Oct 29, 2020

@PedroVenancio so your issue is more similar to #39692 (?).

Yes, I think so, but sometimes it crashes just after 3, 4, 5 ... double clicks, not at the first.

I've tried it again, in a clean profile, clean project, just added a raster layer and it crashed after 15 double clicks. It's some kind of random...

@luipir
Copy link
Contributor Author

luipir commented Oct 29, 2020

@PedroVenancio i've the crash in the same codeline

@luipir
Copy link
Contributor Author

luipir commented Oct 29, 2020

@PedroVenancio can you test a new QGIS profile?

I've just tested in a clean profile and I've got the crash after double clicking in 3 rasters.

Aftetr a wile dscovered this issue, started also to crash just double-cliking to open properties... I didn0t check if qgis try to open the previus tab e.g. symbology => crash in the same line

@Antoviscomi
Copy link

@luipir @PedroVenancio @gioman In addition I've noticed that if I delete C:...AppData\Roaming\QGIS\QGIS3\profiles\default\QGIS\ QGIS3.ini, then I open a clean project with default profile, double click it works fine (I double click for about 15-20times)

@roya0045
Copy link
Contributor

trUtf8 is tr from what I understand. was there any important changes to the translation data recently?
Ref in QObject
[static]QString QObject::tr(const char *sourceText, const char *disambiguation = Q_NULLPTR, int n = -1) Returns a translated version of sourceText, optionally based on a disambiguation string and value of n for strings containing plurals; otherwise returns QString::fromUtf8(sourceText) if no appropriate translated string is available.

@roya0045
Copy link
Contributor

Could someone check if the bug occurs before the latest translation at a759ca2 and if it occurs after? I'm not sure what other changes might have affected the translation. I may be off the mark also.

@gioman
Copy link
Contributor

gioman commented Oct 31, 2020

This seems a pretty severe regression, is anyone having a look at?

@PedroVenancio
Copy link
Contributor

It is in fact. I'm seeing it reported at several local mailing lists, Facebook groups, etc.

@elpaso
Copy link
Contributor

elpaso commented Oct 31, 2020

I did have a look but couldn't reproduce.

@roya0045
Copy link
Contributor

Is everyone using Italian or spanish translation?

@PedroVenancio
Copy link
Contributor

Is everyone using Italian or spanish translation?

No, I'm using QGIS in English, but my windows OS is Portuguese

@bellanz80
Copy link

bellanz80 commented Nov 2, 2020

I confirm
windows 10
QGIS 3.16 (standalone y OSGEO)
I use QGIS in English, but my windows OS is Español

image

@luipir
Copy link
Contributor Author

luipir commented Nov 2, 2020

@luipir @PedroVenancio @gioman In addition I've noticed that if I delete C:...AppData\Roaming\QGIS\QGIS3\profiles\default\QGIS\ QGIS3.ini, then I open a clean project with default profile, double click it works fine (I double click for about 15-20times)

@Antoviscomi no, in my case doe not change and continue to crash also after removing QGIS.ini before starting qgis in a clean profile.
Crash happen always in the same codeline... here the complete traceback:


Thread 1 "qgis" received signal SIGSEGV, Segmentation fault.
0x00007ffff232b6bd in QWidget::style() const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
(gdb) where
#0 0x00007ffff232b6bd in QWidget::style() const () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#1 0x00007ffff23a7a23 in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#2 0x00007ffff23a7b58 in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3 0x00007ffff5fb2853 in QgsCollapsibleGroupBoxBasic::updateStyle() (this=0x555558a708e0) at ../src/gui/qgscollapsiblegroupbox.cpp:386
#4 0x00007ffff5fb0a30 in QgsCollapsibleGroupBoxBasic::showEvent(QShowEvent*) (this=0x555558a708e0, event=0x7fffffffacd0) at ../src/gui/qgscollapsiblegroupbox.cpp:112
#5 0x00007ffff5fb384f in QgsCollapsibleGroupBox::showEvent(QShowEvent*) (this=0x555558a708e0, event=0x7fffffffacd0) at ../src/gui/qgscollapsiblegroupbox.cpp:560
#6 0x00007ffff2344048 in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7 0x00007ffff243a70b in QGroupBox::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8 0x00007ffff230583c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9 0x00007ffff230d104 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff37b110b in QgsApplication::notify(QObject*, QEvent*) (this=0x7fffffffd1b0, receiver=0x555558a708e0, event=0x7fffffffacd0) at ../src/core/qgsapplication.cpp:458
#11 0x00007ffff15878d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007ffff2340f18 in QWidgetPrivate::show_helper() () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff2343beb in QWidget::setVisible(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff2340e40 in QWidgetPrivate::showChildren(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff2340eef in QWidgetPrivate::show_helper() () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff2340dee in QWidgetPrivate::showChildren(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff2340eef in QWidgetPrivate::show_helper() () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff2343beb in QWidget::setVisible(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff2340e40 in QWidgetPrivate::showChildren(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007ffff2340eef in QWidgetPrivate::show_helper() () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff2343beb in QWidget::setVisible(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff2340e40 in QWidgetPrivate::showChildren(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff2340eef in QWidgetPrivate::show_helper() () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007ffff2340dee in QWidgetPrivate::showChildren(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff2340eef in QWidgetPrivate::show_helper() () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff2343beb in QWidget::setVisible(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007ffff2340e40 in QWidgetPrivate::showChildren(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007ffff2340eef in QWidgetPrivate::show_helper() () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007ffff2343beb in QWidget::setVisible(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007ffff2340e40 in QWidgetPrivate::showChildren(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007ffff2340eef in QWidgetPrivate::show_helper() () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00007ffff2343beb in QWidget::setVisible(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007ffff2340e40 in QWidgetPrivate::showChildren(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007ffff2340eef in QWidgetPrivate::show_helper() () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007ffff2343beb in QWidget::setVisible(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#36 0x00007ffff24f08ec in QDialog::setVisible(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#37 0x00007ffff6fe0d75 in QgisApp::showLayerProperties(QgsMapLayer*, QString const&) (this=0x555555e54990, mapLayer=0x5555585d02b0, page=...) at ../src/app/qgisapp.cpp:15940
#38 0x00007ffff6fae596 in QgisApp::layerProperties() (this=0x555555e54990) at ../src/app/qgisapp.cpp:9163
#39 0x00007ffff6f4ae57 in QgisApp::layerTreeViewDoubleClicked(QModelIndex const&) (this=0x555555e54990, index=...) at ../src/app/qgisapp.cpp:658
#40 0x00007ffff708be2f in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<QModelIndex const&>, void, void (QgisApp::)(QModelIndex const&)>::call(void (QgisApp::)(QModelIndex const&), QgisApp*, void**) (f=(void (QgisApp::)(QgisApp * const, const QModelIndex &)) 0x7ffff6f4ab80 <QgisApp::layerTreeViewDoubleClicked(QModelIndex const&)>, o=0x555555e54990, arg=0x7fffffffbe40)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:136
#41 0x00007ffff7083188 in QtPrivate::FunctionPointer<void (QgisApp::
)(QModelIndex const&)>::call<QtPrivate::List<QModelIndex const&>, void>(void (QgisApp::)(QModelIndex const&), QgisApp, void**) (f=
(void (QgisApp::)(QgisApp * const, const QModelIndex &)) 0x7ffff6f4ab80 <QgisApp::layerTreeViewDoubleClicked(QModelIndex const&)>, o=0x555555e54990, arg=0x7fffffffbe40)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:169
#42 0x00007ffff7077559 in QtPrivate::QSlotObject<void (QgisApp::
)(QModelIndex const&), QtPrivate::List<QModelIndex const&>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55555642b930, r=0x555555e54990, a=0x7fffffffbe40, ret=0x0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:120
#43 0x00007ffff15b666f in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#44 0x00007ffff254cc45 in QAbstractItemView::doubleClicked(QModelIndex const&) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#45 0x00007ffff25bf4ab in QTreeView::mouseDoubleClickEvent(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#46 0x00007ffff234495f in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
---Type to continue, or q to quit---
#47 0x00007ffff23e54de in QFrame::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#48 0x00007ffff2558b8b in QAbstractItemView::viewportEvent(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#49 0x00007ffff25c152c in QTreeView::viewportEvent(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#50 0x00007ffff15875bc in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#51 0x00007ffff2305815 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#52 0x00007ffff230d65f in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#53 0x00007ffff37b110b in QgsApplication::notify(QObject*, QEvent*) (this=0x7fffffffd1b0, receiver=0x5555560913e0, event=0x7fffffffc610) at ../src/core/qgsapplication.cpp:458
#54 0x00007ffff15878d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#55 0x00007ffff230c632 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer&, bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#56 0x00007ffff235f16b in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#57 0x00007ffff23617da in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#58 0x00007ffff230583c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#59 0x00007ffff230d104 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#60 0x00007ffff37b110b in QgsApplication::notify(QObject*, QEvent*) (this=0x7fffffffd1b0, receiver=0x55555849f0b0, event=0x7fffffffcb20) at ../src/core/qgsapplication.cpp:458
#61 0x00007ffff15878d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#62 0x00007ffff1b49720 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#63 0x00007ffff1b4b055 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#64 0x00007ffff1b222eb in QWindowSystemInterface::sendWindowSystemEvents(QFlagsQEventLoop::ProcessEventsFlag) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#65 0x00007fffcba3f260 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#66 0x00007fffe493c417 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#67 0x00007fffe493c650 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#68 0x00007fffe493c6dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#69 0x00007ffff15e088f in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#70 0x00007ffff158590a in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#71 0x00007ffff158e9b4 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#72 0x0000555555569817 in main(int, char**) (argc=3, argv=0x7fffffffda28) at ../src/app/main.cpp:1637

@luipir
Copy link
Contributor Author

luipir commented Nov 9, 2020

The problem to do a revert without knowing the origin of the problem and to implement a relative test is that:

  1. we do not know if happen in other installation and qt combination
  2. we can face the issue later
    So a revert would be just an emergency (and under observation) measure

@nirvn
Copy link
Contributor

nirvn commented Nov 9, 2020

Revert the cause of a known crasher that's reported near-daily -> +1 :)

@luipir
Copy link
Contributor Author

luipir commented Nov 9, 2020

Revert the cause of a known crasher that's reported near-daily -> +1 :)

I leave next step to you

@soraimperial
Copy link

Experiencing similar problems, as mentioned, #39917 and #39823. Single click on some menus (docked processing toolbox , intersect, dissolve, Map Tools, Merge Layers) and double click sometimes on proprieties and symbology (less common, but I'm not working raster atm anyway).

I wonder if somehow a translation could impact it? Clean profile, tested it and apparently stopped crashing. Apply american english language (from OS Portuguese, only change I did to clean profile) and apparently the problems return? But only sometimes??

The crashes are so random that it is hard to figure out. Since opening #39917, I have been working for two hours without a single crash, using mostly the tools that did lead to a crash before, on my own profile (not a new one, since it seemed to crash more like that). Everything working right, while all during the weekend, I couldn't perform a single action without crashing, except on blank profile.

QT 5.11.2 as well. And qgis 3.14 at first did not replicate these issues, but I have then since been having them also in 3.14 today.

@luipir
Copy link
Contributor Author

luipir commented Nov 10, 2020

BINGO! we probably have a fix! @nirvn found the QT issue that probably is the base of the issue https://bugreports.qt.io/browse/QTBUG-69204 and reading the qt patch here: https://codereview.qt-project.org/c/qt/qtbase/+/242929/7/src/widgets/styles/qstylesheetstyle.cpp#2913 I had the idea to invalidate styleSheet cache just before applying the new style... just doing setStyleSheet("") before the applying style and it works :)

@luipir
Copy link
Contributor Author

luipir commented Nov 10, 2020

The moain problem now is do it only in QgsCollapsibleGroupBox.cpp and specifically only inside void QgsCollapsibleGroupBoxBasic::updateStyle() or do it in every play where setStyleSheet is applied (145 times in qgis code)?
And it should depend on qte version used

@nirvn
Copy link
Contributor

nirvn commented Nov 10, 2020

I say go conservative, only fix what cause crashes on 5.9.

@luipir
Copy link
Contributor Author

luipir commented Nov 10, 2020

I say go conservative, only fix what cause crashes on 5.9.
QT patch is applied to 5.12.4

IMHO should be:

#if QT_VERSION < QT_VERSION_CHECK(5, 12, 4)
      setStyleSheet( "" );
#endif

we had report of crash with qt 5.11 in this thread

@luipir luipir closed this as completed Nov 10, 2020
@luipir luipir reopened this Nov 10, 2020
@luipir
Copy link
Contributor Author

luipir commented Nov 10, 2020

sorry close button too near to comment ;)

@nirvn
Copy link
Contributor

nirvn commented Nov 10, 2020

@luipir , sounds good -- go for it.

@roya0045
Copy link
Contributor

@luipir @nirvn Great work guys!

@gastgit
Copy link

gastgit commented Nov 17, 2020

hi,
apologize in advance for asking here, but how do I fix this issue? can someone point to a link w/ instructions? I have qgis 3.16 on ubuntu18.04 with qt 5.9.5 and would like not to compile from source, but just use apt-get.
Do I need to add deb https://qgis.org/ubuntu-nightly-release bionic main to my sources and reinstall with
sudo apt-get install qgis python3-qgis qgis-plugin-grass ?

or install newer Qt version from here https://launchpad.net/~beineri/+archive/ubuntu/opt-qt-5.14.2-bionic which installs in /opt, but then point qgis to this newer Qt? How does one point qgis to a different Qt installation?

Again apologies for asking here... I didn't find a coherent explanation elsewhere

Tnx!

@gioman
Copy link
Contributor

gioman commented Nov 17, 2020

apologize in advance for asking here, but how do I fix this issue?

@gastgit you compile the code with the fix or you wait the next round of minor/point releases (pr also you stick with the LTR version, 3.10).

@gastgit
Copy link

gastgit commented Nov 17, 2020

Tnx @gioman
When I try to use the sources:
deb https://qgis.org/ubuntu-ltr bionic main
deb-src https://qgis.org/ubuntu-ltr bionic main

I have a whole host of broken dependencies.
When I add
deb https://qgis.org/ubuntugis/ bionic main
deb-src https://qgis.org/ubuntugis/ bionic main

Installation goes smoothly but it installs 3.16. How can I install 3.10 ?
Tx

@jef-n
Copy link
Member

jef-n commented Nov 18, 2020

Installation goes smoothly but it installs 3.16. How can I install 3.10 ?

Install from http://qgis.org/ubuntugis-ltr, if you updated packages from ubuntugis and want to keep them or downgrade back to the vanilla ubuntu versions and use ubuntu-ltr.

@gastgit
Copy link

gastgit commented Nov 18, 2020

Tnx @jef-n for your assistance
I replaced
deb https://qgis.org/ubuntugis bionic main
deb-src https://qgis.org/ubuntugis bionic main

with

deb https://qgis.org/ubuntugis-ltr bionic main
deb-src https://qgis.org/ubuntugis-ltr bionic main

and still got broken dependencies that did not show up when I was able to install the 3.16 version with http://qgis.org/ubuntugis/

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 High Priority Regression Something which used to work, but doesn't anymore
Projects
None yet
Development

Successfully merging a pull request may close this issue.