Bug report #17513
ArcGIS AFS crasher on qgis master
Status: | Closed | ||
---|---|---|---|
Priority: | Normal | ||
Assignee: | Sandro Mani | ||
Category: | Web Services clients/ArcGIS | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | fixed/implemented |
Crashes QGIS or corrupts data: | Yes | Copied to github as #: | 25410 |
Description
QGIS master dies on me usually within minutes of adding an AFS layer.
Steps to reproduce- Create a new project
- Add the "burials" layer from the AFS following server (https://services1.arcgis.com/7uJv7I3kgh2y7Pe0/ArcGIS/rest/services/CGP_Vector_Data/FeatureServer)
- Zoom in to show only a fraction of all points
- Hit the toolbar refresh button (or f5) a couple of times
- boom
GDB where output
(gdb) where #0 0x00007ffff39630bb in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 #1 0x00007ffff3964f5d in __GI_abort () at abort.c:90 #2 0x0000555555560612 in qgisCrash(int) (signal=-1) at /home/webmaster/dev/cpp/QGIS/src/app/main.cpp:336 #3 0x00005555555608ba in myMessageOutput(QtMsgType, char const*) (type=QtFatalMsg, msg=0x7fff147485a8 "ASSERT: \"f.isValid()\" in file /home/webmaster/dev/cpp/QGIS/src/providers/arcgisrest/qgsafsshareddata.cpp, line 111") at /home/webmaster/dev/cpp/QGIS/src/app/main.cpp:389 #4 0x00007ffff433e61a in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff43400ee in QMessageLogger::fatal(char const*, ...) const () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff433b357 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x00007fff56734237 in QgsAfsSharedData::getFeature(long long, QgsFeature&, bool, QList<int> const&, QgsRectangle const&) (this=0x55555fc25760, id=101, f=..., fetchGeometry=true, filterRect=...) at /home/webmaster/dev/cpp/QGIS/src/providers/arcgisrest/qgsafsshareddata.cpp:111 #8 0x00007fff5672b623 in QgsAfsFeatureIterator::fetchFeature(QgsFeature&) (this=0x7fff14745520, f=...) at /home/webmaster/dev/cpp/QGIS/src/providers/arcgisrest/qgsafsfeatureiterator.cpp:94 #9 0x00007ffff60e7e44 in QgsAbstractFeatureIterator::nextFeature(QgsFeature&) (this=0x7fff14745520, f=...) at /home/webmaster/dev/cpp/QGIS/src/core/qgsfeatureiterator.cpp:63 #10 0x00007ffff7108db5 in QgsFeatureIterator::nextFeature(QgsFeature&) (this=0x7fff1401be30, f=...) at /home/webmaster/dev/cpp/QGIS/src/core/qgsfeatureiterator.h:370 #11 0x00007ffff63649d6 in QgsVectorLayerFeatureIterator::fetchFeature(QgsFeature&) (this=0x7fff1401bc20, f=...) at /home/webmaster/dev/cpp/QGIS/src/core/qgsvectorlayerfeatureiterator.cpp:330 #12 0x00007ffff60e7e44 in QgsAbstractFeatureIterator::nextFeature(QgsFeature&) (this=0x7fff1401bc20, f=...) at /home/webmaster/dev/cpp/QGIS/src/core/qgsfeatureiterator.cpp:63 #13 0x00007ffff7108db5 in QgsFeatureIterator::nextFeature(QgsFeature&) (this=0x7fff237fcd80, f=...) at /home/webmaster/dev/cpp/QGIS/src/core/qgsfeatureiterator.h:370 #14 0x00007ffff63846f4 in QgsVectorLayerRenderer::drawRenderer(QgsFeatureIterator&) (this=0x555561497a70, fit=...) at /home/webmaster/dev/cpp/QGIS/src/core/qgsvectorlayerrenderer.cpp:264 #15 0x00007ffff638421a in QgsVectorLayerRenderer::render() (this=0x555561497a70) at /home/webmaster/dev/cpp/QGIS/src/core/qgsvectorlayerrenderer.cpp:247 #16 0x00007ffff6183a5f in QgsMapRendererParallelJob::renderLayerStatic(LayerRenderJob&) (job=...) at /home/webmaster/dev/cpp/QGIS/src/core/qgsmaprendererparalleljob.cpp:256 #17 0x00007ffff61851da in QtConcurrent::FunctionWrapper1<void, LayerRenderJob&>::operator()(LayerRenderJob&) (this=0x555561490bf8, u=...) at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentfunctionwrappers.h:83 #18 0x00007ffff6184f13 in QtConcurrent::MapKernel<QList<LayerRenderJob>::iterator, QtConcurrent::FunctionWrapper1<void, LayerRenderJob&> >::runIteration(QList<LayerRenderJob>::iterator, int, void*) (this=0x555561490bc0, it=...) at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentmapkernel.h:69 #19 0x00007ffff6184fb2 in QtConcurrent::MapKernel<QList<LayerRenderJob>::iterator, QtConcurrent::FunctionWrapper1<void, LayerRenderJob&> >::runIterations(QList<LayerRenderJob>::iterator, int, int, void*) (this=0x555561490bc0, sequenceBeginIterator=..., beginIndex=2, endIndex=3) at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentmapkernel.h:78 #20 0x00007ffff6185482 in QtConcurrent::IterateKernel<QList<LayerRenderJob>::iterator, void>::forThreadFunction() (this=0x555561490bc0) at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentiteratekernel.h:256 #21 0x00007ffff6185144 in QtConcurrent::IterateKernel<QList<LayerRenderJob>::iterator, void>::threadFunction() (this=0x555561490bc0) at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentiteratekernel.h:218 #22 0x00007fffebb78bfd in QtConcurrent::ThreadEngineBase::run() () at /usr/lib/x86_64-linux-gnu/libQt5Concurrent.so.5 #23 0x00007ffff4351581 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #24 0x00007ffff435529d in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #25 0x00007fffeaad37fc in start_thread (arg=0x7fff237fe700) at pthread_create.c:465 #26 0x00007ffff3a40b0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
History
#1 Updated by Mathieu Pellerin - nIRV about 7 years ago
Simpler steps to reproduce:
- Add the "burials" layer from the AFS server mentioned above
- Zoom in to show only a fraction of all points
- Hit the toolbar refresh button (or f5) a couple of times
- boom
#2 Updated by Mathieu Pellerin - nIRV about 7 years ago
- Description updated (diff)
#3 Updated by Mathieu Pellerin - nIRV about 7 years ago
- Description updated (diff)
#4 Updated by Sandro Mani about 7 years ago
- % Done changed from 0 to 100
- Status changed from Open to Closed
Applied in changeset qgis|9ed26361a6448fe1c0c8e263b0087d5bd8593f6b.
#5 Updated by Giovanni Manghi about 7 years ago
- Resolution set to fixed/implemented