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.5k stars 2.99k forks source link

Freeze/crash when creating a feature #37496

Closed m-kuhn closed 4 years ago

m-kuhn commented 4 years ago

With QGIS 3.14, freeze when creating a new feature.

CC @3nids

Date/Time:              2020-06-29 17:24:45 +0200
End time:                2020-06-29 17:24:47 +0200
OS Version:            Mac OS X 10.14.6 (Build 18G95)
Architecture:        x86_64h
Report Version:    28

Data Source:          Stackshots
Shared Cache:        0x1116000 D8AE0B2E-800C-3A6A-BD95-9C714AC0DD40
Shared Cache:        0 AC6E14FA-30B1-32AE-9195-0B0BCD8D9EE9

Command:                  QGIS
Path:                        /Applications/QGIS3.14.app/Contents/MacOS/QGIS
Identifier:            org.qgis.qgis314
Version:                  3.14.0 (3.14.0 ())
Parent:                    launchd [1]
PID:                          85558

Event:                      hang
Duration:                1.29s (process was unresponsive for 33 seconds before sampling)
Steps:                      13 (100ms sampling interval)

Hardware model:    iMac19,1
Active cpus:          16

Time Awake Since Boot: 31000s

Fan speed:              1202 rpm

--------------------------------------------------
Timeline format: stacks are sorted chronologically
Use -i and -heavy to re-report with count sorting
--------------------------------------------------

Heaviest stack for the main thread of the target process:
    13    start + 1 (libdyld.dylib + 91093) [0x7fff58a1d3d5]
    13    main + 24520 (QGIS + 98232) [0x100bf2fb8]
    13    QCoreApplication::exec() + 130 (QtCore + 2003234) [0x10b317122]
    13    QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 431 (QtCore + 1982831) [0x10b31216f]
    13    ??? (<03BF9183-26E2-38B7-8FF5-6C0CFD65D89F> + 213542) [0x11a634226]
    13    -[NSApplication run] + 699 (AppKit + 79272) [0x7fff2a0b85a8]
    13    -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361 (AppKit + 103563) [0x7fff2a0be48b]
    13    _DPSNextEvent + 1135 (AppKit + 108445) [0x7fff2a0bf79d]
    13    _BlockUntilNextEventMatchingListInModeWithFilter + 64 (HIToolbox + 44150) [0x7fff2bd26c76]
    13    ReceiveNextEventCommon + 603 (HIToolbox + 44773) [0x7fff2bd26ee5]
    13    RunCurrentEventLoopInMode + 292 (HIToolbox + 45483) [0x7fff2bd271ab]
    13    CFRunLoopRunSpecific + 455 (CoreFoundation + 237246) [0x7fff2cac7ebe]
    13    __CFRunLoopRun + 1189 (CoreFoundation + 239029) [0x7fff2cac85b5]
    13    __CFRunLoopDoSources0 + 195 (CoreFoundation + 241643) [0x7fff2cac8feb]
    13    __CFRunLoopDoSource0 + 108 (CoreFoundation + 357929) [0x7fff2cae5629]
    13    __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 (CoreFoundation + 358019) [0x7fff2cae5683]
    13    ??? (<03BF9183-26E2-38B7-8FF5-6C0CFD65D89F> + 217776) [0x11a6352b0]
    13    ??? (<03BF9183-26E2-38B7-8FF5-6C0CFD65D89F> + 215865) [0x11a634b39]
    13    QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 817 (QtCore + 2006273) [0x10b317d01]
    13    QCoreApplication::notifyInternal2(QObject*, QEvent*) + 212 (QtCore + 2001588) [0x10b316ab4]
    13    QgsApplication::notify(QObject*, QEvent*) + 67 (qgis_core + 5314371) [0x103ff5743]
    13    QApplication::notify(QObject*, QEvent*) + 588 (QtWidgets + 72604) [0x108395b9c]
    13    QApplicationPrivate::notify_helper(QObject*, QEvent*) + 271 (QtWidgets + 67455) [0x10839477f]
    13    QObject::event(QEvent*) + 770 (QtCore + 2172018) [0x10b340472]
    13    QgsFeaturePickerModelBase::updateCompleter() + 2512 (qgis_core + 6205632) [0x1040cf0c0]
    13    QgsFeaturePickerModelBase::extraIdentifierValueIndexChanged(int) + 62 (qgis_core + 68958) [0x103af4d5e]
    13    QMetaObject::activate(QObject*, int, int, void**) + 1417 (QtCore + 2201337) [0x10b3476f9]
    13    QComboBox::setCurrentIndex(int) + 87 (QtWidgets + 1094855) [0x10848f4c7]
    13    ??? (QtWidgets + 1115775) [0x10849467f]
    13    ??? (QtWidgets + 1096717) [0x10848fc0d]
    13    QMetaObject::activate(QObject*, int, int, void**) + 1417 (QtCore + 2201337) [0x10b3476f9]
    13    QgsRelationReferenceWidget::comboReferenceChanged(int) + 84 (qgis_gui + 3505684) [0x10225fe14]
    13    QgsVectorLayer::getFeatures(QgsFeatureRequest const&) const + 95 (qgis_core + 8533999) [0x1043077ef]
    13    QgsVectorLayerFeatureIterator::QgsVectorLayerFeatureIterator(QgsVectorLayerFeatureSource*, bool, QgsFeatureRequest const&) + 3365 (qgis_core + 8827685) [0x10434f325]
    13    ??? (<B8DB7B1F-D854-3FD9-8AD1-424EC0D016D3> + 547057) [0x1971938f1]
    13    ??? (<B8DB7B1F-D854-3FD9-8AD1-424EC0D016D3> + 518537) [0x19718c989]
    13    ??? (<B8DB7B1F-D854-3FD9-8AD1-424EC0D016D3> + 491345) [0x197185f51]
    13    ??? (<B8DB7B1F-D854-3FD9-8AD1-424EC0D016D3> + 512076) [0x19718b04c]
    13    ??? (QtCore + 160975) [0x10b1554cf]
    13    ??? (QtCore + 176124) [0x10b158ffc]
    13    ??? (QtCore + 176283) [0x10b15909b]
    13    __psynch_cvwait + 10 (libsystem_kernel.dylib + 18538) [0x7fff58b5586a]
 *13    psynch_cvcontinue + 0 (pthread + 19324) [0xffffff7f82402b7c]
gioman commented 4 years ago

With QGIS 3.14, freeze when creating a new feature.

@m-kuhn is this specific to macOS or is a general thing?

m-kuhn commented 4 years ago

The report is from a macOS. Intuition tells me it's not platform specific but I cannot be sure.

gioman commented 4 years ago

@m-kuhn I did a quick test on Linux and Windows and can't see anything wrong, maybe this is related to a specific project/data/configuration?

m-kuhn commented 4 years ago

Likely yes. I do have a project. I cannot share it. The stacktrace itself has some value in it already, I have put it here as a reminder and reference if others have the same. I will add more information as it becomes available.

m-kuhn commented 4 years ago

Reproduced on a Linux machine. This is very likely related to long roundtrips (postgis db via internet) and many relation reference widgets (~10) shown on an attribute form in parallel.