Bug report #3412

crash when double clicking edit table button

Added by ravn - over 8 years ago. Updated over 7 years ago.

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

Description

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

History

#1 Updated by Giovanni Manghi over 8 years ago

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

#2 Updated by ravn - over 8 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 ?? ()
#3905 0x01233d6e in ?? () from /usr/lib/libQtGui.so.4
#3906 0x01233ef1 in QPainter::setBrush(QBrush const&) ()
from /usr/lib/libQtGui.so.4
#3907 0x00382c18 in QgsSimpleFillSymbolLayerV2::renderPolygon(QPolygonF const&, QList<QPolygonF>*, QgsSymbolV2RenderContext&) ()
from /home/ravn/apps/lib/libqgis_core.so.1.7.0
#3908 0x00369fad in QgsFillSymbolV2::renderPolygon(QPolygonF const&, QList<QPolygonF>*, QgsRenderContext&, int, bool) ()
from /home/ravn/apps/lib/libqgis_core.so.1.7.0
#3909 0x003860c2 in QgsFeatureRendererV2::renderFeature(QgsFeature&, QgsRenderContext&, int, bool, bool) () from /home/ravn/apps/lib/libqgis_core.so.1.7.0
#3910 0x004448ff in QgsVectorLayer::drawRendererV2(QgsRenderContext&, bool) ()
from /home/ravn/apps/lib/libqgis_core.so.1.7.0
#3911 0x004459e4 in QgsVectorLayer::draw(QgsRenderContext&) ()
from /home/ravn/apps/lib/libqgis_core.so.1.7.0
#3912 0x003f3d6b in QgsMapRenderer::render(QPainter*) ()
from /home/ravn/apps/lib/libqgis_core.so.1.7.0
#3913 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
#3914 0x00b596d1 in QgsMapCanvas::qt_metacall(QMetaObject::Call, int, void**) ()
from /home/ravn/apps/lib/libqgis_gui.so.1.7.0
#3915 0x00e84c9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#3916 0x00e933d5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#3917 0x007c9b1b in QgsMapLayer::repaintRequested() ()
from /home/ravn/apps/lib/libqgis_core.so.1.7.0
#3918 0x00446c0b in QgsVectorLayer::triggerRepaint() ()
from /home/ravn/apps/lib/libqgis_core.so.1.7.0
#3919 0x0817a934 in QgisApp::toggleEditing(QgsMapLayer*, bool) ()
#3920 0x083e4af2 in QgisApp::qt_metacall(QMetaObject::Call, int, void**) ()
#3921 0x00e84c9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#3922 0x00e933d5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#3923 0x083f2206 in QgsAttributeTableDialog::editingToggled(QgsMapLayer*) ()
#3924 0x0838be32 in QgsAttributeTableDialog::on_mToggleEditingButton_toggled() ()
#3925 0x083f211c in QgsAttributeTableDialog::qt_metacall(QMetaObject::Call, int, void**) ()
#3926 0x00e84c9a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#3927 0x00e933d5 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
---Type <return> to continue, or q <return> to quit---
#3928 0x017f5429 in QAbstractButton::toggled(bool) () from /usr/lib/libQtGui.so.4
#3929 0x014d6074 in QAbstractButton::setChecked(bool) ()
from /usr/lib/libQtGui.so.4
#3930 0x014d6210 in QAbstractButton::nextCheckState() ()
from /usr/lib/libQtGui.so.4
#3931 0x015b8be0 in QToolButton::nextCheckState() () from /usr/lib/libQtGui.so.4
#3932 0x014d5cb3 in ?? () from /usr/lib/libQtGui.so.4
#3933 0x014d5fae in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib/libQtGui.so.4
#3934 0x015b909c in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib/libQtGui.so.4
#3935 0x011287f8 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#3936 0x014d4d4e in QAbstractButton::event(QEvent*) ()
from /usr/lib/libQtGui.so.4
#3937 0x015bbbca in QToolButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#3938 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 ()

#3 Updated by Giuseppe Sucameli over 8 years ago

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

#4 Updated by Giovanni Manghi almost 8 years ago

  • Target version changed from Version 1.7.0 to Version 1.7.4

#5 Updated by Giovanni Manghi over 7 years ago

  • Status info deleted (0)
  • Crashes QGIS or corrupts data set to No
  • Status changed from Open to Closed
  • Assignee deleted (nobody -)
  • Affected QGIS version set to master
  • Pull Request or Patch supplied set to No
  • Resolution set to fixed

Not replicable on both Windows and Linux with master and 1.7.3. Probably already fixed as commented by Giuseppe. Reopen if necessary.

Also available in: Atom PDF