Bug report #5024

Qgis crashes when moving a point

Added by Leyan Ouyang over 9 years ago. Updated over 9 years ago.

Status:Closed
Priority:Normal
Assignee:Jürgen Fischer
Category:-
Affected QGIS version:master Regression?:No
Operating System:Linux Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:Yes Copied to github as #:14800

Description

On latest git version, Qgis crashes when selecting a point just after moving it.

Steps to reproduce:
  • Start Qgis on a blank project
  • Add a new shapefile layer of type point
  • Create a point
  • Move it
  • Click on it again

Backtrace from gdb :

(gdb) bt
#0  0xb7fdd424 in __kernel_vsyscall ()
#1  0xb3fdd02f in raise () from /lib/libc.so.6
#2  0xb3fde9b5 in abort () from /lib/libc.so.6
#3  0x0816237a in myMessageOutput (type=QtFatalMsg, 
    msg=0x8f7a898 "ASSERT failure in QList<T>::operator[]: \\"index out of range\\", file /usr/include/QtCore/qlist.h, line 477")
    at /home/qgis/Quantum-GIS/src/app/main.cpp:205
#4  0xb4fbc545 in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4
#5  0xb4fbc79b in ?? () from /usr/lib/libQtCore.so.4
#6  0xb4fbc8b8 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4
#7  0xb4fbc8fd in qt_assert_x(char const*, char const*, char const*, int) () from /usr/lib/libQtCore.so.4
#8  0x08269166 in QList<QgsVertexEntry*>::operator[] (this=0x8f7a6d0, i=-1) at /usr/include/QtCore/qlist.h:477
#9  0x0826bce3 in QgsSelectedFeature::isSelected (this=0x8f7a6b0, vertexNr=-1)
    at /home/qgis/Quantum-GIS/src/app/nodetool/qgsselectedfeature.cpp:358
#10 0x082674c6 in QgsMapToolNodeTool::canvasPressEvent (this=0x8a1dbd8, e=0xbfffe564)
    at /home/qgis/Quantum-GIS/src/app/nodetool/qgsmaptoolnodetool.cpp:405
#11 0xb548a9e2 in QgsMapCanvas::mousePressEvent (this=0x8879280, e=0xbfffe564)
    at /home/qgis/Quantum-GIS/src/gui/qgsmapcanvas.cpp:918
#12 0xb462bd98 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#13 0xb4a43fa5 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#14 0xb4ad6f71 in QAbstractScrollArea::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#15 0xb4caa3ac in QGraphicsView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#16 0xb4ad96f6 in ?? () from /usr/lib/libQtGui.so.4
#17 0xb50dad16 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#18 0xb45d18e2 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#19 0xb45d7a30 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#20 0xb57d01ff in QgsApplication::notify (this=0xbfffee40, receiver=0x87df0f0, event=0xbfffe564)
    at /home/qgis/Quantum-GIS/src/core/qgsapplication.cpp:195
#21 0xb50dab7e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#22 0xb45d28d5 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /usr/lib/libQtGui.so.4
#23 0xb465baf4 in ?? () from /usr/lib/libQtGui.so.4
#24 0xb465aadd in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#25 0xb468562c in ?? () from /usr/lib/libQtGui.so.4
#26 0xb3c7401f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#27 0xb3c74750 in ?? () from /usr/lib/libglib-2.0.so.0
#28 0xb3c749ea in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#29 0xb510d677 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#30 0xb468522a in ?? () from /usr/lib/libQtGui.so.4
#31 0xb50d970d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#32 0xb50d99a9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#33 0xb50debda in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#34 0xb45cf774 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#35 0x0816443d in main (argc=1, argv=0xbffff1a4) at /home/qgis/Quantum-GIS/src/app/main.cpp:787

Associated revisions

History

#1 Updated by Jürgen Fischer over 9 years ago

  • Priority changed from 6 to Normal

#2 Updated by Giovanni Manghi over 9 years ago

Not replicable here on Ubuntu 64bit. Does it happen with all point layers? just with point layers?

#3 Updated by Jürgen Fischer over 9 years ago

  • Assignee set to Jürgen Fischer

Giovanni Manghi wrote:

Not replicable here on Ubuntu 64bit. Does it happen with all point layers? just with point layers?

it happens, when you use the nodetool to move the point.

#4 Updated by Giovanni Manghi over 9 years ago

Jürgen Fischer wrote:

Giovanni Manghi wrote:

Not replicable here on Ubuntu 64bit. Does it happen with all point layers? just with point layers?

it happens, when you use the nodetool to move the point.

right, I just figured it.

#5 Updated by Jürgen Fischer over 9 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

#6 Updated by Leyan Ouyang over 9 years ago

The original issue disappeared, thanks !

However it seems the snapping of points doesn't work anymore because of this patch. For example, if I want to use snapping on a segment and move a point using node tool, the point will not snap to the line, but go a certain distance away. If I follow the line while continuously holding the mouse button, the point will follow and remain at the same distance.

#7 Updated by Giovanni Manghi over 9 years ago

Koxinga Koxinga wrote:

The original issue disappeared, thanks !

However it seems the snapping of points doesn't work anymore because of this patch. For example, if I want to use snapping on a segment and move a point using node tool, the point will not snap to the line, but go a certain distance away. If I follow the line while continuously holding the mouse button, the point will follow and remain at the same distance.

please file a separate ticket

Also available in: Atom PDF