Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QGIS crashes when running "Fix Geometries" Processing algorithm on the attached layer #25973

Closed
qgib opened this issue Feb 12, 2018 · 3 comments
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption Processing Relating to QGIS Processing framework or individual Processing algorithms

Comments

@qgib
Copy link
Contributor

qgib commented Feb 12, 2018

Author Name: gcarrillo - (gcarrillo -)
Original Redmine Issue: 18077
Affected QGIS version: master
Redmine category:processing/qgis
Assignee: Victor Olaya


I attach a GeoPackage DB with a single layer, which in turns has a single MultiLineString geometry.

This is the WKT representation of the geometry:

>>>feature.geometry().asWkt()
'MultiLineString ((356984.0625 6300089, 356984.0625 6300089))'

As soon as I run the "Fix Geometries" algorithm, QGIS crashes. This is the last part of the backtrace (hope that it helps):

Stacktrace (piped through c++filt):
/docs/dev/qgis/QGIS/build-master04/output/bin/qgis[0x40cfa3]
/docs/dev/qgis/QGIS/build-master04/output/bin/qgis[0x40d4b0]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x914c6)[0x7ff6fbf5e4c6]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(QMessageLogger::warning(char const*, ...) const+0xac)[0x7ff6fbf5f28c]
/docs/dev/qgis/QGIS/build-master04/output/lib/libqgis_core.so.2.99.0(+0xc8de26)[0x7ff6fdc05e26]
/usr/lib/x86_64-linux-gnu/libgeos_c.so.1(GEOSContextHandle_HS::ERROR_MESSAGE(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ...)+0xde)[0x7ff6f5d2bc6e]
/usr/lib/x86_64-linux-gnu/libgeos_c.so.1(GEOSGeom_createCollection_r+0x204)[0x7ff6f5d1f454]
/docs/dev/qgis/QGIS/build-master04/output/lib/libqgis_core.so.2.99.0(+0xc81f9a)[0x7ff6fdbf9f9a]
/docs/dev/qgis/QGIS/build-master04/output/lib/libqgis_core.so.2.99.0(+0xc827d0)[0x7ff6fdbfa7d0]
/docs/dev/qgis/QGIS/build-master04/output/lib/libqgis_core.so.2.99.0(+0xc82ced)[0x7ff6fdbfaced]
/docs/dev/qgis/QGIS/build-master04/output/lib/libqgis_core.so.2.99.0(QgsGeometry::makeValid() const+0x8b)[0x7ff6fdbe3605]
/docs/dev/qgis/QGIS/build-master04/output/lib/libqgis_analysis.so.2.99.0(+0xd1d48)[0x7ff6f8d82d48]
/docs/dev/qgis/QGIS/build-master04/output/lib/libqgis_core.so.2.99.0(QgsProcessingFeatureBasedAlgorithm::processAlgorithm(QMap<QString, QVariant> const&, QgsProcessingContext&, QgsProcessingFeedback*)+0x53e)[0x7ff6fd5ac304]
/docs/dev/qgis/QGIS/build-master04/output/lib/libqgis_core.so.2.99.0(QgsProcessingAlgorithm::runPrepared(QMap<QString, QVariant> const&, QgsProcessingContext&, QgsProcessingFeedback*)+0x2b6)[0x7ff6fd5aa6b8]
/docs/dev/qgis/QGIS/build-master04/output/lib/libqgis_core.so.2.99.0(QgsProcessingAlgRunnerTask::run()+0xb7)[0x7ff6fd5b0b21]
/docs/dev/qgis/QGIS/build-master04/output/python/qgis/_core.so(sipQgsProcessingAlgRunnerTask::run()+0x72)[0x7ff64f0ac6c2]
/docs/dev/qgis/QGIS/build-master04/output/lib/libqgis_core.so.2.99.0(QgsTask::start()+0xcc)[0x7ff6fd8cb26e]
/docs/dev/qgis/QGIS/build-master04/output/lib/libqgis_core.so.2.99.0(+0x956b20)[0x7ff6fd8ceb20]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0xa22d3)[0x7ff6fbf6f2d3]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0xa57be)[0x7ff6fbf727be]
src/core/qgsmessagelog.cpp: 27: (logMessage) [51ms] [thread:0x7ff634001940] 2018-02-11T17:27:51 Qt[1] GEOS exception: IllegalArgumentException: geometries must not contain null elements

Warning: Qt Concurrent has caught an exception thrown from a worker thread.
This is not supported, exceptions thrown in worker threads must be
caught before control returns to Qt Concurrent.
Stacktrace (piped through c++filt):
/docs/dev/qgis/QGIS/build-master04/output/bin/qgis[0x40cfa3]
/docs/dev/qgis/QGIS/build-master04/output/bin/qgis[0x40d4b0]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0x914c6)[0x7ff6fbf5e4c6]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(QMessageLogger::warning(char const*, ...) const+0xac)[0x7ff6fbf5f28c]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0xa253a)[0x7ff6fbf6f53a]
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5(+0xa57be)[0x7ff6fbf727be]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7ff6f41296ba]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7ff6fb6723dd]
src/core/qgsmessagelog.cpp: 27: (logMessage) [26ms] [thread:0x7ff634001940] 2018-02-11T17:27:51 Qt[1] Qt Concurrent has caught an exception thrown from a worker thread.
This is not supported, exceptions thrown in worker threads must be
caught before control returns to Qt Concurrent.
terminate called after throwing an instance of 'GEOSException'
  what():  IllegalArgumentException: geometries must not contain null elements


@qgib
Copy link
Contributor Author

qgib commented Feb 12, 2018

Author Name: Nyall Dawson (@nyalldawson)


PR at #6314


  • pull_request_patch_supplied was changed from 0 to 1

@qgib
Copy link
Contributor Author

qgib commented Feb 12, 2018

Author Name: Nyall Dawson (@nyalldawson)


Applied in changeset 5431a2d.


  • done_ratio was changed from 0 to 100
  • status_id was changed from Open to Closed

@qgib qgib closed this as completed Feb 12, 2018
@qgib
Copy link
Contributor Author

qgib commented Feb 21, 2018

Author Name: Giovanni Manghi (@gioman)


  • resolution was changed from to fixed/implemented

@qgib qgib added Bug Either a bug report, or a bug fix. Let's hope for the latter! Processing Relating to QGIS Processing framework or individual Processing algorithms Crash/Data Corruption labels May 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption Processing Relating to QGIS Processing framework or individual Processing algorithms
Projects
None yet
Development

No branches or pull requests

1 participant