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.66k stars 3.01k forks source link

QGIS hanging and crashing #45034

Closed patrickharvey333 closed 3 years ago

patrickharvey333 commented 3 years ago

What is the bug or the crash?

So, QGIS has been having an issue where it will hang when I do any activity in the GUI - click a layer, drag my map, try to undertake any function. It simply freezes for a few seconds then keeps working for a while as normal then hangs again. This is the first time it has hung and crashed, so I am hopeful that someone can look at this and do something about it.

QGIS has been doing this for a while on my Alienware A51m R2. when I first got the system (Christmas 2020) I was able to get around this by re-installing windows and forcing it not to install the Intel integrated video drivers. This issue re-emerged about 4 months ago. I hadn't been using QGIS so much so it wasn't an issue really at that point. I am using it a lot again and it is hanging all the time.

I have a desktop system as well and it doesn't have any issues. There is some kind of system specific conflict here.

If any developers want to contact me about this I would be happy to help solve this issue any way I can.

My system is:

Processor Intel(R) Core(TM) i9-10900K CPU @ 3.70GHz 3.70 GHz Installed RAM 64.0 GB (63.8 GB usable) GPU NVIDIA GeForce RTX 2080 Super Intel(R) UHD Graphics 630

System type 64-bit operating system, x64-based processor

Crash ID: bd45a2c897a21a5cb8667f59a2b6a05c797d1132

Stack Trace

QMimeType::staticMetaObject : QgsMapCanvas::setMapTool : QgisApp::activateDeactivateLayerRelatedActions : QObject::qt_static_metacall : QgisApp::activeLayerChanged : QgisApp::onActiveLayerChanged : QObject::qt_static_metacall : QgsLayerTreeView::currentLayerChanged : QgsLayerTreeView::onCurrentChanged : QObject::qt_static_metacall : QItemSelectionModel::`default constructor closure' : QItemSelectionModel::qt_static_metacall : QObject::qt_static_metacall : QAbstractItemModel::beginRemoveRows : QSortFilterProxyModel::removeRows : QSortFilterProxyModel::sortRoleChanged : QSortFilterProxyModel::qt_static_metacall : QObject::qt_static_metacall : QAbstractItemModel::beginRemoveRows : QgsLayerTreeModel::nodeWillRemoveChildren : QObject::qt_static_metacall : QgsLayerTreeNode::willRemoveChildren : QgsLayerTreeNode::removeChildrenPrivate : QgsLayerTreeGroup::removeChildren : QgsLayerTreeGroup::removeChildNode : QgisApp::removeLayer : QObject::qt_static_metacall : QAction::activate : QMenu::actionGeometry : QMenu::actionGeometry : QMenu::mouseReleaseEvent : QWidget::event : QMenu::event : QApplicationPrivate::notify_helper : QApplication::notify : QgsApplication::notify : QCoreApplication::notifyInternal2 : QMenu::metaObject : QMenu::mouseReleaseEvent : QWidget::event : QMenu::event : QApplicationPrivate::notify_helper : QApplication::notify : QgsApplication::notify : QCoreApplication::notifyInternal2 : QApplicationPrivate::sendMouseEvent : QSizePolicy::QSizePolicy : QSizePolicy::QSizePolicy : QApplicationPrivate::notify_helper : QApplication::notify : QgsApplication::notify : QCoreApplication::notifyInternal2 : QGuiApplicationPrivate::processMouseEvent : QWindowSystemInterface::sendWindowSystemEvents : QEventDispatcherWin32::processEvents : qt_plugin_query_metadata : QEventLoop::exec : QMenu::exec : QMenu::exec : QgsLayerTreeView::contextMenuEvent : QWidget::event : QFrame::event : QAbstractItemView::viewportEvent : QCoreApplicationPrivate::sendThroughObjectEventFilters : QApplicationPrivate::notify_helper : QApplication::notify : QgsApplication::notify : QCoreApplication::notifyInternal2 : QSizePolicy::QSizePolicy : QSizePolicy::QSizePolicy : QApplicationPrivate::notify_helper : QApplication::notify : QgsApplication::notify : QCoreApplication::notifyInternal2 : QGuiApplicationPrivate::processMouseEvent : QWindowSystemInterface::sendWindowSystemEvents : QEventDispatcherWin32::processEvents : qt_plugin_query_metadata : QEventLoop::exec : QCoreApplication::exec : main : BaseThreadInitThunk : RtlUserThreadStart :

QGIS Info QGIS Version: 3.20.2-Odense QGIS code revision: 9f59a156 Compiled against Qt: 5.15.2 Running against Qt: 5.15.2 Compiled against GDAL: 3.3.1 Running against GDAL: 3.3.1

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

Steps to reproduce the issue

Just working on any file this happens to me

Versions

QGIS Version: 3.20.2-Odense

Supported QGIS version

New profile

Additional context

No response

gioman commented 3 years ago

Just working on any file this happens to me

@patrickharvey333 have you really tested with a new QGIS profile and no 3rd party plugins installed?

patrickharvey333 commented 3 years ago

Yes I have. Deleted the profile folder at C:\Users\username\AppData\Roaming\QGIS\QGIS3\profiles and ensured no 3rd party plugins were installed. I am still getting the issue with the system hanging. I have a feeling it will be system specific to my setup which isn't good for me.

The last work around I had was using fresh install of windows where I forced windows not to install the Intel UHD driver. I don't want to have to head down this path again if I can avoid it as it is a bit of a nightmare. The hanging began again after upgrading to 3.20.0

The previous thread can be seen here: https://github.com/qgis/QGIS/issues/41176

gioman commented 3 years ago

Yes I have. Deleted the profile folder at C:\Users\username\AppData\Roaming\QGIS\QGIS3\profiles and ensured no 3rd party plugins were installed. I am still getting the issue with the system hanging. I have a feeling it will be system specific to my setup which isn't good for me.

The last work around I had was using fresh install of windows where I forced windows not to install the Intel UHD driver. I don't want to have to head down this path again if I can avoid it as it is a bit of a nightmare. The hanging began again after upgrading to 3.20.0

@patrickharvey333 granted that a program should never crash it could be very hard to fix this issue case is confirmed that is about a very specific hardware/driver configuration.

I forced windows not to install the Intel UHD driver

Can't you just remove this driver and use just the nvidia one?

patrickharvey333 commented 3 years ago

I have also tried that. The issue seems to remain after removing it. This also happened when I first got the system. it took starting with a fresh installation of windows to resolve the issue. not ideal, but might be the way I need to go. I might try running a virtual machine with QGIS as the only application and a minimal set of drivers.

patrickharvey333 commented 3 years ago

So this morning I cleaned QGIS from my system, using CCleaner, and reinstalled it. I copied my profile folder back in to save time reinstalling all my settings etc.

It is running much better having done that. I will close this issue off for now as the improvement means I can use it effectively again.

patrickharvey333 commented 3 years ago

Ok, I am aware this issue is closed, and is likely system specific to my Alienware area 51M R2, but will document what I have done to resolve my issues. I will say I have had some success and QGIS runs better, but still not as good as a fresh install of windows. For the most part, the hanging issue is not a problem with general changes and functions while I remain in the app. I still get some hanging when switching between programs.

So, what I have done:

1) I used DDU in safe mode to uninstall all display drives fully in safe mode. This process is fairly straight forward and there are a few good YouTube videos on how to do it. I specifically changed the option to force windows not to look for updates. 2) I installed the Intel driver first when I returned to Windows in normal mode. 3) I used NVCleaninstall to install the minimum set of drivers for my RTX2080. I used the Recommended setting BUT DID NOT install the Optimus option as it turns the GPU into a low power mode when an app is not in use. This installed a minimum set of driver options for my GPU (I also installed the Microsoft Visual C 2017 Runtime option even though this should be there already). An added benefit of this is I seem to have sped up my USB-C transfer speed as there is only one driver installed for it now (Intel). 4) I changed my power settings on my Intel video card to maximum performance when plugged in 5) I set my PhysX processor to my NVIDIA card in NVIDIA Control Panel 6) I changed my OpenGL rendering GPU to my NVIDIA in NVIDIA Control Panel 7) I changed my NVIDIA power management mode to prefer maximum performance in NVIDIA Control Panel

My QGIS will now hang for a few seconds when I am coming back to it from another program. It might be 10 - 15 seconds. Once I am in it I don't notice any hanging of the program which was the main issue for me before. This is a dramatic performance improvement on 30+ second hanging that I was experiencing prior to taking the above steps.

I hope this helps people who have similar issues in the future.

patrickharvey333 commented 3 years ago

So, to add to the above...

I have continued to have issues on and off with moving away from QGIS then, when coming back to it, it will hang for a minute or two, or while constructing a layout it will hang with every function I perform. This has been very irritating to say the least but I have persevered and will continue to use QGIS into the future as it is such a versatile and useful program. By chance I seem to have come across a new solution (in addition to the above solution which worked for a short time, but eventually it began having issues again) and this new solution seems to have fixed my problem.

The surprise solution came about because I was diving into the world of AI and using neural networks for recognition of animals on images using Microsoft Camera Traps (also open source and available on GitHub). For this they required a slightly older version of CUDA and cuDNN to both be installed. These were required for Tensorflow and to utilise the GPU in processing. I am still using the latest device driver and installed it using NVCleaninstall with a minimum set of options.

Pre-installation of CUDA and cuDNN, QGIS was still hanging. Post installation everything seems to be running smoothly.

If anyone is having the same issues that I did, hopefully this will provide a solution for them.