Bug report #8504

Attribute table: QGIS crashes when field is removed (only in dual view)

Added by Salvatore Larosa about 6 years ago. Updated about 6 years ago.

Status:Closed
Priority:Severe/Regression
Assignee:Matthias Kuhn
Category:Vectors
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 #:17264

Description

With the attribute table in dual view if I remove some field and
commit the changes (save button or toggle editing and save) QGIS crashes.

Program received signal SIGABRT, Aborted.
0x00007ffff046d475 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff046d475 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff04706f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x0000000000562ee7 in qgisCrash (signal=-1) at /home/sam/pacchetti_gis/Quantum-GIS/src/app/main.cpp:309
#3  0x00000000005630be in myMessageOutput (type=QtFatalMsg, msg=
    0x545db38 "ASSERT failure in QVector<T>::operator[]: \\"index out of range\\", file /usr/include/qt4/QtCore/qvector.h, line 359")
    at /home/sam/pacchetti_gis/Quantum-GIS/src/app/main.cpp:362
#4  0x00007ffff33eb630 in qt_message_output(QtMsgType, char const*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007ffff33eba98 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007ffff33ebc24 in qFatal(char const*, ...) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00000000005c3c19 in QVector<QVariant>::operator[] (this=0x7fffffffbb80, i=8) at /usr/include/qt4/QtCore/qvector.h:359
#8  0x00007ffff41e00bf in QgsDualView::saveEditChanges (this=0x5125b70)
    at /home/sam/pacchetti_gis/Quantum-GIS/src/gui/attributetable/qgsdualview.cpp:282
#9  0x00007ffff41dfcf1 in QgsDualView::on_mFeatureList_currentEditSelectionChanged (this=0x5125b70, feat=...)
    at /home/sam/pacchetti_gis/Quantum-GIS/src/gui/attributetable/qgsdualview.cpp:245
#10 0x00007ffff41e0743 in QgsDualView::editingToggled (this=0x5125b70)
    at /home/sam/pacchetti_gis/Quantum-GIS/src/gui/attributetable/qgsdualview.cpp:338
#11 0x00007ffff42c5916 in QgsDualView::qt_static_metacall (_o=0x5125b70, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x7fffffffbe00)
    at /home/sam/pacchetti_gis/Quantum-GIS/build-master/src/gui/attributetable/moc_qgsdualview.cxx:80
#12 0x00007ffff350654f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#13 0x00007ffff4ba21b3 in QgsVectorLayer::beforeCommitChanges (this=0x54262e0)
    at /home/sam/pacchetti_gis/Quantum-GIS/build-master/src/core/moc_qgsvectorlayer.cxx:291
#14 0x00007ffff4a7940a in QgsVectorLayer::commitChanges (this=0x54262e0)
    at /home/sam/pacchetti_gis/Quantum-GIS/src/core/qgsvectorlayer.cpp:2582
#15 0x0000000000594241 in QgisApp::saveEdits (this=0x106a550, layer=0x54262e0, leaveEditable=true, triggerRepaint=true)
    at /home/sam/pacchetti_gis/Quantum-GIS/src/app/qgisapp.cpp:5735
#16 0x00000000005fd1c6 in QgsAttributeTableDialog::on_mSaveEditsButton_clicked (this=0x50c41e0)
    at /home/sam/pacchetti_gis/Quantum-GIS/src/app/qgsattributetabledialog.cpp:369
#17 0x00000000008d244f in QgsAttributeTableDialog::qt_static_metacall (_o=0x50c41e0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=
    0x7fffffffc180) at /home/sam/pacchetti_gis/Quantum-GIS/build-master/src/app/moc_qgsattributetabledialog.cxx:108
#18 0x00000000008d26dc in QgsAttributeTableDialog::qt_metacall (this=0x50c41e0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=
    0x7fffffffc180) at /home/sam/pacchetti_gis/Quantum-GIS/build-master/src/app/moc_qgsattributetabledialog.cxx:170
#19 0x00007ffff3506713 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#20 0x00007ffff2efff32 in QAbstractButton::clicked(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#21 0x00007ffff2c5406e in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#22 0x00007ffff2c548a0 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#23 0x00007ffff2c54b0c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#24 0x00007ffff2d0ea8a in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#25 0x00007ffff28e9e10 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#26 0x00007ffff289a70c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#27 0x00007ffff289f3eb in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#28 0x00007ffff48f351c in QgsApplication::notify (this=0x7fffffffd830, receiver=0x5097480, event=0x7fffffffcae0)
    at /home/sam/pacchetti_gis/Quantum-GIS/src/core/qgsapplication.cpp:242
#29 0x00007ffff34f0b5e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#30 0x00007ffff289b54b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, 
bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#31 0x00007ffff2915fc4 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#32 0x00007ffff2914d51 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#33 0x00007ffff293bbc2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007fffeed7a355 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007fffeed7a688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007fffeed7a744 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007ffff351f276 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#38 0x00007ffff293b83e in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#39 0x00007ffff34ef8af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#40 0x00007ffff34efb38 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#41 0x00007ffff34f4cf8 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#42 0x0000000000565ed2 in main (argc=1, argv=0x7fffffffe398) at /home/sam/pacchetti_gis/Quantum-GIS/src/app/main.cpp:1109

Associated revisions

Revision 6f574b41
Added by Matthias Kuhn about 6 years ago

[dualview] Remove attrs from feature dialog when deleted (Fix #8504)

History

#1 Updated by Salvatore Larosa about 6 years ago

  • Target version set to Version 2.0.0

#2 Updated by Matthias Kuhn about 6 years ago

  • Status changed from Open to Closed

Also available in: Atom PDF