Bug report #7483

Crash after selecting rows in attribute table

Added by Alexander Bruy over 6 years ago. Updated over 6 years ago.

Status:Closed
Priority:Severe/Regression
Assignee:Matthias Kuhn
Category:-
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 #:16435

Description

Seems caused by merging dual-view branch.

Steps to reproduce:
  1. open any vector layer
  2. open attribute table
  3. select on row, then try to select another row or select several features
  4. QGIS crashes with "Segmentation fault"

admin.tar.bz2 - Sample shapefile (47.9 KB) Alexander Bruy, 2013-04-02 03:38 AM

Associated revisions

Revision b0355276
Added by Matthias Kuhn over 6 years ago

[FIX #7483] Attribute table changed selection on layer twice subsequently
This led to a crash and was superfluent

Revision 255b467b
Added by Jürgen Fischer over 6 years ago

Merge pull request #496 from matthias-kuhn/fix-7483

[FIX #7483] Attribute table changed selection on layer twice subsequent...

History

#1 Updated by Matthias Kuhn over 6 years ago

  • Status changed from Open to Feedback

Sorry, I can't reproduce this here.

Can somebody else confirm?

Alex, what dataprovider are you using?

I tried postgres (with and without "select at id") and shapefile.

#2 Updated by Regis Haubourg over 6 years ago

Yes confirmed here right now on windows.

#3 Updated by Alexander Bruy over 6 years ago

Tested with shapefiles (sample dataset attached) and with postgresql/postgis (connection settings http://gis-lab.info/qa/geosample.html#PostGIS) with same result. QGIS crashes with "Segmentation fault". Here is last few strings from console output

Debug: src/core/qgsmaprenderer.cpp: 369: (render) If there is a QPaintEngine error here, it is caused by an emit call
Debug: src/core/qgsmaprenderer.cpp: 387: (render) layer admin:  minscale:0  maxscale:1e+08  scaledepvis:0  extent:75.0819396972655966,49.0830841064452983 : 89.8699798583983949,57.2502746582030966  blendmode:0
Debug: src/core/qgsmaprenderer.cpp: 478: (render) Caching enabled but layer redraw forced by extent change or empty cache
Debug: src/core/qgsmaplayer.cpp: 1246: (setCacheImage) cache Image set!
Debug: src/core/qgsvectorlayer.cpp: 982: (draw) rendering v2:
SINGLE: FILL SYMBOL (1 layers) color 225,110,231,255
Debug: src/core/qgspallabeling.cpp: 1240: (prepareLayer) PREPARE LAYER admin20130402143234605
Debug: src/providers/postgres/qgspostgresconn.cpp: 804: (openCursor) Starting read-only transaction
Debug: src/core/qgsmaplayer.cpp: 1246: (setCacheImage) cache Image set!
Warning: QPaintDevice: Cannot destroy paint device that is being painted
Segmentation fault

Can't get anything useful from gdb.
Maybe local issue. Anyone else can confirm?

#4 Updated by Matthias Kuhn over 6 years ago

Confirmed with the attached shapefile. Will look into this.

#5 Updated by Matthias Kuhn over 6 years ago

  • Status changed from Feedback to In Progress

The attribute table was a bit overactive in feature selection. It called setSelectedFeatures twice subsequently. Apparently QGIS didn't like this.

https://github.com/qgis/Quantum-GIS/pull/496

#6 Updated by Jürgen Fischer over 6 years ago

  • Status changed from In Progress to Closed

Also available in: Atom PDF