Bug report #6418

Crash when zooming on a polyline memory layer with markers placed "on central point"

Added by Alister Hood almost 7 years ago. Updated over 6 years ago.

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

Description

- Create a memory layer with some polylines using the "edit any layer" plugin, or using the "new memory layer" plugin and the digitising tools.
- Assign a "marker line" style to the layer. Set the "marker placement" to "on central point".
- Zoom in on the layer.
When you zoom in far enough, QGIS will crash, with no error message or debug output.

There is no crash if a shape file is used instead of a memory layer. There is no crash if the marker is not placed "on central point".
Tested on Windows and Linux with QGIS master.

History

#1 Updated by Giovanni Manghi almost 7 years ago

  • Crashes QGIS or corrupts data changed from No to Yes
  • Status changed from Open to Feedback

What QGIS version? What platform?

#2 Updated by Alister Hood almost 7 years ago

  • Operating System set to Windows

Master on Windows. I haven't tested on Linux yet.

#3 Updated by Alister Hood almost 7 years ago

  • Operating System deleted (Windows)

Crashes on Linux, too:

SINGLE: LINE SYMBOL (1 layers) color 255,0,0,255
Debug: src/core/qgspallabeling.cpp: 1062: (prepareLayer) PREPARE LAYER

Program received signal SIGSEGV, Segmentation fault.
0xb58465e6 in QgsMarkerLineSymbolLayerV2::renderPolylineCentral(QPolygonF const&, QgsSymbolV2RenderContext&) () from /usr/lib/libqgis_core.so.1.9.0
(gdb) bt
#0  0xb58465e6 in QgsMarkerLineSymbolLayerV2::renderPolylineCentral(QPolygonF const&, QgsSymbolV2RenderContext&) () from /usr/lib/libqgis_core.so.1.9.0
#1  0xb58488bd in QgsMarkerLineSymbolLayerV2::renderPolyline(QPolygonF const&, QgsSymbolV2RenderContext&) () from /usr/lib/libqgis_core.so.1.9.0
#2  0xb5824736 in QgsLineSymbolV2::renderPolyline(QPolygonF const&, QgsFeature const*, QgsRenderContext&, int, bool) () from /usr/lib/libqgis_core.so.1.9.0
#3  0xb586f0e6 in QgsFeatureRendererV2::renderFeatureWithSymbol(QgsFeature&, QgsSymbolV2*, QgsRenderContext&, int, bool, bool) ()
   from /usr/lib/libqgis_core.so.1.9.0
#4  0xb586f399 in QgsFeatureRendererV2::renderFeature(QgsFeature&, QgsRenderContext&, int, bool, bool) () from /usr/lib/libqgis_core.so.1.9.0
#5  0xb5a0a1ea in QgsVectorLayer::drawRendererV2(QgsRenderContext&, bool) ()
   from /usr/lib/libqgis_core.so.1.9.0
#6  0xb5a19169 in QgsVectorLayer::draw(QgsRenderContext&) ()
   from /usr/lib/libqgis_core.so.1.9.0
#7  0xadc3eb18 in sipQgsVectorLayer::draw(QgsRenderContext&) ()
   from /usr/share/qgis/python/qgis/core.so
#8  0xb597b3a1 in QgsMapRenderer::render(QPainter*, double*) ()
   from /usr/lib/libqgis_core.so.1.9.0
#9  0xb55be009 in QgsMapCanvasMap::render() ()
   from /usr/lib/libqgis_gui.so.1.9.0
#10 0xb55b6f7f in QgsMapCanvas::refresh() () from /usr/lib/libqgis_gui.so.1.9.0
#11 0xb55bba6a in QgsMapCanvas::wheelEvent(QWheelEvent*) ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/libqgis_gui.so.1.9.0
#12 0xb444db8b in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#13 0xb4859595 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#14 0xb48e9e13 in QAbstractScrollArea::viewportEvent(QEvent*) ()
   from /usr/lib/libQtGui.so.4
#15 0xb4ab021c in QGraphicsView::viewportEvent(QEvent*) ()
   from /usr/lib/libQtGui.so.4
#16 0xb48ec606 in ?? () from /usr/lib/libQtGui.so.4
#17 0xb4efad7e in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#18 0xb43f4f2d in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/libQtGui.so.4
#19 0xb43fa099 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/libQtGui.so.4
#20 0xb58ddab1 in QgsApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/libqgis_core.so.1.9.0
#21 0xb4efac0e in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib/libQtCore.so.4
#22 0xb446b4fe in ?? () from /usr/lib/libQtGui.so.4
#23 0xb447e399 in ?? () from /usr/lib/libQtGui.so.4
#24 0xb447cda3 in QApplication::x11ProcessEvent(_XEvent*) ()
   from /usr/lib/libQtGui.so.4
#25 0xb44a6344 in ?? () from /usr/lib/libQtGui.so.4
---Type <return> to continue, or q <return> to quit---
#26 0xb3a696e3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#27 0xb3a69a80 in g_main_context_iterate.isra.21 ()
   from /usr/lib/libglib-2.0.so.0
#28 0xb3a69b61 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#29 0xb4f2ca21 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#30 0xb44a5f2a in ?? () from /usr/lib/libQtGui.so.4
#31 0xb4ef96ec in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#32 0xb4ef99e1 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQtCore.so.4
#33 0xb4efec7a in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#34 0xb43f2de4 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#35 0x08103346 in main ()

#4 Updated by Giovanni Manghi almost 7 years ago

  • Category set to 83
  • Target version set to Version 2.0.0
  • Status changed from Feedback to Open

#5 Updated by Giovanni Manghi over 6 years ago

  • Priority changed from Normal to High

#6 Updated by Giovanni Manghi over 6 years ago

  • Resolution set to fixed
  • Status changed from Open to Closed

this seems fixed in master, reopen if necessary.

Also available in: Atom PDF