Bug report #802

querying a broken polygon crashes QGIS

Added by Maciej Sieczka - over 16 years ago. Updated over 14 years ago.

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

Description

SVN 7389.

When querying or editing a broken "polygon" (consisting of only 1 or 2 vertices) in a shapefile (created in fGIS) QGIS crashes as following:

Debug: /home/shoofi/src/straight/qgis09/src/core/qgsgeometry.cpp: 3303: (exportWkbToGeos) Polygon found
terminate called after throwing an instance of 'geos::IllegalArgumentException*'

Program received signal SIGABRT, Aborted.
[Switching to Thread -1257321792 (LWP 15291)]
0xffffe410 in +kernel_vsyscall ()
(gdb) bt
#0  0xffffe410 in +kernel_vsyscall ()
#3905  0xb63939a1 in raise () from /lib/tls/i686/cmov/libc.so.6
#3906  0xb63952b9 in abort () from /lib/tls/i686/cmov/libc.so.6
#3907  0xb6576450 in +gnu_cxx::+verbose_terminate_handler () from /usr/lib/libstdc++.so.6
#3908  0xb6574185 in std::set_unexpected () from /usr/lib/libstdc++.so.6
#3909  0xb65741b6 in std::terminate () from /usr/lib/libstdc++.so.6
#3910  0xb65742ba in +cxa_throw () from /usr/lib/libstdc++.so.6
#3911  0xb6baac3b in geos::LinearRing::validateConstruction (this=0x84e9eb8) at [[LinearRing]].cpp:106
#3912  0xb6baad50 in [[LinearRing]] (this=0x84e9eb8, newCoords=0x0, newFactory=0x0) at [[LinearRing]].cpp:97
#3913  0xb6ba7d7c in geos::GeometryFactory::createLinearRing (this=0x0, newCoords=0x0) at [[GeometryFactory]].cpp:423
#10 0xb6f34a79 in [[QgsGeometry]]::exportWkbToGeos (this=0x86c0990) at /home/shoofi/src/straight/qgis09/src/core/qgsgeometry.cpp:3334
#3914 0xb6f350b2 in [[QgsGeometry]]::intersects (this=0x86c0990, geometry=0x86cab78) at /home/shoofi/src/straight/qgis09/src/core/qgsgeometry.cpp:2832
#3915 0xb6f352c8 in [[QgsGeometry]]::intersects (this=0x86c0990, r=@0xbfa10c68) at /home/shoofi/src/straight/qgis09/src/core/qgsgeometry.cpp:2824
#3916 0xb2f08208 in [[QgsOgrProvider]]::getNextFeature (this=0x86cad10, feature=@0xbfa10e5c) at /home/shoofi/src/straight/qgis09/src/providers/ogr/qgsogrprovider.cpp:294
#3917 0x0816921e in [[QgsMapToolIdentify]]::identifyVectorLayer (this=0x84fda18, layer=0x8356d40, point=@0xbfa110e8) at /home/shoofi/src/straight/qgis09/src/app/qgsmaptoolidentify.cpp:282
#3918 0x0816a9ca in [[QgsMapToolIdentify]]::canvasReleaseEvent (this=0x84fda18, e=0xbfa117bc) at /home/shoofi/src/straight/qgis09/src/app/qgsmaptoolidentify.cpp:98
#3919 0xb6e5a31b in [[QgsMapCanvas]]::mouseReleaseEvent (this=0x84bef48, e=0xbfa117bc) at /home/shoofi/src/straight/qgis09/src/gui/qgsmapcanvas.cpp:671
#3920 0xb76b39dd in QWidget::event (this=0x84bef48, event=0xbfa117bc) at kernel/qwidget.cpp:6080
#3921 0xb79b43bb in QFrame::event (this=0x84bef48, e=0xbfa117bc) at widgets/qframe.cpp:657
#3922 0xb7a3decb in QAbstractScrollArea::viewportEvent (this=0x3bbb, e=0x6) at widgets/qabstractscrollarea.cpp:920
#3923 0xb7b98638 in QGraphicsView::viewportEvent (this=0x84bef48, event=0xbfa117bc) at graphicsview/qgraphicsview.cpp:2337
#3924 0xb7a409b4 in QAbstractScrollAreaFilter::eventFilter (this=0x0, o=0x84f5570, e=0x0) at qabstractscrollarea_p.h:95
#3925 0xb766eb97 in QApplicationPrivate::notify_helper (this=0x82e96e8, receiver=0x84f5570, e=0xbfa117bc) at kernel/qapplication.cpp:3550
#3926 0xb7671ff8 in QApplication::notify (this=0xbfa11f0c, receiver=0x84f5570, e=0xbfa117bc) at kernel/qapplication.cpp:3257
#3927 0xb7e2cf64 in QCoreApplication::notifyInternal (this=0xbfa11f0c, receiver=0x84f5570, event=0xbfa117bc) at kernel/qcoreapplication.cpp:532
#3928 0xb76cabd7 in QETWidget::translateMouseEvent (this=0x84f5570, event=0xbfa11b1c) at qcoreapplication.h:205
#3929 0xb76ca4ab in QApplication::x11ProcessEvent (this=0xbfa11f0c, event=0xbfa11b1c) at kernel/qapplication_x11.cpp:2917
#3930 0xb76eedab in x11EventSourceDispatch (s=0x830b258, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:137
#3931 0xb62f18d6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#3932 0xb62f4996 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#3933 0xb62f4e1e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3934 0xb7e503b5 in QEventDispatcherGlib::processEvents (this=0x83080e0, flags=@0xbfa11d08) at kernel/qeventdispatcher_glib.cpp:340
#3935 0xb76ee957 in QGuiEventDispatcherGlib::processEvents (this=0x83080e0, flags=@0x3bbb) at kernel/qguieventdispatcher_glib.cpp:193
#3936 0xb7e2c873 in QEventLoop::processEvents (this=0x0, flags=@0x0) at kernel/qeventloop.cpp:141
#3937 0xb7e2c9b2 in QEventLoop::exec (this=0xbfa11da0, flags=@0xbfa11da8) at kernel/qeventloop.cpp:187
#3938 0xb7e2ee29 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:752
#36 0xb766e6c7 in QApplication::exec () at kernel/qapplication.cpp:3055
#37 0x080dd0e2 in main (argc=1, argv=0xbfa12154) at /home/shoofi/src/straight/qgis09/src/app/main.cpp:631
(gdb)

The shapefile is attached. The polygon in question is the sliver to the very west.

pasma_tomek.tar.bz2 (1.99 KB) Maciej Sieczka -, 2007-11-12 12:40 PM

Associated revisions

Revision aaae8482
Added by Jürgen Fischer over 16 years ago

catch more GEOS exceptions, fixes #802

git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@7394 c8812cc2-4d05-0410-92ff-de0c093fc19c

Revision e61a03cc
Added by Jürgen Fischer over 16 years ago

catch more GEOS exceptions, fixes #802

git-svn-id: http://svn.osgeo.org/qgis/trunk@7394 c8812cc2-4d05-0410-92ff-de0c093fc19c

History

#1 Updated by Jürgen Fischer over 16 years ago

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

fixed in

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

correction: fixed in e61a03cc (SVN r7395)

#3 Updated by Anonymous over 14 years ago

Milestone Version 0.9.1 deleted

Also available in: Atom PDF