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 , 13 years ago
comment:2 by , 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 ()
I cannot replicate it on my Ubuntu (10.04) box. Using trunk too.