Bug report #5333

QGis crashes if you use "pretty breaks" on a column with the same value for every row

Added by Luca Casagrande over 12 years ago. Updated over 12 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:
Crashes QGIS or corrupts data:Yes Copied to github as #:15034

Description

QGis crashes if you use "Pretty Breaks" on a column with the same value for every row
Fatal: ASSERT: "!isEmpty()" in file /usr/include/qt4/QtCore/qlist.h, line 269

testQgis.zip - Sample vector data (1.33 KB) Luca Casagrande, 2012-04-08 09:52 AM

Associated revisions

History

#1 Updated by Salvatore Larosa over 12 years ago

I confirm, but only on field [code_two]!
Columns with values equal at 0 not seem be affects!

this is what I get in the backtrace stack:

Program received signal SIGABRT, Aborted.
0x00007ffff0b9a475 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff0b9a475 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff0b9d6f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff0bd426b in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007ffff0bddab6 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x00007ffff0be27ec in free () from /lib/x86_64-linux-gnu/libc.so.6
#5  0x000000000066f56a in QList<double>::free(QListData::Data*) ()
#6  0x000000000066f35c in QList<double>::~QList() ()
#7  0x00007ffff441f5bc in QgsGraduatedSymbolRendererV2::createRenderer(QgsVectorLayer*, QString, int, QgsGraduatedSymbolRendererV2::Mode, QgsSymbolV2*, QgsVectorColorRampV2*) ()
   from /usr/local/lib/libqgis_core.so.1.9.90
#8  0x00007ffff3e1e636 in QgsGraduatedSymbolRendererV2Widget::classifyGraduated() ()
   from /usr/local/lib/libqgis_gui.so.1.9.90
#9  0x00007ffff3ecbf94 in QgsGraduatedSymbolRendererV2Widget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/local/lib/libqgis_gui.so.1.9.90
#10 0x00007ffff32bbeba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
   from /usr/lib/libQtCore.so.4
#11 0x00007ffff2a46be1 in QComboBox::currentIndexChanged(int) () from /usr/lib/libQtGui.so.4
#12 0x00007ffff2a46c47 in ?? () from /usr/lib/libQtGui.so.4
#13 0x00007ffff2a46d99 in ?? () from /usr/lib/libQtGui.so.4
#14 0x00007ffff2a479c4 in ?? () from /usr/lib/libQtGui.so.4
#15 0x00007ffff2a4ae97 in QComboBox::qt_metacall(QMetaObject::Call, int, void**) ()
   from /usr/lib/libQtGui.so.4
#16 0x00007ffff32bbeba in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) ()
   from /usr/lib/libQtCore.so.4
#17 0x00007ffff2ce62d2 in ?? () from /usr/lib/libQtGui.so.4
#18 0x00007ffff2a4203a in ?? () from /usr/lib/libQtGui.so.4
#19 0x00007ffff32a9418 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*)
    () from /usr/lib/libQtCore.so.4
#20 0x00007ffff267ac2f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/libQtGui.so.4
#21 0x00007ffff26803eb in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#22 0x00007ffff444d805 in QgsApplication::notify(QObject*, QEvent*) ()
   from /usr/local/lib/libqgis_core.so.1.9.90
#23 0x00007ffff32a928c in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib/libQtCore.so.4
#24 0x00007ffff267bc32 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#25 0x00007ffff26f8794 in ?? () from /usr/lib/libQtGui.so.4
#26 0x00007ffff26f6f1a in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#27 0x00007ffff271f252 in ?? () from /usr/lib/libQtGui.so.4
#28 0x00007fffef4180cf in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007fffef4188c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007fffef418a99 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007ffff32d3e2f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#32 0x00007ffff271eeee in ?? () from /usr/lib/libQtGui.so.4
#33 0x00007ffff32a8492 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQtCore.so.4
#34 0x00007ffff32a868f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQtCore.so.4
#35 0x00007ffff2b2c766 in QDialog::exec() () from /usr/lib/libQtGui.so.4
#36 0x0000000000573a77 in QgisApp::showLayerProperties(QgsMapLayer*) ()
#37 0x0000000000562e95 in QgisApp::layerProperties() ()
#38 0x000000000077c7af in QgsLegend::mouseDoubleClickEvent(QMouseEvent*) ()
#39 0x00007ffff26cb360 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#40 0x00007ffff2a6f4d6 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#41 0x00007ffff2b7f35b in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#42 0x00007ffff2bc4065 in QTreeView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#43 0x00007ffff32a9418 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*)
    () from /usr/lib/libQtCore.so.4
#44 0x00007ffff267ac2f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/libQtGui.so.4
#45 0x00007ffff26803eb in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#46 0x00007ffff444d805 in QgsApplication::notify(QObject*, QEvent*) ()
   from /usr/local/lib/libqgis_core.so.1.9.90
#47 0x00007ffff32a928c in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
   from /usr/lib/libQtCore.so.4
#48 0x00007ffff267bc32 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#49 0x00007ffff26f8118 in ?? () from /usr/lib/libQtGui.so.4
#50 0x00007ffff26f6f1a in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#51 0x00007ffff271f252 in ?? () from /usr/lib/libQtGui.so.4
#52 0x00007fffef4180cf in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#53 0x00007fffef4188c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#54 0x00007fffef418a99 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#55 0x00007ffff32d3e2f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#56 0x00007ffff271eeee in ?? () from /usr/lib/libQtGui.so.4
#57 0x00007ffff32a8492 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQtCore.so.4
#58 0x00007ffff32a868f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQtCore.so.4
#59 0x00007ffff32ac837 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#60 0x0000000000547b28 in main ()
(gdb) 

#2 Updated by Giovanni Manghi over 12 years ago

  • OS version deleted (11.10)
  • Operating System deleted (Linux)
  • Priority changed from High to 6

I confirm the issue on Linux and also on Windows.

On Windows/master/osgeo4w is even worst, as it is just enough to select "pretty breaks" and QGIS will crash, even before hitting "classify".

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

  • Status changed from Open to Closed

#4 Updated by Salvatore Larosa over 12 years ago

Jürgen Fischer wrote:

Fixed in changeset 95045f86f71b8b102a5301bb44be0f33304ad966.

Thanks!

Also available in: Atom PDF