Opened 16 years ago

Closed 15 years ago

Last modified 15 years ago

#1268 closed bug (worksforme)

crash due to an unhandled GEOSException

Reported by: msieczka Owned by: nobody
Priority: major: does not work as expected Milestone:
Component: OGR Layer support Version: Trunk
Keywords: Cc:
Must Fix for Release: Yes Platform: All
Platform Version: Awaiting user input: no

Description

QGIS trunk r9243, GEOS 3.0.0, QT 4.4.0, Debian testing amd64.

While zooming around my various data (shapefiles and an SRTM in the original hgt format) QGIS crashed out of sudden, saying in it's last lines of output:

Warning: QString::arg: Argument missing: GEOS exception encountered: , <³ó
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsgeometry.cpp: 70: (throwGEOSException) GEOS exception encountered: 
Warning: Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

terminate called after throwing an instance of 'GEOSException'
Aborted

Some more context before the crash:

Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaprenderer.cpp: 283: (render)   Scale dep. visibility enabled? 0
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaprenderer.cpp: 284: (render)   Input extent: -13638896.6873203646391630,-10303222.4935561791062355 : 5769681.5712591772899032,7573984.2448347210884094
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaplayer.cpp: 323: (connectNotify) QgsMapLayer connected to 2drawingProgress(int,int)
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgscoordinatetransform.cpp: 360: (transformBoundingBox) Entering transformBoundingBox...
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgscoordinatetransform.cpp: 407: (transformBoundingBox) Projected extent: 495968.1790201322291978,278782.9114470463246107 : 496785.5263534721452743,279693.5328877875581384
Debug: /home/shoofi/src/straight/qgis-trunk/src/providers/ogr/qgsogrprovider.cpp: 360: (select) Setting spatial filter using POLYGON((495968.17902013 278782.91144705, 495968.17902013 279693.53288779, 496785.52635347 279693.53288779, 496785.52635347 278782.91144705, 495968.17902013 278782.91144705))
Debug: /home/shoofi/src/straight/qgis-trunk/src/providers/ogr/qgsogrprovider.cpp: 323: (getNextFeature) Feature is null
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaprenderer.cpp: 261: (render) Rendering at layer item Data_layer20080902165046458
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaprenderer.cpp: 269: (render) If there is a QPaintEngine error here, it is caused by an emit call
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaplayer.cpp: 107: (name) returning name 'Data layer'
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaprenderer.cpp: 280: (render) Rendering layer Data layer
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaprenderer.cpp: 281: (render)   Layer minscale 1
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaprenderer.cpp: 282: (render)   Layer maxscale 1e+08
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaprenderer.cpp: 283: (render)   Scale dep. visibility enabled? 0
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaprenderer.cpp: 284: (render)   Input extent: -0.1500000000000000,-0.1500000000000000 : 236790.2799999999988358,883500.0000000000000000
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaplayer.cpp: 323: (connectNotify) QgsMapLayer connected to 2drawingProgress(int,int)
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgscoordinatetransform.cpp: 360: (transformBoundingBox) Entering transformBoundingBox...
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgscoordinatetransform.cpp: 407: (transformBoundingBox) Projected extent: 236053.6784320765582379,882728.7364222751930356 : 236871.0813827015517745,883639.5299752112478018
Debug: /home/shoofi/src/straight/qgis-trunk/src/providers/ogr/qgsogrprovider.cpp: 360: (select) Setting spatial filter using POLYGON((236053.67843208 882728.73642228, 236053.67843208 883639.52997521, 236871.08138270 883639.52997521, 236871.08138270 882728.73642228, 236053.67843208 882728.73642228))
Warning: QString::arg: Argument missing: GEOS exception encountered: , <³ó
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsgeometry.cpp: 70: (throwGEOSException) GEOS exception encountered: 
Warning: Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

terminate called after throwing an instance of 'GEOSException'
Aborted

Attachments (1)

ewid.zip (18.5 KB ) - added by msieczka 16 years ago.
a shapefile for testing

Download all attachments as: .zip

Change History (12)

comment:1 by jef, 16 years ago

Resolution: fixed
Status: newclosed

fixed in r9244

comment:2 by msieczka, 16 years ago

Resolution: fixed
Status: closedreopened

Still crashes in r9245. Slightly different though:

Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsmaplayer.cpp: 323: (connectNotify) QgsMapLayer connected to 2drawingProgress(int,int)
Debug: /home/shoofi/src/straight/qgis-trunk/src/providers/ogr/qgsogrprovider.cpp: 360: (select) Setting spatial filter using POLYGON((263.83267064 22.40958264, 263.83267064 248.89277539, 581.69753135 248.89277539, 581.69753135 22.40958264, 263.83267064 22.40958264))
ERROR 1: IllegalArgumentException: points must form a closed linestring
Debug: /home/shoofi/src/straight/qgis-trunk/src/core/qgsgeometry.cpp: 70: (throwGEOSException) GEOS exception encountered: 
                                                                                                                            Ź
Warning: Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

terminate called after throwing an instance of 'GEOSException'
Aborted

comment:3 by msieczka, 16 years ago

I'm attaching a shapefile for testing.

by msieczka, 16 years ago

Attachment: ewid.zip added

a shapefile for testing

comment:4 by telwertowski, 16 years ago

Not able to reproduce on a Mac. May be platform-specific or only occurs when zooming to a specific place in the file.

Added application-wide exception handler for uncaught events in r9319. It will display an alert rather than crashing and may allow you to continue working if the unsuccessful zoom hasn't left QGIS in an unstable state.

comment:5 by mhugent, 15 years ago

Could you test if this bug is still valid and close if not? I tested with geos-2.2.3 and geos-3.0.0 and had no crash with both. There are a lot of warning about not closed linear rings on console, so my guess is that the geos exceptions are fixed now.

Marco

in reply to:  5 comment:6 by msieczka, 15 years ago

Replying to mhugent:

Could you test if this bug is still valid and close if not? I tested with geos-2.2.3 and geos-3.0.0 and had no crash with both.

I can't test, because the shapefile attached to this ticket is not visible now in QGIS. No matter what CRS I use for a project or the shapefile itself. What is it?

comment:7 by pcav, 15 years ago

I confirm: the sample file loads without errors, but nothing is shown. On file (.dbf) of the three canonicals is missing.

comment:8 by pcav, 15 years ago

Priority: critical: causes crash or data corruptionmajor: does not work as expected

comment:9 by pcav, 15 years ago

Hi msieczka. It is unclear if the issue is still valid: the sample data are missing one of the necessary files (.dbf), so QGIS might be right not showing it. Could you please test again with valid data? Thanks.

comment:10 by pcav, 15 years ago

Resolution: worksforme
Status: reopenedclosed

Correction: the file does show up (you just have to zoom a lot). Zooming does not crash for me. Please reopen it if necessary.

comment:11 by (none), 15 years ago

Milestone: Version 1.0.2

Milestone Version 1.0.2 deleted

Note: See TracTickets for help on using tickets.