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 closing #7283

Closed
kriben opened this issue Jan 25, 2021 · 2 comments · Fixed by #7287
Closed

Crash when closing #7283

kriben opened this issue Jan 25, 2021 · 2 comments · Fixed by #7287
Assignees

Comments

@kriben
Copy link
Collaborator

kriben commented Jan 25, 2021

Steps to reproduce:

  1. Load Norne case.
  2. Close ResInsight from using File menu (don't save).

Expect results:
Application should close cleanly.

Actual results:
Crash.

@kriben kriben self-assigned this Jan 25, 2021
@kriben
Copy link
Collaborator Author

kriben commented Jan 25, 2021

Seen on centos 7.

@kriben
Copy link
Collaborator Author

kriben commented Jan 25, 2021

Valgrind output:
==31544== Invalid read of size 1
==31544== at 0x1FEBBDA: caf::PdmFieldHandle::~PdmFieldHandle() (cafPdmFieldHandle.cpp:54)
==31544== by 0x7AD853: RimOilField::~RimOilField() (RimOilField.cpp:85)
==31544== by 0x7ADA08: RimOilField::~RimOilField() (RimOilField.cpp:87)
==31544== by 0x7C6FF7: caf::PdmChildArrayField<RimOilField*>::deleteAllChildObjects() (cafPdmChildArrayField.inl:164)
==31544== by 0x7C220A: RimProject::close() (RimProject.cpp:251)
==31544== by 0x54537E: RiaApplication::closeProject() (RiaApplication.cpp:781)
==31544== by 0x553F0C: RiaGuiApplication::onLastWindowClosed() (RiaGuiApplication.cpp:1622)
==31544== by 0x7160BF6: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib64/libQt5Core.so.5.9.7)
==31544== by 0x6B35754: QWindowPrivate::maybeQuitOnLastWindowClosed() (in /usr/lib64/libQt5Gui.so.5.9.7)
==31544== by 0x6B38A80: QWindowPrivate::destroy() (in /usr/lib64/libQt5Gui.so.5.9.7)
==31544== by 0x654E6A6: QWidgetPrivate::deleteTLSysExtra() (in /usr/lib64/libQt5Widgets.so.5.9.7)
==31544== by 0x6553437: QWidget::destroy(bool, bool) (in /usr/lib64/libQt5Widgets.so.5.9.7)
==31544== Address 0x2d9e5398 is 72 bytes inside a block of size 128 free'd
==31544== at 0x4C2AF9D: free (vg_replace_malloc.c:540)
==31544== by 0x6FFD579: QString::operator=(QString const&) (in /usr/lib64/libQt5Core.so.5.9.7)
==31544== by 0x6553FF8: QWidget::setToolTip(QString const&) (in /usr/lib64/libQt5Widgets.so.5.9.7)
==31544== by 0x21F09A0: caf::PdmUiFieldEditorHandle::updateLabelFromField(caf::QShortenedLabel*, QString const&) const (cafPdmUiFieldEditorHandle.cpp:186)
==31544== by 0x200D65B: caf::PdmUiComboBoxEditor::configureAndUpdateUi(QString const&) (cafPdmUiComboBoxEditor.cpp:205)
==31544== by 0x1FF10BA: caf::PdmUiEditorHandle::updateUi(QString const&) (cafPdmUiEditorHandle.cpp:66)
==31544== by 0x20359A7: caf::PdmUiFormLayoutObjectEditor::recursivelyConfigureAndUpdateUiOrderingInGridLayout(caf::PdmUiOrdering const&, QWidget*, QString const&) (cafPdmUiFormLayoutObjectEditor.cpp:276)
==31544== by 0x20356D4: caf::PdmUiFormLayoutObjectEditor::recursivelyAddGroupToGridLayout(caf::PdmUiItem*, QWidget*, QString const&, QGridLayout*, int, int, int) (cafPdmUiFormLayoutObjectEditor.cpp:303)
==31544== by 0x2035A99: caf::PdmUiFormLayoutObjectEditor::recursivelyConfigureAndUpdateUiOrderingInGridLayout(caf::PdmUiOrdering const&, QWidget*, QString const&) (cafPdmUiFormLayoutObjectEditor.cpp:161)
==31544== by 0x15C5655: RicSummaryPlotEditorWidgetCreator::createGroupBoxWithContent(caf::PdmUiGroup*, QString const&) (RicSummaryPlotEditorWidgetCreator.cpp:327)
==31544== by 0x15C577D: RicSummaryPlotEditorWidgetCreator::recursivelyConfigureAndUpdateTopLevelUiOrdering(caf::PdmUiOrdering const&, QString const&) (RicSummaryPlotEditorWidgetCreator.cpp:99)
==31544== by 0x2034460: caf::PdmUiFormLayoutObjectEditor::configureAndUpdateUi(QString const&) (cafPdmUiFormLayoutObjectEditor.cpp:516)
==31544== Block was alloc'd at
==31544== at 0x4C29EA3: malloc (vg_replace_malloc.c:309)
==31544== by 0x6F8F808: QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlagsQArrayData::AllocationOption) (in /usr/lib64/libQt5Core.so.5.9.7)
==31544== by 0x6FFD356: QString::reallocData(unsigned int, bool) (in /usr/lib64/libQt5Core.so.5.9.7)
==31544== by 0x6FFDA73: QString::append(QString const&) (in /usr/lib64/libQt5Core.so.5.9.7)
==31544== by 0x1FF29EF: operator+= (qstring.h:450)
==31544== by 0x1FF29EF: caf::PdmUiItem::uiToolTip(QString const&) const (cafPdmUiItem.cpp:344)
==31544== by 0x21F0995: caf::PdmUiFieldEditorHandle::updateLabelFromField(caf::QShortenedLabel*, QString const&) const (cafPdmUiFieldEditorHandle.cpp:186)
==31544== by 0x200D65B: caf::PdmUiComboBoxEditor::configureAndUpdateUi(QString const&) (cafPdmUiComboBoxEditor.cpp:205)
==31544== by 0x1FF10BA: caf::PdmUiEditorHandle::updateUi(QString const&) (cafPdmUiEditorHandle.cpp:66)
==31544== by 0x20359A7: caf::PdmUiFormLayoutObjectEditor::recursivelyConfigureAndUpdateUiOrderingInGridLayout(caf::PdmUiOrdering const&, QWidget*, QString const&) (cafPdmUiFormLayoutObjectEditor.cpp:276)
==31544== by 0x20356D4: caf::PdmUiFormLayoutObjectEditor::recursivelyAddGroupToGridLayout(caf::PdmUiItem*, QWidget*, QString const&, QGridLayout*, int, int, int) (cafPdmUiFormLayoutObjectEditor.cpp:303)
==31544== by 0x2035A99: caf::PdmUiFormLayoutObjectEditor::recursivelyConfigureAndUpdateUiOrderingInGridLayout(caf::PdmUiOrdering const&, QWidget*, QString const&) (cafPdmUiFormLayoutObjectEditor.cpp:161)
==31544== by 0x15C5655: RicSummaryPlotEditorWidgetCreator::createGroupBoxWithContent(caf::PdmUiGroup*, QString const&) (RicSummaryPlotEditorWidgetCreator.cpp:327)

==31544== Invalid read of size 8
==31544== at 0x1FEBBE8: caf::PdmFieldHandle::~PdmFieldHandle() (cafPdmFieldHandle.cpp:54)
==31544== by 0x7AD853: RimOilField::~RimOilField() (RimOilField.cpp:85)
==31544== by 0x7ADA08: RimOilField::~RimOilField() (RimOilField.cpp:87)
==31544== by 0x7C6FF7: caf::PdmChildArrayField<RimOilField*>::deleteAllChildObjects() (cafPdmChildArrayField.inl:164)
==31544== by 0x7C220A: RimProject::close() (RimProject.cpp:251)
==31544== by 0x54537E: RiaApplication::closeProject() (RiaApplication.cpp:781)
==31544== by 0x553F0C: RiaGuiApplication::onLastWindowClosed() (RiaGuiApplication.cpp:1622)
==31544== by 0x7160BF6: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib64/libQt5Core.so.5.9.7)
==31544== by 0x6B35754: QWindowPrivate::maybeQuitOnLastWindowClosed() (in /usr/lib64/libQt5Gui.so.5.9.7)
==31544== by 0x6B38A80: QWindowPrivate::destroy() (in /usr/lib64/libQt5Gui.so.5.9.7)
==31544== by 0x654E6A6: QWidgetPrivate::deleteTLSysExtra() (in /usr/lib64/libQt5Widgets.so.5.9.7)
==31544== by 0x6553437: QWidget::destroy(bool, bool) (in /usr/lib64/libQt5Widgets.so.5.9.7)
==31544== Address 0x65007000790054 is not stack'd, malloc'd or (recently) free'd
==31544==
==31544==
==31544== Process terminating with default action of signal 11 (SIGSEGV)
==31544== General Protection Fault
==31544== at 0x1FEBBE8: caf::PdmFieldHandle::~PdmFieldHandle() (cafPdmFieldHandle.cpp:54)
==31544== by 0x7AD853: RimOilField::~RimOilField() (RimOilField.cpp:85)
==31544== by 0x7ADA08: RimOilField::~RimOilField() (RimOilField.cpp:87)
==31544== by 0x7C6FF7: caf::PdmChildArrayField<RimOilField*>::deleteAllChildObjects() (cafPdmChildArrayField.inl:164)
==31544== by 0x7C220A: RimProject::close() (RimProject.cpp:251)
==31544== by 0x54537E: RiaApplication::closeProject() (RiaApplication.cpp:781)
==31544== by 0x553F0C: RiaGuiApplication::onLastWindowClosed() (RiaGuiApplication.cpp:1622)
==31544== by 0x7160BF6: QMetaObject::activate(QObject*, int, int, void**) (in /usr/lib64/libQt5Core.so.5.9.7)
==31544== by 0x6B35754: QWindowPrivate::maybeQuitOnLastWindowClosed() (in /usr/lib64/libQt5Gui.so.5.9.7)
==31544== by 0x6B38A80: QWindowPrivate::destroy() (in /usr/lib64/libQt5Gui.so.5.9.7)
==31544== by 0x654E6A6: QWidgetPrivate::deleteTLSysExtra() (in /usr/lib64/libQt5Widgets.so.5.9.7)
==31544== by 0x6553437: QWidget::destroy(bool, bool) (in /usr/lib64/libQt5Widgets.so.5.9.7)

kriben added a commit that referenced this issue Jan 25, 2021
Occasionally QGuiApplication::lastWindowClosed() signal could be sent
more than once.
kriben added a commit that referenced this issue Jan 26, 2021
Occasionally QGuiApplication::lastWindowClosed() signal could be sent
more than once.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant