Bug report #4963
Calculation of polygon's centroids leads to QGIS crashes
|Affected QGIS version:||master||Regression?:|
|Operating System:||Easy fix?:|
|Pull Request or Patch supplied:||No||Resolution:|
|Crashes QGIS or corrupts data:||Yes||Copied to github as #:||14755|
If try to calculate centroids of polygon against attached layer then QGIS crashes. It is known this layer contains topological errors, but if test it against check geometry tool in Linux: 0 topological errors, but progress bar stay on 66%, in Windows: QGIS crashes or freezes sometimes.
- fTools/polygon centroids: catch missing centroid with invalid geometry
- fTools/validate geometry: * fix final position of progress bar * don't use isGeosValid() * zoom to feature on locationless errors (including OTFR support) * store/restore dialog position
- QgsGeometry(Validator): * log GEOS exceptions * (closed) rings need at least 4 points not 3 * log error when geometry can't be exported to GEOS * don't produce "geometry is valid" error
- improve logging from threads * keep message output from main thread as popup * log message from threads to message log (fixes crash on python error
#2 Updated by Giovanni Manghi over 10 years ago
confirmed, error message is
[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
qgis.bin: ../../src/xcb_io.c:178: dequeue_pending_request: Assertion `!xcb_xlib_unknown_req_in_deq' failed.