Opened 13 years ago

Last modified 13 years ago

#3412 new bug

crash when double clicking edit table button

Reported by: ravn Owned by: nobody
Priority: critical: causes crash or data corruption Milestone: Version 1.7.0
Component: GUI Version: Trunk
Keywords: postgis table edit Cc:
Must Fix for Release: No Platform: Debian
Platform Version: ubuntu 10.04 Awaiting user input: no

Description

To reproduce: Select a postGIS layer open the attribute table click fast twice on the edit button to edit the table

Change History (3)

comment:1 by lutra, 13 years ago

I cannot replicate it on my Ubuntu (10.04) box. Using trunk too.

comment:2 by ravn, 13 years ago

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 ()

comment:3 by brushtyler, 13 years ago

Looking at the backtrace, this issue is probably related to #2714.

Note: See TracTickets for help on using tickets.