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

Open expression dialog crash on windows qt6 build #59003

Open
1 of 2 tasks
nicogodet opened this issue Oct 8, 2024 · 4 comments
Open
1 of 2 tasks

Open expression dialog crash on windows qt6 build #59003

nicogodet opened this issue Oct 8, 2024 · 4 comments
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption qt6

Comments

@nicogodet
Copy link
Member

What is the bug or the crash?

[0x0] qgis_core!QgsLazInfo::parseExtrabyteAttributes+0x651e7 0x1ad04dd088 0x7ff8bc2525c0
[0x1] qgis_core!QgsExpression::initFunctionHelp+0xe0 0x1ad04dd0a0 0x7ff8bc3a7ca3
[0x2] qgis_core!QgsExpression::initFunctionHelp+0x1557c3 0x1ad04dd0b0 0x7ff8bc3a6e03
[0x3] qgis_core!QgsExpression::initFunctionHelp+0x154923 0x1ad04dd0e0 0x7ff8bc252508
[0x4] qgis_core!QgsExpression::initFunctionHelp+0x28 0x1ad04dd130 0x7ff8bad8ec94
[0x5] qgis_core!QgsExpression::tags+0x44 0x1ad04dd170 0x7ff8bf3b5376
[0x6] qgis_gui!QgsExpressionTreeView::updateFunctionTree+0x2896 0x1ad04dd1e0 0x7ff8bf3ad924
[0x7] qgis_gui!QgsExpressionTreeView::QgsExpressionTreeView+0x464 0x1ad04df300 0x7ff8bf3983ef
[0x8] qgis_gui!QgsExpressionBuilderWidget::expressionContextUpdated+0x99bf 0x1ad04df4a0 0x7ff8bf381bcf
[0x9] qgis_gui!QgsExpressionBuilderWidget::QgsExpressionBuilderWidget+0x1bf 0x1ad04e1e20 0x7ff8bf3810b2
[0xa] qgis_gui!QgsExpressionBuilderDialog::syncOkButtonEnabledState+0x812 0x1ad04e3360 0x7ff8bf37fb9f
[0xb] qgis_gui!QgsExpressionBuilderDialog::QgsExpressionBuilderDialog+0xdf 0x1ad04e36d0 0x7ff895c8e5e6

Don't know how to show exact line instead of offset...

Steps to reproduce the issue

Install qgis-qt6-dev through OSGeo4W
Debug with winDbg

  1. open any alg in batch mode
  2. for output path "Compute with expression"
  3. Crash

Versions

Version de QGIS3.39.0-Master
Révision du code699c004a5d
 
Libraries
Version de Qt6.6.3
Version de Python3.12.6
Version de GDAL/OGR3.10.0dev-417845e129 (Compiled)
3.10.0dev-46ad0f1fd1 (Running)
Version de Proj9.4.0
Version de la base de données du registre EPSGv11.004 (2024-02-24)
Version de GEOS3.12.2-CAPI-1.18.2
Version de SQLite3.45.1
Version de PDAL2.6.3
Version du client PostgreSQL16.2
Version de SpatiaLite5.1.0
Version de QWT6.2.0
Version de QScintilla22.14.1
Version de l'OSWindows 10 Version 22H2
Cette copie de QGIS dispose d'une sortie de débogage.
 
Extensions Python actives
db_manager0.1.20
grassprovider2.12.99
MetaSearch0.3.6
processing2.12.99

Supported QGIS version

  • I'm running a supported QGIS version according to the roadmap.

New profile

Additional context

No response

@nicogodet nicogodet added Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption labels Oct 8, 2024
@nicogodet
Copy link
Member Author

QGIS crash handler stack trace

Report Details

Python Stack Trace

Windows fatal exception: stack overflow

Current thread 0x000043dc (most recent call first):
  File "C:\OSGeo4W/apps/qgis-qt6-dev/./python/plugins\processing\gui\BatchPanel.py", line 394 in populateByExpression
    dlg = QgsExpressionBuilderDialog(layer=None, context=context.expressionContext())
  File "C:\OSGeo4W/apps/qgis-qt6-dev/./python/plugins\processing\gui\BatchPanel.py", line 358 in calculateByExpression
    self.populateByExpression(adding=False)
  File "C:\OSGeo4W/apps/qgis-qt6-dev/./python/plugins\processing\gui\AlgorithmDialog.py", line 99 in runAsBatch
    dlg.exec()
  File "C:\OSGeo4W/apps/qgis-qt6-dev/./python/plugins\processing\gui\AlgorithmLocatorFilter.py", line 122 in triggerResult
    dlg.exec()

Stack Trace


__chkstk chkstk.asm:109
`QgsExpression::initFunctionHelp'::`2'::<lambda_1>::operator() qgsexpression_texts.cpp:9
std::invoke<`QgsExpression::initFunctionHelp'::`2'::<lambda_1> > type_traits:1732
std::call_once<`QgsExpression::initFunctionHelp'::`2'::<lambda_1> > xcall_once.h:113
QgsExpression::initFunctionHelp qgsexpression_texts.cpp:8248
QgsExpression::tags qgsexpression.cpp:706
QgsExpressionTreeView::updateFunctionTree qgsexpressiontreeview.cpp:291
QgsExpressionTreeView::QgsExpressionTreeView qgsexpressiontreeview.cpp:129
Ui_QgsExpressionBuilderWidgetBase::setupUi ui_qgsexpressionbuilder.h:370
QgsExpressionBuilderWidget::QgsExpressionBuilderWidget qgsexpressionbuilderwidget.cpp:78
Ui_QgsExpressionBuilderDialogBase::setupUi ui_qgsexpressionbuilderdialogbase.h:37
QgsExpressionBuilderDialog::QgsExpressionBuilderDialog qgsexpressionbuilderdialog.cpp:28
sipQgsExpressionBuilderDialog::sipQgsExpressionBuilderDialog sip_guipart21.cpp:107352
init_type_QgsExpressionBuilderDialog sip_guipart21.cpp:111516
PyInit_sip :
PyObject_Vectorcall :
PyObject_Vectorcall :
PyEval_EvalFrameDefault :
PyFunction_Vectorcall :
PyArg_CheckPositional :
PyObject_Call :
PyObject_Call :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
QMetaObject::metacall :
QObject::qt_static_metacall :
QMetaObject::activate :
QAction::activate :
QMenu::actionGeometry :
QMenu::actionGeometry :
QMenu::mouseReleaseEvent :
PyInit_QtWidgets :
QWidget::event :
PyInit_QtWidgets :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:627
QCoreApplication::notifyInternal2 :
QApplicationPrivate::sendMouseEvent :
QWidgetRepaintManager::updateStaticContentsSize :
QWidgetRepaintManager::updateStaticContentsSize :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:627
QCoreApplication::notifyInternal2 :
QGuiApplicationPrivate::processMouseEvent :
QWindowSystemInterface::sendWindowSystemEvents :
QEventDispatcherWin32::processEvents :
QWindowsGuiEventDispatcher::processEvents :
QEventLoop::exec :
QMenu::exec :
QToolButton::popupMode :
QToolButton::showMenu :
QObject::qt_static_metacall :
QMetaObject::activate :
QAbstractButton::clicked :
QAbstractButton::mousePressEvent :
QToolButton::mousePressEvent :
PyInit_QtWidgets :
QWidget::event :
PyInit_QtWidgets :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:627
QCoreApplication::notifyInternal2 :
QApplicationPrivate::sendMouseEvent :
QWidgetRepaintManager::updateStaticContentsSize :
QWidgetRepaintManager::updateStaticContentsSize :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:627
QCoreApplication::notifyInternal2 :
QGuiApplicationPrivate::processMouseEvent :
QWindowSystemInterface::sendWindowSystemEvents :
QEventDispatcherWin32::processEvents :
QWindowsGuiEventDispatcher::processEvents :
QEventLoop::exec :
QDialog::exec :
PyInit_QtWidgets :
PyLong_FromString :
PyObject_Vectorcall :
PyObject_Vectorcall :
PyEval_EvalFrameDefault :
PyFunction_Vectorcall :
PyArg_CheckPositional :
PyObject_Call :
PyObject_Call :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
QMetaObject::metacall :
QObject::qt_static_metacall :
QMetaObject::activate :
QAbstractButton::clicked :
QAbstractButton::click :
QAbstractButton::mouseReleaseEvent :
PyInit_QtWidgets :
QWidget::event :
PyInit_QtWidgets :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:627
QCoreApplication::notifyInternal2 :
QApplicationPrivate::sendMouseEvent :
QWidgetRepaintManager::updateStaticContentsSize :
QWidgetRepaintManager::updateStaticContentsSize :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:627
QCoreApplication::notifyInternal2 :
QGuiApplicationPrivate::processMouseEvent :
QWindowSystemInterface::sendWindowSystemEvents :
QEventDispatcherWin32::processEvents :
QWindowsGuiEventDispatcher::processEvents :
QEventLoop::exec :
QDialog::exec :
PyInit_QtWidgets :
PyLong_FromString :
PyObject_Vectorcall :
PyObject_Vectorcall :
PyEval_EvalFrameDefault :
PyFunction_Vectorcall :
PyArg_CheckPositional :
PyObject_Call :
PyObject_Call :
PyInit_sip :
PyInit_sip :
sipVH__core_462 sip_corepart0.cpp:26953
sipQgsLocatorFilter::triggerResult sip_corepart17.cpp:17241
QgsLocatorModelBridge::triggerResult qgslocatormodelbridge.cpp:52
QgsLocatorWidget::acceptCurrentEntry qgslocatorwidget.cpp:375
QtPrivate::FunctorCall<QtPrivate::IndexesList<>,QtPrivate::List<>,void,void (__cdecl QgsActionMenu::*)(void)>::call qobjectdefs_impl.h:145
QtPrivate::FunctionPointer<void (__cdecl QgsActionMenu::*)(void)>::call<QtPrivate::List<>,void> qobjectdefs_impl.h:183
QtPrivate::QCallableObject<void (__cdecl QgsActionMenu::*)(void),QtPrivate::List<>,void>::impl qobjectdefs_impl.h:523
QObject::qt_static_metacall :
QMetaObject::activate :
QAbstractItemView::activated :
QTreeView::mouseDoubleClickEvent :
QWidget::event :
QFrame::event :
QAbstractItemView::viewportEvent :
QCoreApplicationPrivate::sendThroughObjectEventFilters :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:627
QCoreApplication::notifyInternal2 :
QApplicationPrivate::sendMouseEvent :
QWidgetRepaintManager::updateStaticContentsSize :
QWidgetRepaintManager::updateStaticContentsSize :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify qgsapplication.cpp:627
QCoreApplication::notifyInternal2 :
QGuiApplicationPrivate::processMouseEvent :
QWindowSystemInterface::sendWindowSystemEvents :
QEventDispatcherWin32::processEvents :
QWindowsGuiEventDispatcher::processEvents :
QEventLoop::exec :
QCoreApplication::exec :
main main.cpp:1845
WinMain mainwin.cpp:214
__scrt_common_main_seh exe_common.inl:288
BaseThreadInitThunk :
RtlUserThreadStart :

QGIS Info
QGIS Version: 3.39.0-Master
QGIS code revision: c17d7a1
Compiled against Qt: 6.6.3
Running against Qt: 6.6.3
Compiled against GDAL: 3.11.0dev-a97bee835b
Running against GDAL: 3.11.0dev-a8117d90bf

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

@nicogodet
Copy link
Member Author

still valid in Master d1de257

@nicogodet
Copy link
Member Author

No more crash with Windows Qt6 build from af5edcb

Qt upgrade seems to be benefic

@nicogodet nicogodet added the qt6 label Jan 9, 2025
@nicogodet
Copy link
Member Author

nicogodet commented Jan 31, 2025

Report Details

Python Stack Trace

Windows fatal exception: stack overflow

Current thread 0x00003640 (most recent call first):
  File "C:\OSGeo4W/apps/qgis-qt6/./python/plugins\processing\gui\BatchPanel.py", line 454 in populateByExpression
    dlg = QgsExpressionBuilderDialog(
  File "C:\OSGeo4W/apps/qgis-qt6/./python/plugins\processing\gui\BatchPanel.py", line 416 in calculateByExpression
    self.populateByExpression(adding=False)
  File "C:\OSGeo4W/apps/qgis-qt6/./python/plugins\processing\gui\AlgorithmDialog.py", line 116 in runAsBatch
    dlg.exec()
  File "C:\OSGeo4W/apps/qgis-qt6/./python/plugins\processing\ProcessingPlugin.py", line 509 in executeAlgorithm
    dlg.exec()
  File "C:\OSGeo4W/apps/qgis-qt6/./python/plugins\processing\gui\ProcessingToolbox.py", line 272 in executeAlgorithm
    self.executeWithGui.emit(alg.id(), self, self.in_place_mode, False)

Stack Trace


QgsLazInfo::vlrData :
QgsXyzVectorTileDataProviderBase::tileRequests :
QgsExpression::initFunctionHelp :
QgsExpression::tags :
QgsExpressionTreeView::updateFunctionTree :
QgsExpressionTreeView::QgsExpressionTreeView :
QgsExpressionBuilderWidget::setProject :
QgsExpressionBuilderWidget::QgsExpressionBuilderWidget :
QgsExpressionBuilderDialog::setGeomCalculator :
QgsExpressionBuilderDialog::QgsExpressionBuilderDialog :
QgsPresetSchemeColorRamp::clone :
PyInit_sip :
PyObject_Vectorcall :
PyObject_Vectorcall :
PyEval_EvalFrameDefault :
PyFunction_Vectorcall :
PyArg_CheckPositional :
PyObject_Call :
PyObject_Call :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
QMetaObject::metacall :
QObject::qt_static_metacall :
QMetaObject::activate :
QAction::activate :
QMenu::actionGeometry :
QMenu::actionGeometry :
QMenu::mouseReleaseEvent :
PyInit_QtWidgets :
QWidget::event :
PyInit_QtWidgets :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify :
QCoreApplication::notifyInternal2 :
QApplicationPrivate::sendMouseEvent :
QWidgetRepaintManager::updateStaticContentsSize :
QWidgetRepaintManager::updateStaticContentsSize :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify :
QCoreApplication::notifyInternal2 :
QGuiApplicationPrivate::processMouseEvent :
QWindowSystemInterface::sendWindowSystemEvents :
QEventDispatcherWin32::processEvents :
QWindowsGuiEventDispatcher::processEvents :
QEventLoop::exec :
QMenu::exec :
QToolButton::popupMode :
QToolButton::showMenu :
QToolButton::nextCheckState :
QObject::qt_static_metacall :
QMetaObject::activate :
QAbstractButton::clicked :
QAbstractButton::mousePressEvent :
QToolButton::mousePressEvent :
PyInit_QtWidgets :
QWidget::event :
PyInit_QtWidgets :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify :
QCoreApplication::notifyInternal2 :
QApplicationPrivate::sendMouseEvent :
QWidgetRepaintManager::updateStaticContentsSize :
QWidgetRepaintManager::updateStaticContentsSize :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify :
QCoreApplication::notifyInternal2 :
QGuiApplicationPrivate::processMouseEvent :
QWindowSystemInterface::sendWindowSystemEvents :
QEventDispatcherWin32::processEvents :
QWindowsGuiEventDispatcher::processEvents :
QEventLoop::exec :
QDialog::exec :
PyInit_QtWidgets :
PyLong_FromString :
PyObject_Vectorcall :
PyObject_Vectorcall :
PyEval_EvalFrameDefault :
PyFunction_Vectorcall :
PyArg_CheckPositional :
PyObject_Call :
PyObject_Call :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
QMetaObject::metacall :
QObject::qt_static_metacall :
QMetaObject::activate :
QAbstractButton::clicked :
QAbstractButton::click :
QAbstractButton::mouseReleaseEvent :
PyInit_QtWidgets :
QWidget::event :
PyInit_QtWidgets :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify :
QCoreApplication::notifyInternal2 :
QApplicationPrivate::sendMouseEvent :
QWidgetRepaintManager::updateStaticContentsSize :
QWidgetRepaintManager::updateStaticContentsSize :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify :
QCoreApplication::notifyInternal2 :
QGuiApplicationPrivate::processMouseEvent :
QWindowSystemInterface::sendWindowSystemEvents :
QEventDispatcherWin32::processEvents :
QWindowsGuiEventDispatcher::processEvents :
QEventLoop::exec :
QDialog::exec :
PyInit_QtWidgets :
PyLong_FromString :
PyObject_Vectorcall :
PyObject_Vectorcall :
PyEval_EvalFrameDefault :
PyFunction_Vectorcall :
PyArg_CheckPositional :
PyObject_Call :
PyObject_Call :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
QMetaObject::metacall :
QObject::qt_static_metacall :
QMetaObject::activate :
PyInit_QtCore :
PyInit_QtCore :
PyObject_Vectorcall :
PyObject_Vectorcall :
PyEval_EvalFrameDefault :
PyFunction_Vectorcall :
PyArg_CheckPositional :
PyObject_Call :
PyObject_Call :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
PyInit_QtCore :
QMetaObject::metacall :
QObject::qt_static_metacall :
QMetaObject::activate :
QAbstractItemView::doubleClicked :
QTreeView::mouseDoubleClickEvent :
PyInit__gui :
QWidget::event :
QFrame::event :
QAbstractItemView::viewportEvent :
PyInit__gui :
QCoreApplicationPrivate::sendThroughObjectEventFilters :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify :
QCoreApplication::notifyInternal2 :
QApplicationPrivate::sendMouseEvent :
QWidgetRepaintManager::updateStaticContentsSize :
QWidgetRepaintManager::updateStaticContentsSize :
QApplicationPrivate::notify_helper :
QApplication::notify :
QgsApplication::notify :
QCoreApplication::notifyInternal2 :
QGuiApplicationPrivate::processMouseEvent :
QWindowSystemInterface::sendWindowSystemEvents :
QEventDispatcherWin32::processEvents :
QWindowsGuiEventDispatcher::processEvents :
QEventLoop::exec :
QCoreApplication::exec :
main :

QGIS Info
QGIS Version: 3.40.3-Bratislava
QGIS code revision: 2a274ab
Compiled against Qt: 6.8.1
Running against Qt: 6.8.1
Compiled against GDAL: 3.10.1
Running against GDAL: 3.10.1

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

Still happen with Qgis 3.40.3 Qt6 from OSGeo4W

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 qt6
Projects
None yet
Development

No branches or pull requests

1 participant