[QGIS-trac] Re: [Quantum GIS] #3412: crash when double clicking edit table button

Quantum GIS qgis at qgis.org
Wed Jan 19 04:41:44 EST 2011


#3412: crash when double clicking edit table button
---------------------------------------------------------+------------------
   Reporter:  ravn                                       |              Owner:  nobody       
       Type:  bug                                        |             Status:  new          
   Priority:  critical: causes crash or data corruption  |          Milestone:  Version 1.7.0
  Component:  GUI                                        |            Version:  Trunk        
   Keywords:  postgis table edit                         |   Platform_version:  ubuntu 10.04 
   Platform:  Debian                                     |           Must_fix:  No           
Status_info:  0                                          |  
---------------------------------------------------------+------------------

Comment(by ravn):

 Sometimes I have to click more than twice, and fast. I think this has
 something to do with one process not finishing in time or something, it
 looks like it is some sort of race problem. Anyway I compiled the svn
 trunk and got some symbols, don't know if this makes it easier, but it
 still crashes:

 Warning: QPaintDevice: Cannot destroy paint device that is being painted

 Program received signal SIGSEGV, Segmentation fault.
 0x00000000 in ?? ()
 (gdb) bt
 #0  0x00000000 in ?? ()
 #1  0x01233d6e in ?? () from /usr/lib/libQtGui.so.4
 #2  0x01233ef1 in QPainter::setBrush(QBrush const&) ()
    from /usr/lib/libQtGui.so.4
 #3  0x00382c18 in QgsSimpleFillSymbolLayerV2::renderPolygon(QPolygonF
 const&, QList<QPolygonF>*, QgsSymbolV2RenderContext&) ()
    from /home/ravn/apps/lib/libqgis_core.so.1.7.0
 #4  0x00369fad in QgsFillSymbolV2::renderPolygon(QPolygonF const&,
 QList<QPolygonF>*, QgsRenderContext&, int, bool) ()
    from /home/ravn/apps/lib/libqgis_core.so.1.7.0
 #5  0x003860c2 in QgsFeatureRendererV2::renderFeature(QgsFeature&,
 QgsRenderContext&, int, bool, bool) () from
 /home/ravn/apps/lib/libqgis_core.so.1.7.0
 #6  0x004448ff in QgsVectorLayer::drawRendererV2(QgsRenderContext&, bool)
 ()
    from /home/ravn/apps/lib/libqgis_core.so.1.7.0
 #7  0x004459e4 in QgsVectorLayer::draw(QgsRenderContext&) ()
    from /home/ravn/apps/lib/libqgis_core.so.1.7.0
 #8  0x003f3d6b in QgsMapRenderer::render(QPainter*) ()
    from /home/ravn/apps/lib/libqgis_core.so.1.7.0
 #9  0x00b26e82 in QgsMapCanvasMap::render() ()
    from /home/ravn/apps/lib/libqgis_gui.so.1.7.0
 #10 0x00b20870 in QgsMapCanvas::refresh() ()
    from /home/ravn/apps/lib/libqgis_gui.so.1.7.0
 #11 0x00b596d1 in QgsMapCanvas::qt_metacall(QMetaObject::Call, int,
 void**) ()
    from /home/ravn/apps/lib/libqgis_gui.so.1.7.0
 #12 0x00e84c9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int,
 void**) () from /usr/lib/libQtCore.so.4
 #13 0x00e933d5 in QMetaObject::activate(QObject*, QMetaObject const*, int,
 void**) () from /usr/lib/libQtCore.so.4
 #14 0x007c9b1b in QgsMapLayer::repaintRequested() ()
    from /home/ravn/apps/lib/libqgis_core.so.1.7.0
 #15 0x00446c0b in QgsVectorLayer::triggerRepaint() ()
    from /home/ravn/apps/lib/libqgis_core.so.1.7.0
 #16 0x0817a934 in QgisApp::toggleEditing(QgsMapLayer*, bool) ()
 #17 0x083e4af2 in QgisApp::qt_metacall(QMetaObject::Call, int, void**) ()
 #18 0x00e84c9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int,
 void**) () from /usr/lib/libQtCore.so.4
 #19 0x00e933d5 in QMetaObject::activate(QObject*, QMetaObject const*, int,
 void**) () from /usr/lib/libQtCore.so.4
 #20 0x083f2206 in QgsAttributeTableDialog::editingToggled(QgsMapLayer*) ()
 #21 0x0838be32 in
 QgsAttributeTableDialog::on_mToggleEditingButton_toggled() ()
 #22 0x083f211c in QgsAttributeTableDialog::qt_metacall(QMetaObject::Call,
 int, void**) ()
 #23 0x00e84c9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int,
 void**) () from /usr/lib/libQtCore.so.4
 #24 0x00e933d5 in QMetaObject::activate(QObject*, QMetaObject const*, int,
 void**) () from /usr/lib/libQtCore.so.4
 ---Type <return> to continue, or q <return> to quit---
 #25 0x017f5429 in QAbstractButton::toggled(bool) () from
 /usr/lib/libQtGui.so.4
 #26 0x014d6074 in QAbstractButton::setChecked(bool) ()
    from /usr/lib/libQtGui.so.4
 #27 0x014d6210 in QAbstractButton::nextCheckState() ()
    from /usr/lib/libQtGui.so.4
 #28 0x015b8be0 in QToolButton::nextCheckState() () from
 /usr/lib/libQtGui.so.4
 #29 0x014d5cb3 in ?? () from /usr/lib/libQtGui.so.4
 #30 0x014d5fae in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
    from /usr/lib/libQtGui.so.4
 #31 0x015b909c in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
    from /usr/lib/libQtGui.so.4
 #32 0x011287f8 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
 #33 0x014d4d4e in QAbstractButton::event(QEvent*) ()
    from /usr/lib/libQtGui.so.4
 #34 0x015bbbca in QToolButton::event(QEvent*) () from
 /usr/lib/libQtGui.so.4
 #35 0x010ca4dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    from /usr/lib/libQtGui.so.4
 #36 0x010d19f7 in QApplication::notify(QObject*, QEvent*) ()
    from /usr/lib/libQtGui.so.4
 #37 0x003aaf73 in QgsApplication::notify(QObject*, QEvent*) ()
    from /home/ravn/apps/lib/libqgis_core.so.1.7.0
 #38 0x00e7fa3b in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
    from /usr/lib/libQtCore.so.4
 #39 0x010d0952 in QApplicationPrivate::sendMouseEvent(QWidget*,
 QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
    from /usr/lib/libQtGui.so.4
 #40 0x0115c088 in ?? () from /usr/lib/libQtGui.so.4
 #41 0x0115b511 in QApplication::x11ProcessEvent(_XEvent*) ()
    from /usr/lib/libQtGui.so.4
 #42 0x0118a60a in ?? () from /usr/lib/libQtGui.so.4
 #43 0x0288f5e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
 #44 0x028932d8 in ?? () from /lib/libglib-2.0.so.0
 #45 0x028934b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
 #46 0x00eab5d5 in
 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
 () from /usr/lib/libQtCore.so.4
 #47 0x0118a135 in ?? () from /usr/lib/libQtGui.so.4
 #48 0x00e7e059 in
 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
 /usr/lib/libQtCore.so.4
 #49 0x00e7e4aa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
 ()
    from /usr/lib/libQtCore.so.4
 #50 0x00e8269f in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
 #51 0x010ca577 in QApplication::exec() () from /usr/lib/libQtGui.so.4
 #52 0x0814d829 in main ()

-- 
Ticket URL: <https://trac.osgeo.org/qgis/ticket/3412#comment:2>
Quantum GIS <http://qgis.org>
Quantum GIS is an Open Source GIS viewer/editor supporting OGR, PostGIS, and GRASS formats


More information about the QGIS-trac mailing list