Bug report #8805

Multi feature paste causes crash

Added by Patrick Dunford about 6 years ago. Updated about 6 years ago.

Status:Closed
Priority:High
Assignee:-
Category:Digitising
Affected QGIS version:master Regression?:No
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:Yes Copied to github as #:17505

Description

I have observed a history of these crashes since 1.8 and they persist in spite of the development process since this time.

Using the attached project and layers follow these steps to reproduce the problem:
1. Unzip the file containing a project file and two ESRI layers
2. Re-attach the layers if path errors are displayed.
3. Select the layer CWMSLWalthamYard1982 and place it into edit mode
4. Open the attribute table and click Invert Selection to select all 47 features. Close the attribute table.
5. Copy the features
6. Select the layer CWMSLWalthamYard2009 and place it into Edit mode.
7. Paste to this layer. This causes the crash.

Four dump files resulting from four consecutive crashes are currently being uploaded to
https://skydrive.live.com/?cid=2EEF0993EDE37686&id=2EEF0993EDE37686!205#cid=2EEF0993EDE37686&id=2EEF0993EDE37686%213794

Bugcheck.7z (7.72 KB) Patrick Dunford, 2013-10-09 03:59 AM

Associated revisions

Revision 1690fc4b
Added by Matthias Kuhn about 6 years ago

Ignore geometry-less features when calculating layer extent (Fix #8805)

Revision 5ef7f104
Added by Matthias Kuhn about 6 years ago

Ignore geometry-less features when calculating layer extent (Fix #8805)

History

#1 Updated by Patrick Dunford about 6 years ago

Version data
QGIS version 2.1.0-Master QGIS code revision 773e0d4
Compiled against Qt 4.8.5 Running against Qt 4.8.5
Compiled against GDAL/OGR 1.10.0 Running against GDAL/OGR 1.10.0
Compiled against GEOS 3.4.2-CAPI-1.8.2 Running against GEOS 3.4.2-CAPI-1.8.2 r3921
PostgreSQL Client Version 9.2.4 SpatiaLite Version 4.1.1
QWT Version 5.2.3 PROJ.4 Version 480
QScintilla2 Version 2.7.2 This copy of QGIS writes debugging output.

#2 Updated by Giovanni Manghi about 6 years ago

  • Operating System deleted (Windows)
  • OS version deleted (8)
  • Target version set to Future Release - High Priority
  • Priority changed from Normal to High
  • Category set to Digitising

confirmed on Linux on qgis master

[email protected] ~ $ qgis
Warning: loading of qt translation failed [/usr/share/qt4/translations/qt_en_US]
undo index changed 1
QGIS died on signal 11[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fdebe81b700 (LWP 4007)]
0x00007fdee666748d in waitpid () from /lib/x86_64-linux-gnu/libc.so.6
[Current thread is 1 (Thread 0x7fdeed8787c0 (LWP 4006))]
#0 0x00007fdee666748d in waitpid () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1 0x00000000004ee0d0 in qgisCrash(int) ()
No symbol table info available.
#2 <signal handler called>
No symbol table info available.
#3 0x00007fdeea1d11b9 in QgsGeometry::boundingBox() () from /usr/lib/libqgis_core.so.2.1.0
No symbol table info available.
#4 0x00007fdeea2c97f2 in QgsVectorLayer::extent() () from /usr/lib/libqgis_core.so.2.1.0
No symbol table info available.
#5 0x00007fdeea21b663 in QgsMapRenderer::updateFullExtent() () from /usr/lib/libqgis_core.so.2.1.0
No symbol table info available.
#6 0x00007fdee9c3c742 in QgsMapCanvas::setLayerSet(QList<QgsMapCanvasLayer>&) () from /usr/lib/libqgis_gui.so.2.1.0
No symbol table info available.
#7 0x000000000077443f in QgsLegend::updateMapCanvasLayerSet() ()
No symbol table info available.
#8 0x0000000000778fb7 in QgsLegend::handleItemChange(QTreeWidgetItem*, int) ()
No symbol table info available.
#9 0x00000000007ef457 in ?? ()
No symbol table info available.
#10 0x00007fdee9261281 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#11 0x00007fdee8b6e130 in QTreeWidget::itemChanged(QTreeWidgetItem*, int) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#12 0x00007fdee9261281 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#13 0x00007fdee92ad507 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#14 0x00007fdee8b6e962 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#15 0x00007fdee8b73c7e in QTreeWidgetItem::setData(int, int, QVariant const&) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#16 0x00007fdee8b6cbb7 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#17 0x00007fdee8b9f169 in QStyledItemDelegate::editorEvent(QEvent*, QAbstractItemModel*, QStyleOptionViewItem const&, QModelIndex const&) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#18 0x00007fdee8af5852 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#19 0x00007fdee8afcbec in QAbstractItemView::edit(QModelIndex const&, QAbstractItemView::EditTrigger, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#20 0x00007fdee8af5dbd in QAbstractItemView::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#21 0x00000000007784ec in QgsLegend::mouseReleaseEvent(QMouseEvent*) ()
No symbol table info available.
#22 0x00007fdee8620144 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#23 0x00007fdee89e03b6 in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#24 0x00007fdee8af489b in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#25 0x00007fdee8b3c4b5 in QTreeView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#26 0x00007fdee924d028 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#27 0x00007fdee85cf85f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#28 0x00007fdee85d50bf in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#29 0x00007fdeea171236 in QgsApplication::notify(QObject*, QEvent*) () from /usr/lib/libqgis_core.so.2.1.0
No symbol table info available.
#30 0x00007fdee924ce9c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#31 0x00007fdee85d0862 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#32 0x00007fdee864fbf5 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#33 0x00007fdee864ebae in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#34 0x00007fdee86780d2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#35 0x00007fdee510ad53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#36 0x00007fdee510b0a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#37 0x00007fdee510b164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#38 0x00007fdee927c3bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#39 0x00007fdee8677d5e in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
No symbol table info available.
#40 0x00007fdee924bc82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#41 0x00007fdee924bed7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#42 0x00007fdee9250f67 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
No symbol table info available.
#43 0x00000000004e8e46 in main ()
No symbol table info available.
gdb returned 0
Aborted (core dumped)

#3 Updated by John Tull about 6 years ago

I followed the steps and everything worked as expected for me. OS X 10.8.5, current trunk build, qt 4.8.5, gdal 1.10.1, geos 3.4.2.

#4 Updated by Matthias Kuhn about 6 years ago

  • Status changed from Open to Closed

#5 Updated by Patrick Dunford about 6 years ago

At what point will the current master build incorporate this fix.
Thankyou.

#6 Updated by John Tull about 6 years ago

Patrick Dunford wrote:

At what point will the current master build incorporate this fix.
Thankyou.

The patch was applied, so it should work if you build from trunk now. If not, you should comment on this bug report with details.

Also available in: Atom PDF