Bug report #5024
Qgis crashes when moving a point
| Status: | Closed | ||
|---|---|---|---|
| Priority: | Normal | ||
| Assignee: | |||
| 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 13 years ago
- Priority changed from 6 to Normal
#2
Updated by Giovanni Manghi over 13 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 13 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 13 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 13 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Fixed in changeset 6b07241f2447030bd5c9be374975d585ce0c15b2.
#6
Updated by Leyan Ouyang over 13 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 13 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