Bug report #20203

Crash when opening attribute table in form mode (potentially related to relation reference widgets)

Added by Andreas Neumann about 6 years ago. Updated over 5 years ago.

Status:Open
Priority:High
Assignee:Matthias Kuhn
Category:Forms
Affected QGIS version:3.4.5 Regression?:Yes
Operating System:Windows Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:Yes Copied to github as #:28024

Description

To replicate this issue you need the "EWS" project of Kanton Zug. It contains a complex form in the layer "EWS Anlage".

If you open the attribute table in form mode (Setting --> Options --> Data Sources --> Default view: Form view), QGIS crashes. It first displays numeric values in the relation reference widgets and then crashes just before it would (most likely) display the text representations of the relation reference widgets.

Stacktrace is below:

Crash ID: 0f456c400f5ba69fabe2acc635d234b2b6b1ae50

Stack Trace

QBitArray::QBitArray :
QgsPostgresConn::connInfo qgspostgresconn.h:317
qgsConnectionPool_ConnectionToName qgspostgresconnpool.h:25
QgsConnectionPool::releaseConnection qgsconnectionpool.h:310
QgsPostgresFeatureIterator::close qgspostgresfeatureiterator.cpp:412
QgsFeatureIterator::close qgsfeatureiterator.h:391
QgsVectorLayerFeatureIterator::close qgsvectorlayerfeatureiterator.cpp:405
QgsVectorLayerFeatureIterator::~QgsVectorLayerFeatureIterator qgsvectorlayerfeatureiterator.cpp:276
QgsVectorLayerFeatureIterator::`vector deleting destructor' :
QgsAbstractFeatureIterator::deref qgsfeatureiterator.cpp:147
QgsFeatureIterator::~QgsFeatureIterator qgsfeatureiterator.h:370
QgsFieldExpressionValuesGatherer::~QgsFieldExpressionValuesGatherer :
QgsFieldExpressionValuesGatherer::`scalar deleting destructor' :
QgsFeatureFilterModel::gathererThreadFinished qgsfeaturefiltermodel.cpp:310
QtPrivate::FunctorCall,QtPrivate::List,void,void (__cdecl QgsFeatureFilterModel::*)(void) __ptr64>::call qobjectdefs_impl.h:134
QtPrivate::FunctionPointer::call,void> qobjectdefs_impl.h:168
QtPrivate::QSlotObject,void>::impl qobjectdefs_impl.h:397
QMetaCallEvent::placeMetaCall :
QObject::event :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:355
QCoreApplication::notifyInternal2 :
QCoreApplicationPrivate::sendPostedEvents :
qt_plugin_query_metadata :
QEventDispatcherWin32::processEvents :
TranslateMessageEx :
TranslateMessage :
QEventDispatcherWin32::processEvents :
qt_plugin_query_metadata :
QEventLoop::exec :
QCoreApplication::exec :
main main.cpp:1505
WinMain mainwin.cpp:170
__scrt_common_main_seh exe_common.inl:253
BaseThreadInitThunk :
RtlUserThreadStart :

QGIS Info
QGIS Version: 3.3.0-Master
QGIS code revision: 17f30f5762
Compiled against Qt: 5.11.2
Running against Qt: 5.11.2
Compiled against GDAL: 2.3.2
Running against GDAL: 2.3.2

System Info
CPU Type: x86_64
Kernel Type: winnt
Kernel Version: 6.1.7601

2018-10-24_11-34-13.mp4 - Video showing the behavior (4.95 MB) Andreas Neumann, 2018-10-24 11:34 AM

History

#1 Updated by Andreas Neumann about 6 years ago

So far, I only tested on Windows 7, where the database is on a separate server somewhere in the LAN (with latency), not on the same machine that is running QGIS.

Will do tests on Linux with local PostgreSQL installation and report back.

#2 Updated by Andreas Neumann about 6 years ago

More info:

If one opens the table first in "table mode" and then later switches to "form mode", the crash is not happening.

#4 Updated by Andreas Neumann about 6 years ago

New, different stackt trace:

Crash ID: 4760e0e29fb16fe82be9e65811f9f36cc283f4e7

Stack Trace

QVector::QVector qvector.h:358
QgsFieldExpressionValuesGatherer::entries qgsfeaturefiltermodel_p.h:82
QgsFeatureFilterModel::updateCompleter qgsfeaturefiltermodel.cpp:195
QtPrivate::FunctorCall,QtPrivate::List,void,void (__cdecl QgsFeatureFilterModel::*)(void) __ptr64>::call qobjectdefs_impl.h:134
QtPrivate::FunctionPointer::call,void> qobjectdefs_impl.h:168
QtPrivate::QSlotObject,void>::impl qobjectdefs_impl.h:397
QMetaCallEvent::placeMetaCall :
QObject::event :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:355
QCoreApplication::notifyInternal2 :
QCoreApplicationPrivate::sendPostedEvents :
qt_plugin_query_metadata :
QEventDispatcherWin32::processEvents :
TranslateMessageEx :
TranslateMessage :
QEventDispatcherWin32::processEvents :
qt_plugin_query_metadata :
QEventLoop::exec :
QCoreApplication::exec :
main main.cpp:1505
WinMain mainwin.cpp:170
__scrt_common_main_seh exe_common.inl:253
BaseThreadInitThunk :
RtlUserThreadStart :

QGIS Info
QGIS Version: 3.3.0-Master
QGIS code revision: 17f30f5762
Compiled against Qt: 5.11.2
Running against Qt: 5.11.2
Compiled against GDAL: 2.3.2
Running against GDAL: 2.3.2

System Info
CPU Type: x86_64
Kernel Type: winnt
Kernel Version: 6.1.7601

#5 Updated by Giovanni Manghi about 6 years ago

  • Status changed from Open to Feedback

Please try on QGIS 3.4.1, if the issue is still valid change the affected version, thanks.

#6 Updated by Jürgen Fischer over 5 years ago

  • Status changed from Feedback to Closed
  • Resolution set to no timely feedback

Bulk closing 82 tickets in feedback state for more than 90 days affecting an old version. Feel free to reopen if it still applies to a current version and you have more information that clarify the issue.

#7 Updated by Andreas Neumann over 5 years ago

  • Status changed from Closed to Open
  • Operating System changed from any to Windows

Unfortunately, this problem is still appearing. It seems to happen only on Windows, not on Linux.

#8 Updated by Giovanni Manghi over 5 years ago

  • Resolution deleted (no timely feedback)
  • Affected QGIS version changed from 3.3(master) to 3.4.5

Also available in: Atom PDF