Opened 16 years ago

Closed 16 years ago

Last modified 15 years ago

#802 closed bug (fixed)

querying a broken polygon crashes QGIS

Reported by: msieczka Owned by: nobody
Priority: critical: causes crash or data corruption Milestone:
Component: Digitising Version: Trunk
Keywords: Cc:
Must Fix for Release: Yes Platform: Debian
Platform Version: Awaiting user input: no

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 ()
#1  0xb63939a1 in raise () from /lib/tls/i686/cmov/libc.so.6
#2  0xb63952b9 in abort () from /lib/tls/i686/cmov/libc.so.6
#3  0xb6576450 in __gnu_cxx::__verbose_terminate_handler () from /usr/lib/libstdc++.so.6
#4  0xb6574185 in std::set_unexpected () from /usr/lib/libstdc++.so.6
#5  0xb65741b6 in std::terminate () from /usr/lib/libstdc++.so.6
#6  0xb65742ba in __cxa_throw () from /usr/lib/libstdc++.so.6
#7  0xb6baac3b in geos::LinearRing::validateConstruction (this=0x84e9eb8) at LinearRing.cpp:106
#8  0xb6baad50 in LinearRing (this=0x84e9eb8, newCoords=0x0, newFactory=0x0) at LinearRing.cpp:97
#9  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
#11 0xb6f350b2 in QgsGeometry::intersects (this=0x86c0990, geometry=0x86cab78) at /home/shoofi/src/straight/qgis09/src/core/qgsgeometry.cpp:2832
#12 0xb6f352c8 in QgsGeometry::intersects (this=0x86c0990, r=@0xbfa10c68) at /home/shoofi/src/straight/qgis09/src/core/qgsgeometry.cpp:2824
#13 0xb2f08208 in QgsOgrProvider::getNextFeature (this=0x86cad10, feature=@0xbfa10e5c) at /home/shoofi/src/straight/qgis09/src/providers/ogr/qgsogrprovider.cpp:294
#14 0x0816921e in QgsMapToolIdentify::identifyVectorLayer (this=0x84fda18, layer=0x8356d40, point=@0xbfa110e8) at /home/shoofi/src/straight/qgis09/src/app/qgsmaptoolidentify.cpp:282
#15 0x0816a9ca in QgsMapToolIdentify::canvasReleaseEvent (this=0x84fda18, e=0xbfa117bc) at /home/shoofi/src/straight/qgis09/src/app/qgsmaptoolidentify.cpp:98
#16 0xb6e5a31b in QgsMapCanvas::mouseReleaseEvent (this=0x84bef48, e=0xbfa117bc) at /home/shoofi/src/straight/qgis09/src/gui/qgsmapcanvas.cpp:671
#17 0xb76b39dd in QWidget::event (this=0x84bef48, event=0xbfa117bc) at kernel/qwidget.cpp:6080
#18 0xb79b43bb in QFrame::event (this=0x84bef48, e=0xbfa117bc) at widgets/qframe.cpp:657
#19 0xb7a3decb in QAbstractScrollArea::viewportEvent (this=0x3bbb, e=0x6) at widgets/qabstractscrollarea.cpp:920
#20 0xb7b98638 in QGraphicsView::viewportEvent (this=0x84bef48, event=0xbfa117bc) at graphicsview/qgraphicsview.cpp:2337
#21 0xb7a409b4 in QAbstractScrollAreaFilter::eventFilter (this=0x0, o=0x84f5570, e=0x0) at qabstractscrollarea_p.h:95
#22 0xb766eb97 in QApplicationPrivate::notify_helper (this=0x82e96e8, receiver=0x84f5570, e=0xbfa117bc) at kernel/qapplication.cpp:3550
#23 0xb7671ff8 in QApplication::notify (this=0xbfa11f0c, receiver=0x84f5570, e=0xbfa117bc) at kernel/qapplication.cpp:3257
#24 0xb7e2cf64 in QCoreApplication::notifyInternal (this=0xbfa11f0c, receiver=0x84f5570, event=0xbfa117bc) at kernel/qcoreapplication.cpp:532
#25 0xb76cabd7 in QETWidget::translateMouseEvent (this=0x84f5570, event=0xbfa11b1c) at qcoreapplication.h:205
#26 0xb76ca4ab in QApplication::x11ProcessEvent (this=0xbfa11f0c, event=0xbfa11b1c) at kernel/qapplication_x11.cpp:2917
#27 0xb76eedab in x11EventSourceDispatch (s=0x830b258, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:137
#28 0xb62f18d6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#29 0xb62f4996 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#30 0xb62f4e1e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#31 0xb7e503b5 in QEventDispatcherGlib::processEvents (this=0x83080e0, flags=@0xbfa11d08) at kernel/qeventdispatcher_glib.cpp:340
#32 0xb76ee957 in QGuiEventDispatcherGlib::processEvents (this=0x83080e0, flags=@0x3bbb) at kernel/qguieventdispatcher_glib.cpp:193
#33 0xb7e2c873 in QEventLoop::processEvents (this=0x0, flags=@0x0) at kernel/qeventloop.cpp:141
#34 0xb7e2c9b2 in QEventLoop::exec (this=0xbfa11da0, flags=@0xbfa11da8) at kernel/qeventloop.cpp:187
#35 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.

Attachments (1)

pasma_tomek.tar.bz2 (2.0 KB ) - added by msieczka 16 years ago.

Download all attachments as: .zip

Change History (4)

by msieczka, 16 years ago

Attachment: pasma_tomek.tar.bz2 added

comment:1 by jef, 16 years ago

Resolution: fixed
Status: newclosed

fixed in r7294

comment:2 by jef, 16 years ago

correction: fixed in r7394

comment:3 by (none), 15 years ago

Milestone: Version 0.9.1

Milestone Version 0.9.1 deleted

Note: See TracTickets for help on using tickets.