qgis / QGIS

QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
https://qgis.org
GNU General Public License v2.0
10.68k stars 3.02k forks source link

QGIS crash showing raster symbology in layer properties #39693

Closed luipir closed 4 years ago

luipir commented 4 years ago

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 43b64b13f3
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

elpaso commented 4 years ago

Works for me on master.

nirvn commented 4 years ago

Could it be a Qt 5.9 specific issue?

gioman commented 4 years ago

@luipir duplicate of https://github.com/qgis/QGIS/issues/39628 ?

Antoviscomi commented 4 years ago

Could it be a Qt 5.9 specific issue?

I have QT5.11.2 and look at #39692

gioman commented 4 years ago

I have QT5.11.2 and look at #39692

@Antoviscomi cannot replicate that.

Antoviscomi commented 4 years ago

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 commented 4 years ago

I put my bets on the outdated QT.

PedroVenancio commented 4 years ago

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 commented 4 years ago

but not everytime

@PedroVenancio can you test a new QGIS profile?

PedroVenancio commented 4 years ago

@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 commented 4 years ago

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 https://github.com/qgis/QGIS/issues/39692 (?).

PedroVenancio commented 4 years ago

@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 commented 4 years ago

@PedroVenancio i've the crash in the same codeline

luipir commented 4 years ago

@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 commented 4 years ago

@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 commented 4 years ago

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 commented 4 years ago

Could someone check if the bug occurs before the latest translation at https://github.com/qgis/QGIS/commit/a759ca227176f336fde7a2c2fe340d5c3626ee4c 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 commented 4 years ago

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

PedroVenancio commented 4 years ago

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

elpaso commented 4 years ago

I did have a look but couldn't reproduce.

roya0045 commented 4 years ago

Is everyone using Italian or spanish translation?

PedroVenancio commented 4 years ago

Is everyone using Italian or spanish translation?

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

bellanz80 commented 4 years ago

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

image

luipir commented 4 years ago

@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(QFlags) () 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(QFlags) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

70 0x00007ffff158590a in QEventLoop::exec(QFlags) () 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 commented 4 years ago

Is everyone using Italian or spanish translation?

no, I'm using a compiled version with english translation

luipir commented 4 years ago

passed parameters to the call QgsCollapsibleGroupBoxBasic::updateStyle() (this=0x555558a708e0) at ../src/gui/qgscollapsiblegroupbox.cpp:386 are correct This part of code is executed variius times, from loading the layer and when opening properties... crash happen when this call belongs to a this->mColorRenderingGrpBox where probably have to be look for the issue.

luipir commented 4 years ago

Removing the applied style crash does not happen => something seems related with applying style QString ss; if ( QApplication::style()->objectName().contains( QLatin1String( "macintosh" ) ) ) { ss += QLatin1String( "QgsCollapsibleGroupBoxBasic, QgsCollapsibleGroupBox {" ); ss += QStringLiteral( " margin-top: %1px;" ).arg( topBuffer + rectFrame.top() ); ss += '}'; } ss += QLatin1String( "QgsCollapsibleGroupBoxBasic::title, QgsCollapsibleGroupBox::title {" ); ss += QLatin1String( " subcontrol-origin: margin;" ); ss += QLatin1String( " subcontrol-position: top left;" ); ss += QStringLiteral( " margin-left: %1px;" ).arg( marginLeft ); ss += QStringLiteral( " margin-right: %1px;" ).arg( marginRight ); ss += QStringLiteral( " left: %1px;" ).arg( offsetLeft ); ss += QStringLiteral( " top: %1px;" ).arg( offsetTop ); if ( QApplication::style()->objectName().contains( QLatin1String( "macintosh" ) ) ) { ss += QLatin1String( " background-color: rgba(0,0,0,0)" ); } ss += '}'; to the widget

slarosa commented 4 years ago

Removing the applied style crash does not happen => something seems related with applying style QString ss; if ( QApplication::style()->objectName().contains( QLatin1String( "macintosh" ) ) ) { ss += QLatin1String( "QgsCollapsibleGroupBoxBasic, QgsCollapsibleGroupBox {" ); ss += QStringLiteral( " margin-top: %1px;" ).arg( topBuffer + rectFrame.top() ); ss += '}'; } ss += QLatin1String( "QgsCollapsibleGroupBoxBasic::title, QgsCollapsibleGroupBox::title {" ); ss += QLatin1String( " subcontrol-origin: margin;" ); ss += QLatin1String( " subcontrol-position: top left;" ); ss += QStringLiteral( " margin-left: %1px;" ).arg( marginLeft ); ss += QStringLiteral( " margin-right: %1px;" ).arg( marginRight ); ss += QStringLiteral( " left: %1px;" ).arg( offsetLeft ); ss += QStringLiteral( " top: %1px;" ).arg( offsetTop ); if ( QApplication::style()->objectName().contains( QLatin1String( "macintosh" ) ) ) { ss += QLatin1String( " background-color: rgba(0,0,0,0)" ); } ss += '}'; to the widget

and Qt version is 5.9.5?

slarosa commented 4 years ago

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

@bellanz80 Which Qt version?

PedroVenancio commented 4 years ago

and Qt version is 5.9.5?

@slarosa I'm with 5.11.2

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/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.29.0 Running against SQLite 3.29.0
PostgreSQL Client Version 11.5 SpatiaLite Version 4.3.0
QWT Version 6.1.3 QScintilla2 Version 2.10.8
Compiled against PROJ 6.3.2 Running against PROJ Rel. 6.3.2, May 1st, 2020
OS Version Windows 10 (10.0)
luipir commented 4 years ago

with valgrind crash does not happen, btw there are many report of invalid read as: ==29285== Invalid read of size 8 ==29285== at 0xB45C69B: QMetaObject::cast(QObject const) const (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.9.5) ==29285== by 0xA44C132: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.9.5) ==29285== by 0xA40FA2E: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.9.5) ==29285== by 0xA40FB57: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.9.5) ==29285== by 0x6E31852: QgsCollapsibleGroupBoxBasic::updateStyle() (qgscollapsiblegroupbox.cpp:386) ==29285== by 0x6E2FA2F: QgsCollapsibleGroupBoxBasic::showEvent(QShowEvent) (qgscollapsiblegroupbox.cpp:112) ==29285== by 0x6E3284E: QgsCollapsibleGroupBox::showEvent(QShowEvent) (qgscollapsiblegroupbox.cpp:560) ==29285== by 0xA3AC047: QWidget::event(QEvent) (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.9.5) ==29285== by 0xA4A270A: QGroupBox::event(QEvent) (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.9.5) ==29285== by 0xA36D83B: QApplicationPrivate::notify_helper(QObject, QEvent) (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.9.5) ==29285== by 0xA375103: QApplication::notify(QObject, QEvent) (in /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.9.5) ==29285== by 0x86CA10A: QgsApplication::notify(QObject, QEvent*) (qgsapplication.cpp:458)

could be the same nature of instability as in https://github.com/qgis/QGIS/pull/6301 ?

bellanz80 commented 4 years ago

@bellanz80 Which Qt version?

QGIS version 3.16.0-Hannover
Compiled against Qt 5.11.2
luipir commented 4 years ago

hmmmm... seems the workflow followed in issue #39775 is different! "Duplicated raster LiDAR layer; renamed duplicate layer; moved original layer below duplicate - crash!" e.g. the crash happen in the same codeline of this issue, but applying to a different GUI where a collapsible stuff is used.

msevilla00 commented 4 years ago

Same problem for my even when I try to open Settings>Options (to paste here the info of my configuration).

luipir commented 4 years ago

Same problem for my even when I try to open Settings>Options (to paste here the info of my configuration).

confirmed that the crash happen in the same code line... mee too! btw configuration is from Help->about

in this case the parent of the collapsible is "groupBox"

msevilla00 commented 4 years ago

Here I attached my configuration

About QGIS - 64 Bit — About_632

gioman commented 4 years ago

Shouldn't this issue trigger a project emergency bug fix and new release?

Antoviscomi commented 4 years ago

I don'know if it help you... but on LTR with the same default profile and configuration (the same QGIS.ini, the same QT version which cause crash in 3.16 an Master for me) I dont Have crash until 35 double clicks

Anonimo

Bernd-Vogelgesang commented 4 years ago

Opening properties of WMS, XYZ leads to crash

QGIS-Version 3.16.0-Hannover QGIS-Codeversion 43b64b13f3
Kompiliert gegen Qt 5.9.5 Laufendes Qt 5.9.5
Kompiliert mit GDAL/OGR 3.0.4 Läuft mit GDAL/OGR 3.0.4
Kompiliert mit GEOS 3.8.0-CAPI-1.13.1 Läuft mit GEOS 3.8.0-CAPI-1.13.1
Kompiliert mit SQLite 3.22.0 Läuft mit SQLite 3.22.0
PostgreSQL-Client-Version 10.14 (Ubuntu 10.14-0ubuntu0.18.04.1) SpatiaLite-Version 4.3.0a
QWT-Version 6.1.3 QScintilla2-Version 2.10.2
Kompiliert mit PROJ 7.0.0 Läuft mit PROJ Rel. 7.0.0, March 1st, 2020
BS-Version Linux Mint 19.3
Aktive Python-Erweiterungen quick_map_services; MetaSearch; db_manager; processing

My cases: Old profile language set to english on german OS: Double click on properties immedeately crashes QGIS New profile german on german: It is possible to open the properties, but on first attempt to change anything there -> Crash

Terminal output on crash:

QGIS died on signal 11Could not attach to process.  If your uid matches the uid of the target
process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user.  For more details, see /etc/sysctl.d/10-ptrace.conf
ptrace: Vorgang nicht zulässig.
No thread selected
No stack.
gdb returned 0
Abgebrochen (Speicherabzug geschrieben)

Tested with old and brand new projects on both profiles

bellanz80 commented 4 years ago

I don'know if it help you... but on LTR with the same default profile and configuration (the same QGIS.ini, the same QT version which cause crash in 3.16 an Master for me) I dont Have crash until 35 double clicks

Anonimo

Hi. I confirm. With the same equipment of my previous point, QGIS profile (new or old) and the same plugs, in QGIS 3.10.11A, I have no problem. But, not with 3.14.0 either it's only with 3.16.

rnanclares commented 4 years ago

Hi there. I have tested in two different OS so far and i couldn't reproduce the bug. photo_2020-11-04_08-48-39 2020-11-04_10-48

gioman commented 4 years ago

Hi there. I have tested in two different OS so far and i couldn't reproduce the bug.

QGIS 3.16 compiled with recent dependencies on Linux seems not affected. It is if compiled with old dependencies and also seems Windows is affected.

msevilla00 commented 4 years ago

Well, it seems it's related with the Qt version. I run a personal docker container based on Ubuntu 20.04 (Qt 5.12) and looks that all it's Ok.

Here the configuration:

About QGIS - 64 Bit — About_635

Dockerfile and some notes (in Spanish I'm afraid) in my gitlab repository.

roya0045 commented 4 years ago

This confirms that forcing QT to be at least 5.12 should improve those type of issues.

Antoviscomi commented 4 years ago

Hi all, on Debian Buster with QT 5.11.3 this issues seems disappeared until 30 double click

Schermata del 2020-11-05 18-52-01

luipir commented 4 years ago

This confirms that forcing QT to be at least 5.12 should improve those type of issues.

FYI I tried to compile 3.14.15 version in the same library ecosystem and does not generate the issue => seems some side effect of some commit I'm looking for.

nyalldawson commented 4 years ago

@luipir when you get the crash under gdb, are you able to determine the object name of the group box instance which is causing the crash?

luipir commented 4 years ago

@luipir when you get the crash under gdb, are you able to determine the object name of the group box instance which is causing the crash?

yes, I aready wrote in this tread... and seems happen in different object, so I suppose it does not (strictly?) depend on this...

luipir commented 4 years ago

crash happen applying some commit between 7854c61189 and 8a8fd55611 ... looking for it

roya0045 commented 4 years ago

Is the standalone installer coming with the outdated QT or is this only the osgeo install? I assume its only the osgeo one.