Bug report #2837

merge shapefiles crashes qgis

Added by Giovanni Manghi over 10 years ago. Updated over 10 years ago.

Status:Closed
Priority:Low
Assignee:cfarmer -
Category:Python plugins
Affected QGIS version: Regression?:No
Operating System:All Easy fix?:No
Pull Request or Patch supplied: Resolution:
Crashes QGIS or corrupts data: Copied to github as #:12897

Description

merging the following shapefiles

under linux (Ubuntu 10.04) causes qgis to crash

Warning: QPixmap: It is not safe to use pixmaps outside the GUI thread
Warning: QPixmap: It is not safe to use pixmaps outside the GUI thread
Segmentation fault

the same operation with the same dataset works fine under Windows Seven.

Using qgis trunk.

History

#1 Updated by Giovanni Manghi over 10 years ago

sorry, forgot to add the download link

http://www.faunalia.pt/downloads/cart_2.tar.gz

#2 Updated by Jürgen Fischer over 10 years ago

Replying to lutra:

merging the following shapefiles under linux (Ubuntu 10.04) causes qgis to crash

not reproducable on Debian unstable. Do you have a backtrace?

#3 Updated by Jürgen Fischer over 10 years ago

Replying to [comment:2 jef]:

not reproducable on Debian unstable. Do you have a backtrace?

oh, any plugins involved?

#4 Updated by Jürgen Fischer over 10 years ago

Replying to [comment:3 jef]:

oh, any plugins involved?

like SDA4PP?

#5 Updated by Giovanni Manghi over 10 years ago

Replying to [comment:4 jef]:

Replying to [comment:3 jef]:

oh, any plugins involved?

like SDA4PP?

I removed SDA4pp and disabled all the other and I still have the crash with the same message

Warning: QPixmap: It is not safe to use pixmaps outside the GUI thread
Warning: QPixmap: It is not safe to use pixmaps outside the GUI thread
Segmentation fault

I'm using the ubuntugis repositories and qgis trunk compiled from source.

#6 Updated by Alexander Bruy over 10 years ago

Confirmed QGIS crash on Slackware linux. Under Windows XP merging the following files works fine.
But on Linux QGIS craches too when I try to open shapefile pen_01.shp. Here is debug output before crash

Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsmaprenderer.cpp: 186: (adjustExtentToSize) -24040.6198250000015832,40992.8055770874052541 : -22359.4931749999996100,41256.3346206665009959
Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsscalecalculator.cpp: 139: (calculateGeographicDistance) Distance across map extent (m): 1.13268e+07
Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsscalecalculator.cpp: 90: (calculate) Using conversionFactor of 39.3701
Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsmaprenderer.cpp: 197: (adjustExtentToSize) Scale (assuming meters as map units) = 1:8.82862e+07
Debug: /home/alex/devel/cpp/qgis/trunk/src/gui/qgsmapoverviewcanvas.cpp: 162: (drawExtentRect) panning: extent to widget: [-2147483648,-2147483648] [1x1]
Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsmaprenderer.cpp: 212: (render) ========== Rendering ==========
Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsmaprenderer.cpp: 236: (render) Starting to render layer stack.
Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsmaprenderer.cpp: 323: (render) Rendering at layer item pen_0120100627193701245
Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsmaprenderer.cpp: 331: (render) If there is a QPaintEngine error here, it is caused by an emit call
Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsmaprenderer.cpp: 342: (render) Rendering layer pen_01
Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsmaprenderer.cpp: 343: (render)   Layer minscale 0
Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsmaprenderer.cpp: 344: (render)   Layer maxscale 1e+08
Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsmaprenderer.cpp: 345: (render)   Scale dep. visibility enabled? 0
Debug: /home/alex/devel/cpp/qgis/trunk/src/core/qgsmaprenderer.cpp: 346: (render)   Input extent: -24000.5930000000007567,40999.0800781250000000 : -22399.5200000000004366,41250.0601196289062500
Debug: /home/alex/devel/cpp/qgis/trunk/src/providers/ogr/qgsogrprovider.cpp: 586: (select) Setting spatial filter using POLYGON((-24040.61982500 40341.74243660, -24040.61982500 41907.39776115, -22359.49317500 41907.39776115, -22359.49317500 40341.74243660, -24040.61982500 40341.74243660))
ERROR 1: Corrupted .shp file : shape 3 : panPartStartr4 = 10, panPartStartr3 = 229
Segmentation fault

Running ogrinfo on this shape produces

bash-3.1$ ogrinfo ~/samples/vector/cart_2/pen_01.shp
INFO: Open of @/home/alex/samples/vector/cart_2/pen_01.shp'
      using driver @ESRI Shapefile' successful.
1: pen_01 (Line String)

#7 Updated by Giovanni Manghi over 10 years ago

I guessed that was a problem in one of the shapefiles, nevertheless it should not crash.

PS
I'm using GDAL 1.7

#8 Updated by Jürgen Fischer over 10 years ago

Replying to [comment:7 lutra]:

I guessed that was a problem in one of the shapefiles, nevertheless it should not crash.

Looks like it crashes within OGR. OGR_L_GetNextFeature doesn't return...

#9 Updated by Jürgen Fischer over 10 years ago

  • Status changed from Open to Closed
  • Resolution set to worksforme

Replying to [comment:8 jef]:

Replying to [comment:7 lutra]:

I guessed that was a problem in one of the shapefiles, nevertheless it should not crash.

Looks like it crashes within OGR. OGR_L_GetNextFeature doesn't return...

Fix filed as GDAL

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

  • Status changed from Closed to Feedback
  • Resolution deleted (worksforme)

#11 Updated by Jürgen Fischer over 10 years ago

  • Resolution set to upstream
  • Status changed from Feedback to Closed

Also available in: Atom PDF